Skip to main content

attack-stix-lookup

Compact MITRE ATT&CK v18.1 STIX 2.1 lookup data with Python helper functions.

Extracted from mitre-attack/attack-stix-data enterprise-attack-18.1.json using attack-stix-splitter-v1.0.py.

Installation

pip install attack-stix-lookup

Quick Start

from attack_stix_lookup import AttackLookup

db = AttackLookup()

# Look up a technique by ATT&CK ID
t1490 = db.technique("T1490")
print(t1490["stix_id"])      # attack-pattern--f5d8eed6-...
print(t1490["name"])          # Inhibit System Recovery
print(t1490["tactics"])       # ['impact']

# Look up software by ATT&CK ID
revil = db.software("S0496")
print(revil["stix_id"])       # malware--ac61f1f9-...
print(revil["aliases"])       # ['REvil', 'Sodinokibi']

# Find all techniques a piece of software uses
techs = db.relationships_for(source_id=revil["stix_id"], rel_type="uses")
for rel in techs:
    t = db.technique_by_stix_id(rel["target_ref"])
    if t:
        print(f"  {t['external_id']} {t['name']}")

# Look up detection strategies for a technique
strategies = db.detection_strategies_for_technique(t1490["stix_id"])
for s in strategies:
    print(f"  {s['name']} -> {len(s['analytic_refs'])} analytics")

# Look up an analytic and its mutable elements
analytic = db.analytic("AN0001")  # by external_id
# or by STIX ID:
analytic = db.analytic_by_stix_id("x-mitre-analytic--aaaaaaaa-...")

# Look up a data component
dc = db.data_component("Process Creation")  # by name

# Look up groups and campaigns
apt29 = db.group("G0016")
campaign = db.campaign("C0001")

# Get a mitigation
m1053 = db.mitigation("M1053")

# Look up a tactic
impact = db.tactic("TA0040")

# Search by name substring (case-insensitive)
results = db.search_techniques("shadow")
results = db.search_software("sodinokibi")

Data Files

The package bundles 7 JSON lookup files:

File Contents
attack-patterns-lookup-v18.1.json Techniques & sub-techniques
software-lookup-v18.1.json Malware & tools
groups-campaigns-lookup-v18.1.json Intrusion sets & campaigns
detection-objects-lookup-v18.1.json Detection strategies, analytics, data components
relationships-lookup-v18.1.json All STIX Relationship Objects
mitigations-lookup-v18.1.json Courses of action
infrastructure-lookup-v18.1.json Tactics, matrices, identities, markings

Direct JSON Access

from attack_stix_lookup import load_raw

attack_patterns = load_raw("attack-patterns-lookup-v18.1.json")
relationships = load_raw("relationships-lookup-v18.1.json")

ATT&CK Data Version

  • ATT&CK Version: v18.1 (Enterprise)
  • ATT&CK Spec Version: 3.3.0
  • Source: enterprise-attack-18.1.json

License

MIT. ATT&CK data is Copyright © The MITRE Corporation, used under ATT&CK Terms of Use.

Metadata

Release files for attack-stix-lookup 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for attack-stix-lookup 0.1.0
File Size Uploaded
attack_stix_lookup-0.1.0.tar.gz 2.6 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for attack-stix-lookup 0.1.0
File Interpreter ABI Platform
attack_stix_lookup-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 5.2 MB

Release files / attack_stix_lookup-0.1.0.tar.gz

Download URL attack_stix_lookup-0.1.0.tar.gz
Size 2.6 MB
Tags Source
SHA-256 checksum
How to use checksums
7e323b2f71679a65641892a2ed889896fc35e8e004745c344f5661b30e513121
BLAKE2b-256 checksum
How to use checksums
e9fec36f343ab6211fe88894c9c0675f24fbe98cae8162fcc726b29d729b4927
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.6

Release files / attack_stix_lookup-0.1.0-py3-none-any.whl

Download URL attack_stix_lookup-0.1.0-py3-none-any.whl
Size 2.7 MB
Tags Python 3
SHA-256 checksum
How to use checksums
d1b2c96056a61364aaddb1f76175fb8aff3cbeb32bd9d817cc14f630f48696fa
BLAKE2b-256 checksum
How to use checksums
53e08ad1965a355370a8aec7f3e6d5b4ee4e141d1e7f044571d0a01b88e5ee1a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.6

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page