-
Notifications
You must be signed in to change notification settings - Fork 116
Description
I am trying to use STIX & MitreAttackData in Python to create a list of data components for each MITRE technique.
Currently, I use a MitreAttackData (https://mitreattack-python.readthedocs.io/en/latest/mitre_attack_data/mitre_attack_data.html) object with the get_datacomponents_detecting_technique(stix_id) function to get all the data components that detect a given technique. I am using the up-to-date JSON file representing STIX data for this (https://raw.githubusercontent.com/mitre-attack/attack-stix-data/refs/heads/master/enterprise-attack/enterprise-attack.json). For each technique, it returns an empty list.
I noticed in the JSON file there is an x_mitre_data_source_ref for each data component in the JSON file, but it is empty for all data components. Additionally, the x_mitre_detection field for each of the attack patterns is also empty. How is the relationship between techniques (attack patterns) and data components possible without a linking reference? I imagine this is what is causing the empty lists.
I can get all data components from the MitreAttackData object, but I cannot get all data components that detect specific techniques. How can I use the enterprise-attack JSON file to do this, or do I need to use a different file and/or a different Python library?