What it does. 'Map advanced persistent threat (APT) group TTPs to the MITRE ATT&CK framework using the attackcti Python library to query STIX/TAXII data for group-technique associations, then generate ATT&CK Navigator layer files to visualize and compare defensive coverage against adversary profiles. Use when profiling an APT group''s techniques, building Navigator coverage heatmaps, or assessing technique coverage gaps against a specific threat actor. Part of mukul975/Anthropic-Cybersecurity-Skills (817 security skills) (mukul975/Anthropic-Cybersecurity-Skills).
Install
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill analyzing-threat-actor-ttps-with-mitre-navigator, or copy the skill folder into ~/.claude/skills/analyzing-threat-actor-ttps-with-mitre-navigator/.
- Raw file:
curl -sL https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/HEAD/skills/analyzing-threat-actor-ttps-with-mitre-navigator/SKILL.md
SKILL.md (verbatim)
name: analyzing-threat-actor-ttps-with-mitre-navigator
description: 'Map advanced persistent threat (APT) group TTPs to the MITRE ATT&CK framework using the attackcti Python library to query STIX/TAXII data for group-technique associations, then generate ATT&CK Navigator layer files to visualize and compare defensive coverage against adversary profiles. Use when profiling an APT group''s techniques, building Navigator coverage heatmaps, or assessing technique coverage gaps against a specific threat actor.
'
domain: cybersecurity
subdomain: threat-intelligence
tags:
- mitre-attack
- navigator
- threat-intelligence
- apt
- ttp-mapping
- stix
- attackcti
version: '1.0'
author: mahipal
license: Apache-2.0
nist_ai_rmf:
- MEASURE-2.7
- MAP-5.1
- MANAGE-2.4
atlas_techniques:
- AML.T0070
- AML.T0066
- AML.T0082
d3fend_techniques:
- File Metadata Consistency Validation
- Application Protocol Command Analysis
- Identifier Analysis
- Content Format Conversion
- Message Analysis
nist_csf:
- ID.RA-01
- ID.RA-05
- DE.CM-01
- DE.AE-02
mitre_attack:
- T1566.001
- T1059.001
- T1071.001
- T1547.001
- T1053.005
Analyzing Threat Actor TTPs with MITRE Navigator
Overview
The MITRE ATT&CK Navigator is a web application for annotating and visualizing ATT&CK matrices.
Combined with the attackcti Python library (which queries ATT&CK STIX data via TAXII), analysts
can programmatically generate Navigator layer files mapping specific threat group TTPs, compare
multiple groups, and assess detection coverage gaps against known adversaries.
When to Use
- When investigating security incidents that require analyzing threat actor ttps with mitre navigator
- When building detection rules or threat hunting queries for this domain
- When SOC analysts need structured procedures for this analysis type
- When validating security monitoring coverage for related attack techniques
Prerequisites
- Python 3.8+ with attackcti and stix2 libraries installed
- MITRE ATT&CK Navigator (web UI or local instance)
- Understanding of STIX 2.1 objects and relationships
Steps
- Query ATT&CK STIX data for target threat group using attackcti
- Extract techniques associated with the group via STIX relationships
- Generate ATT&CK Navigator layer JSON with technique annotations
- Overlay detection coverage to identify gaps
- Export layer for team review and defensive planning
Expected Output
{
"name": "APT29 TTPs",
"domain": "enterprise-attack",
"techniques": [
{"techniqueID": "T1566.001", "score": 1, "comment": "Spearphishing Attachment"},
{"techniqueID": "T1059.001", "score": 1, "comment": "PowerShell"}
]
}
Other files in this skill
references/api-reference.md (verbatim)
Analyzing Threat Actor TTPs with MITRE Navigator — API Reference
attackcti Python Library
| Method |
Description |
attack_client() |
Initialize STIX/TAXII client for ATT&CK data |
client.get_groups() |
Retrieve all threat groups from ATT&CK |
client.get_techniques() |
Retrieve all techniques from ATT&CK |
client.get_techniques_used_by_group(group) |
Get techniques linked to a specific group |
client.get_software() |
Retrieve all software/tools from ATT&CK |
client.get_software_used_by_group(group) |
Get software used by a specific group |
client.get_mitigations() |
Retrieve all mitigations from ATT&CK |
client.get_data_sources() |
Retrieve all data sources from ATT&CK |
STIX 2.1 Group Object Fields
| Field |
Description |
id |
STIX object ID (e.g., intrusion-set--abc123) |
name |
Group name (e.g., APT29) |
aliases |
Alternative names for the group |
description |
Group description and background |
external_references |
List of references including ATT&CK ID |
created |
Object creation timestamp |
modified |
Last modification timestamp |
STIX 2.1 Technique Object Fields
| Field |
Description |
name |
Technique name (e.g., Spearphishing Attachment) |
external_references[].external_id |
ATT&CK technique ID (e.g., T1566.001) |
x_mitre_platforms |
Target platforms (Windows, Linux, macOS) |
kill_chain_phases |
Associated tactics in the kill chain |
x_mitre_detection |
Detection guidance for the technique |
x_mitre_is_subtechnique |
Whether this is a sub-technique |
ATT&CK Navigator Layer JSON Schema
| Field |
Type |
Description |
name |
string |
Layer display name |
versions.attack |
string |
ATT&CK version (e.g., "15") |
versions.navigator |
string |
Navigator version (e.g., "5.0") |
versions.layer |
string |
Layer format version (e.g., "4.5") |
domain |
string |
enterprise-attack, mobile-attack, or ics-attack |
techniques[].techniqueID |
string |
ATT&CK technique ID |
techniques[].score |
integer |
Numeric score for coloring (0-100) |
techniques[].color |
string |
Hex color override (e.g., #ff6666) |
techniques[].comment |
string |
Annotation text for the technique |
techniques[].enabled |
boolean |
Whether technique cell is enabled |
gradient.colors |
array |
Color gradient from min to max score |
gradient.minValue |
integer |
Minimum score value |
gradient.maxValue |
integer |
Maximum score value |
filters.platforms |
array |
Platforms to display in the matrix |
legendItems[].label |
string |
Legend entry label |
legendItems[].color |
string |
Legend entry color |
CLI Usage
# List all ATT&CK threat groups
python agent.py --list-groups
# Analyze a specific group
python agent.py --group "APT29"
# Generate Navigator layer file
python agent.py --group "APT29" --layer-output apt29_layer.json
# Compare multiple groups
python agent.py --compare "APT29" "APT28" "Lazarus Group"
# Save full report as JSON
python agent.py --group "APT29" --layer-output apt29.json --output report.json
External References
Back to mukul975/Anthropic-Cybersecurity-Skills (817 security skills) or Agent skills.