Skip to content

Getting All Data Components That Detect A Technique #61

@GabrielSaul

Description

@GabrielSaul

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions