[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6AFEGA6NVNM0D9TW2PYHWAA":3,"skill-same:01M6AFEGA6NVNM0D9TW2PYHWAA":121},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":80,"commitSha":81,"skillDirectory":82,"forksCount":83,"repositoryHtmlUrl":84,"repositoryHomepageUrl":85,"ownerHtmlUrl":86,"ownerBlogUrl":87,"ownerDescription":88,"updatedAt":89,"install":90,"resources":103},"01M6AFEGA6NVNM0D9TW2PYHWAA","implementing-threat-modeling-with-mitre-attack",null,"Implements threat modeling using the MITRE ATT&CK framework to map adversary TTPs against organizational assets, assess detection coverage gaps, and prioritize defensive investments. Use when SOC teams need to align detection engineering with threat landscape, conduct threat assessments for new environments, or justify security tool procurement.","mukul975\u002FAnthropic-Cybersecurity-Skills","mukul975","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F42860185?v=4","01M6ADEQR8T5M4EEG6C67BQCWF","Mahipal","01M6ADJPMYWG1E5GM1FWBE3128",36146,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fmukul975\u002FAnthropic-Cybersecurity-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fimplementing-threat-modeling-with-mitre-attack\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"threat modeling","implementing threat modeling with mitre attack","mitre attack","ATT&CK","security","attack-navigator","detection-coverage","t1566","TTP","risk","procurement","t1078","assessment","threat-modeling","soc","navigator","mitre-attack","cybersecurity","framework","teams","2026-11-10 10:12:30",false,"---\nname: implementing-threat-modeling-with-mitre-attack\ndescription: 'Implements threat modeling using the MITRE ATT&CK framework to map adversary\n  TTPs against organizational assets, assess detection coverage gaps, and prioritize\n  defensive investments. Use when SOC teams need to align detection engineering with\n  threat landscape, conduct threat assessments for new environments, or justify security\n  tool procurement.\n\n  '\ndomain: cybersecurity\nsubdomain: soc-operations\ntags:\n- soc\n- mitre-attack\n- threat-modeling\n- ttp\n- detection-coverage\n- attack-navigator\n- risk-assessment\nversion: '1.0'\nauthor: mahipal\nlicense: Apache-2.0\nnist_ai_rmf:\n- MEASURE-2.7\n- MAP-5.1\n- MANAGE-2.4\natlas_techniques:\n- AML.T0070\n- AML.T0066\n- AML.T0082\nd3fend_techniques:\n- File Metadata Consistency Validation\n- Application Protocol Command Analysis\n- Identifier Analysis\n- Content Format Conversion\n- Message Analysis\nnist_csf:\n- DE.CM-01\n- DE.AE-02\n- RS.MA-01\n- DE.AE-06\nmitre_attack:\n- T1078\n- T1685.002\n- T1685.005\n- T1566\n---\n# Implementing Threat Modeling with MITRE ATT&CK\n\n## When to Use\n\nUse this skill when:\n- SOC teams need to assess detection coverage against relevant threat actors and their TTPs\n- Security leadership requires threat-informed defense prioritization\n- New environments (cloud migration, OT integration) need detection strategy planning\n- Purple team exercises require structured adversary emulation based on threat models\n- Annual risk assessments need ATT&CK-based threat landscape analysis\n\n**Do not use** as a one-time exercise — threat models must be continuously updated as adversary TTPs evolve and organizational attack surface changes.\n\n## Prerequisites\n\n- MITRE ATT&CK framework knowledge (Enterprise, ICS, Mobile, or Cloud matrices)\n- ATT&CK Navigator tool (web or local) for layer visualization\n- Current detection rule inventory mapped to ATT&CK technique IDs\n- Threat intelligence on adversary groups targeting your sector\n- Organizational asset inventory with criticality classifications\n\n## Workflow\n\n### Step 1: Identify Relevant Threat Actors\n\nResearch adversary groups targeting your sector using MITRE ATT&CK Groups:\n\n```python\nimport requests\nimport json\n\n# Download ATT&CK STIX data\nresponse = requests.get(\n    \"https:\u002F\u002Fraw.githubusercontent.com\u002Fmitre\u002Fcti\u002Fmaster\u002Fenterprise-attack\u002Fenterprise-attack.json\"\n)\nattack_data = response.json()\n\n# Extract groups and their techniques\ngroups = {}\nfor obj in attack_data[\"objects\"]:\n    if obj[\"type\"] == \"intrusion-set\":\n        group_name = obj[\"name\"]\n        aliases = obj.get(\"aliases\", [])\n        description = obj.get(\"description\", \"\")\n        groups[group_name] = {\n            \"aliases\": aliases,\n            \"description\": description[:200],\n            \"techniques\": []\n        }\n\n# Map techniques to groups via relationships\nrelationships = [obj for obj in attack_data[\"objects\"] if obj[\"type\"] == \"relationship\"]\ntechniques = {obj[\"id\"]: obj for obj in attack_data[\"objects\"]\n              if obj[\"type\"] == \"attack-pattern\"}\n\nfor rel in relationships:\n    if rel[\"relationship_type\"] == \"uses\":\n        source = rel[\"source_ref\"]\n        target = rel[\"target_ref\"]\n        for group_name, group_data in groups.items():\n            if source == group_data.get(\"id\") and target in techniques:\n                tech = techniques[target]\n                ext_refs = tech.get(\"external_references\", [])\n                for ref in ext_refs:\n                    if ref.get(\"source_name\") == \"mitre-attack\":\n                        group_data[\"techniques\"].append(ref[\"external_id\"])\n\n# Example: Financial sector threat actors\nfinancial_actors = [\"FIN7\", \"FIN8\", \"Carbanak\", \"APT38\", \"Lazarus Group\"]\nfor actor in financial_actors:\n    if actor in groups:\n        print(f\"{actor}: {len(groups[actor]['techniques'])} techniques\")\n        print(f\"  Top techniques: {groups[actor]['techniques'][:10]}\")\n```\n\n### Step 2: Build Threat Actor TTP Profile\n\nCreate ATT&CK Navigator layers for priority threat actors:\n\n```python\nimport json\n\ndef create_attack_layer(actor_name, techniques, color=\"#ff6666\"):\n    \"\"\"Generate ATT&CK Navigator JSON layer for a threat actor\"\"\"\n    layer = {\n        \"name\": f\"{actor_name} TTP Profile\",\n        \"versions\": {\n            \"attack\": \"15\",\n            \"navigator\": \"5.0\",\n            \"layer\": \"4.5\"\n        },\n        \"domain\": \"enterprise-attack\",\n        \"description\": f\"Techniques associated with {actor_name}\",\n        \"techniques\": [\n            {\n                \"techniqueID\": tech_id,\n                \"tactic\": \"\",\n                \"color\": color,\n                \"comment\": f\"Used by {actor_name}\",\n                \"enabled\": True,\n                \"score\": 1\n            }\n            for tech_id in techniques\n        ],\n        \"gradient\": {\n            \"colors\": [\"#ffffff\", color],\n            \"minValue\": 0,\n            \"maxValue\": 1\n        }\n    }\n    return layer\n\n# Create layers for top threat actors\nfin7_techniques = [\"T1566.001\", \"T1059.001\", \"T1053.005\", \"T1547.001\",\n                    \"T1078\", \"T1021.001\", \"T1003\", \"T1071.001\", \"T1041\"]\nlayer = create_attack_layer(\"FIN7\", fin7_techniques, \"#ff6666\")\n\nwith open(\"fin7_layer.json\", \"w\") as f:\n    json.dump(layer, f, indent=2)\n```\n\n### Step 3: Map Current Detection Coverage\n\nExport current detection rules mapped to ATT&CK:\n\n```spl\n--- Extract ATT&CK technique mappings from Splunk ES correlation searches\n| rest \u002Fservices\u002Fsaved\u002Fsearches\n  splunk_server=local\n| where match(title, \"^(COR|ESCU|RBA):\")\n| eval techniques = if(isnotnull(action.correlationsearch.annotations),\n                       spath(action.correlationsearch.annotations, \"mitre_attack\"),\n                       \"unmapped\")\n| stats count by techniques\n| mvexpand techniques\n| stats count by techniques\n| rename techniques AS technique_id, count AS rule_count\n```\n\nCreate detection coverage layer:\n\n```python\ndef create_coverage_layer(detection_rules):\n    \"\"\"Generate coverage layer from detection rule inventory\"\"\"\n    technique_counts = {}\n    for rule in detection_rules:\n        for tech in rule.get(\"techniques\", []):\n            technique_counts[tech] = technique_counts.get(tech, 0) + 1\n\n    layer = {\n        \"name\": \"SOC Detection Coverage\",\n        \"versions\": {\"attack\": \"15\", \"navigator\": \"5.0\", \"layer\": \"4.5\"},\n        \"domain\": \"enterprise-attack\",\n        \"techniques\": [\n            {\n                \"techniqueID\": tech_id,\n                \"color\": \"#31a354\" if count >= 2 else \"#a1d99b\" if count == 1 else \"\",\n                \"score\": count,\n                \"comment\": f\"{count} detection rule(s)\"\n            }\n            for tech_id, count in technique_counts.items()\n        ],\n        \"gradient\": {\n            \"colors\": [\"#ffffff\", \"#a1d99b\", \"#31a354\"],\n            \"minValue\": 0,\n            \"maxValue\": 3\n        }\n    }\n    return layer\n```\n\n### Step 4: Perform Gap Analysis\n\nOverlay threat actor TTPs against detection coverage:\n\n```python\ndef gap_analysis(threat_techniques, covered_techniques):\n    \"\"\"Identify detection gaps for specific threat actor\"\"\"\n    gaps = set(threat_techniques) - set(covered_techniques)\n    covered = set(threat_techniques) & set(covered_techniques)\n\n    print(f\"Threat Actor Techniques: {len(threat_techniques)}\")\n    print(f\"Detected: {len(covered)} ({len(covered)\u002Flen(threat_techniques)*100:.0f}%)\")\n    print(f\"Gaps: {len(gaps)} ({len(gaps)\u002Flen(threat_techniques)*100:.0f}%)\")\n\n    # Prioritize gaps by kill chain phase\n    priority_order = {\n        \"TA0001\": 1, \"TA0002\": 2, \"TA0003\": 3, \"TA0004\": 4,\n        \"TA0005\": 5, \"TA0006\": 6, \"TA0007\": 7, \"TA0008\": 8,\n        \"TA0009\": 9, \"TA0010\": 10, \"TA0011\": 11, \"TA0040\": 12\n    }\n\n    gap_details = []\n    for tech_id in gaps:\n        gap_details.append({\n            \"technique\": tech_id,\n            \"priority\": \"HIGH\" if tech_id.split(\".\")[0] in [\"T1003\", \"T1021\", \"T1059\"] else \"MEDIUM\",\n            \"recommendation\": f\"Build detection for {tech_id}\"\n        })\n\n    return {\n        \"total_actor_techniques\": len(threat_techniques),\n        \"covered\": len(covered),\n        \"gaps\": len(gaps),\n        \"coverage_pct\": round(len(covered)\u002Flen(threat_techniques)*100, 1),\n        \"gap_details\": sorted(gap_details, key=lambda x: x[\"priority\"])\n    }\n\n# Run analysis\nresult = gap_analysis(fin7_techniques, current_coverage)\n```\n\n### Step 5: Create Prioritized Remediation Plan\n\nBuild a detection engineering roadmap:\n\n```yaml\nthreat_model_remediation_plan:\n  assessed_date: 2024-03-15\n  primary_threats:\n    - FIN7 (Financial sector)\n    - APT38 (DPRK financial)\n    - Lazarus Group (Destructive)\n\n  current_coverage: 64%\n  target_coverage: 80%\n\n  priority_1_gaps: # 30-day target\n    - technique: T1021.002\n      name: SMB\u002FWindows Admin Shares\n      data_source: Windows Security Event 5140\n      effort: Low\n      detection_approach: Monitor admin share access from non-admin workstations\n\n    - technique: T1003.006\n      name: DCSync\n      data_source: Windows Security Event 4662\n      effort: Medium\n      detection_approach: Detect DS-Replication-Get-Changes from non-DC sources\n\n  priority_2_gaps: # 60-day target\n    - technique: T1055\n      name: Process Injection\n      data_source: Sysmon EventCode 8, 10\n      effort: High\n      detection_approach: Monitor cross-process memory access patterns\n\n    - technique: T1071.001\n      name: Web Protocols (C2)\n      data_source: Proxy\u002FFirewall logs\n      effort: Medium\n      detection_approach: Detect beaconing patterns in HTTP\u002FS traffic\n\n  priority_3_gaps: # 90-day target\n    - technique: T1070.004\n      name: File Deletion\n      data_source: Sysmon EventCode 23\n      effort: Low\n      detection_approach: Monitor mass file deletion in sensitive directories\n```\n\n### Step 6: Validate with Adversary Emulation\n\nTest coverage using MITRE Caldera or Atomic Red Team:\n\n```bash\n# Using Atomic Red Team to validate coverage for FIN7 techniques\n# T1566.001 — Spearphishing Attachment\nInvoke-AtomicTest T1566.001\n\n# T1059.001 — PowerShell\nInvoke-AtomicTest T1059.001 -TestNumbers 1,2,3\n\n# T1053.005 — Scheduled Task\nInvoke-AtomicTest T1053.005\n\n# T1547.001 — Registry Run Keys\nInvoke-AtomicTest T1547.001\n\n# T1003 — Credential Dumping\nInvoke-AtomicTest T1003 -TestNumbers 1,2\n\n# Verify detections\n# Check SIEM for corresponding alerts within 15 minutes\n```\n\nDocument emulation results to validate threat model accuracy.\n\n## Key Concepts\n\n| Term | Definition |\n|------|-----------|\n| **MITRE ATT&CK** | Knowledge base of adversary tactics, techniques, and procedures based on real-world observations |\n| **TTP** | Tactics, Techniques, and Procedures — the behavioral patterns of adversary groups |\n| **ATT&CK Navigator** | Web tool for visualizing ATT&CK matrices as layered heatmaps showing coverage or threat profiles |\n| **Gap Analysis** | Process of comparing threat actor TTPs against detection coverage to identify blind spots |\n| **Threat-Informed Defense** | Security strategy prioritizing defenses based on actual adversary behaviors rather than theoretical risks |\n| **Adversary Emulation** | Controlled simulation of threat actor TTPs to validate detection and response capabilities |\n\n## Tools & Systems\n\n- **MITRE ATT&CK Navigator**: Web-based visualization tool for creating and overlaying ATT&CK technique layers\n- **MITRE Caldera**: Automated adversary emulation platform for testing detection coverage at scale\n- **Atomic Red Team**: Open-source library of ATT&CK technique tests for security control validation\n- **CTID ATT&CK Workbench**: MITRE tool for customizing ATT&CK knowledge base with organizational context\n- **Tidal Cyber**: Commercial platform for threat-informed defense planning using ATT&CK framework\n\n## Common Scenarios\n\n- **Annual Threat Assessment**: Map top 5 threat actors to ATT&CK, overlay against detection, produce gap analysis\n- **Cloud Migration Planning**: Model cloud-specific threats (T1078.004, T1537) and plan detection coverage\n- **M&A Security Assessment**: Threat model the acquired company's environment against relevant threat actors\n- **Budget Justification**: Use gap analysis to demonstrate detection blind spots requiring tool investment\n- **Purple Team Planning**: Select adversary emulation scenarios based on highest-priority gaps from threat model\n\n## Output Format\n\n```\nTHREAT MODEL ASSESSMENT — Financial Services Division\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\nDate:             2024-03-15\nThreat Actors:    FIN7, APT38, Lazarus Group\nTechniques Total: 87 unique techniques across all actors\n\nDETECTION COVERAGE:\n  Covered:     56\u002F87 (64%)\n  Gaps:        31\u002F87 (36%)\n\n  Tactic Coverage Breakdown:\n    Initial Access:      78%  ████████░░\n    Execution:           82%  █████████░\n    Persistence:         71%  ████████░░\n    Priv Escalation:     65%  ███████░░░\n    Defense Evasion:     52%  ██████░░░░  \u003C-- Priority gap\n    Credential Access:   58%  ██████░░░░  \u003C-- Priority gap\n    Discovery:           45%  █████░░░░░\n    Lateral Movement:    61%  ███████░░░\n    Collection:          50%  ██████░░░░\n    Exfiltration:        55%  ██████░░░░\n    C2:                  67%  ███████░░░\n\nTOP PRIORITY GAPS (30-day remediation):\n  1. T1055 Process Injection — used by all 3 actors, 0 detections\n  2. T1003.006 DCSync — used by FIN7 and Lazarus, 0 detections\n  3. T1070.004 File Deletion — evidence destruction, 0 detections\n\nINVESTMENT RECOMMENDATION:\n  Closing top 10 gaps requires: 2 detection engineer FTEs, 60 days\n  Expected coverage improvement: 64% -> 76%\n```\n","# Implementing Threat Modeling with MITRE ATT&CK\n\n## When to Use\n\nUse this skill when:\n- SOC teams need to assess detection coverage against relevant threat actors and their TTPs\n- Security leadership requires threat-informed defense prioritization\n- New environments (cloud migration, OT integration) need detection strategy planning\n- Purple team exercises require structured adversary emulation based on threat models\n- Annual risk assessments need ATT&CK-based threat landscape analysis\n\n**Do not use** as a one-time exercise — threat models must be continuously updated as adversary TTPs evolve and organizational attack surface changes.\n\n## Prerequisites\n\n- MITRE ATT&CK framework knowledge (Enterprise, ICS, Mobile, or Cloud matrices)\n- ATT&CK Navigator tool (web or local) for layer visualization\n- Current detection rule inventory mapped to ATT&CK technique IDs\n- Threat intelligence on adversary groups targeting your sector\n- Organizational asset inventory with criticality classifications\n\n## Workflow\n\n### Step 1: Identify Relevant Threat Actors\n\nResearch adversary groups targeting your sector using MITRE ATT&CK Groups:\n\n```python\nimport requests\nimport json\n\n# Download ATT&CK STIX data\nresponse = requests.get(\n    \"https:\u002F\u002Fraw.githubusercontent.com\u002Fmitre\u002Fcti\u002Fmaster\u002Fenterprise-attack\u002Fenterprise-attack.json\"\n)\nattack_data = response.json()\n\n# Extract groups and their techniques\ngroups = {}\nfor obj in attack_data[\"objects\"]:\n    if obj[\"type\"] == \"intrusion-set\":\n        group_name = obj[\"name\"]\n        aliases = obj.get(\"aliases\", [])\n        description = obj.get(\"description\", \"\")\n        groups[group_name] = {\n            \"aliases\": aliases,\n            \"description\": description[:200],\n            \"techniques\": []\n        }\n\n# Map techniques to groups via relationships\nrelationships = [obj for obj in attack_data[\"objects\"] if obj[\"type\"] == \"relationship\"]\ntechniques = {obj[\"id\"]: obj for obj in attack_data[\"objects\"]\n              if obj[\"type\"] == \"attack-pattern\"}\n\nfor rel in relationships:\n    if rel[\"relationship_type\"] == \"uses\":\n        source = rel[\"source_ref\"]\n        target = rel[\"target_ref\"]\n        for group_name, group_data in groups.items():\n            if source == group_data.get(\"id\") and target in techniques:\n                tech = techniques[target]\n                ext_refs = tech.get(\"external_references\", [])\n                for ref in ext_refs:\n                    if ref.get(\"source_name\") == \"mitre-attack\":\n                        group_data[\"techniques\"].append(ref[\"external_id\"])\n\n# Example: Financial sector threat actors\nfinancial_actors = [\"FIN7\", \"FIN8\", \"Carbanak\", \"APT38\", \"Lazarus Group\"]\nfor actor in financial_actors:\n    if actor in groups:\n        print(f\"{actor}: {len(groups[actor]['techniques'])} techniques\")\n        print(f\"  Top techniques: {groups[actor]['techniques'][:10]}\")\n```\n\n### Step 2: Build Threat Actor TTP Profile\n\nCreate ATT&CK Navigator layers for priority threat actors:\n\n```python\nimport json\n\ndef create_attack_layer(actor_name, techniques, color=\"#ff6666\"):\n    \"\"\"Generate ATT&CK Navigator JSON layer for a threat actor\"\"\"\n    layer = {\n        \"name\": f\"{actor_name} TTP Profile\",\n        \"versions\": {\n            \"attack\": \"15\",\n            \"navigator\": \"5.0\",\n            \"layer\": \"4.5\"\n        },\n        \"domain\": \"enterprise-attack\",\n        \"description\": f\"Techniques associated with {actor_name}\",\n        \"techniques\": [\n            {\n                \"techniqueID\": tech_id,\n                \"tactic\": \"\",\n                \"color\": color,\n                \"comment\": f\"Used by {actor_name}\",\n                \"enabled\": True,\n                \"score\": 1\n            }\n            for tech_id in techniques\n        ],\n        \"gradient\": {\n            \"colors\": [\"#ffffff\", color],\n            \"minValue\": 0,\n            \"maxValue\": 1\n        }\n    }\n    return layer\n\n# Create layers for top threat actors\nfin7_techniques = [\"T1566.001\", \"T1059.001\", \"T1053.005\", \"T1547.001\",\n                    \"T1078\", \"T1021.001\", \"T1003\", \"T1071.001\", \"T1041\"]\nlayer = create_attack_layer(\"FIN7\", fin7_techniques, \"#ff6666\")\n\nwith open(\"fin7_layer.json\", \"w\") as f:\n    json.dump(layer, f, indent=2)\n```\n\n### Step 3: Map Current Detection Coverage\n\nExport current detection rules mapped to ATT&CK:\n\n```spl\n--- Extract ATT&CK technique mappings from Splunk ES correlation searches\n| rest \u002Fservices\u002Fsaved\u002Fsearches\n  splunk_server=local\n| where match(title, \"^(COR|ESCU|RBA):\")\n| eval techniques = if(isnotnull(action.correlationsearch.annotations),\n                       spath(action.correlationsearch.annotations, \"mitre_attack\"),\n                       \"unmapped\")\n| stats count by techniques\n| mvexpand techniques\n| stats count by techniques\n| rename techniques AS technique_id, count AS rule_count\n```\n\nCreate detection coverage layer:\n\n```python\ndef create_coverage_layer(detection_rules):\n    \"\"\"Generate coverage layer from detection rule inventory\"\"\"\n    technique_counts = {}\n    for rule in detection_rules:\n        for tech in rule.get(\"techniques\", []):\n            technique_counts[tech] = technique_counts.get(tech, 0) + 1\n\n    layer = {\n        \"name\": \"SOC Detection Coverage\",\n        \"versions\": {\"attack\": \"15\", \"navigator\": \"5.0\", \"layer\": \"4.5\"},\n        \"domain\": \"enterprise-attack\",\n        \"techniques\": [\n            {\n                \"techniqueID\": tech_id,\n                \"color\": \"#31a354\" if count >= 2 else \"#a1d99b\" if count == 1 else \"\",\n                \"score\": count,\n                \"comment\": f\"{count} detection rule(s)\"\n            }\n            for tech_id, count in technique_counts.items()\n        ],\n        \"gradient\": {\n            \"colors\": [\"#ffffff\", \"#a1d99b\", \"#31a354\"],\n            \"minValue\": 0,\n            \"maxValue\": 3\n        }\n    }\n    return layer\n```\n\n### Step 4: Perform Gap Analysis\n\nOverlay threat actor TTPs against detection coverage:\n\n```python\ndef gap_analysis(threat_techniques, covered_techniques):\n    \"\"\"Identify detection gaps for specific threat actor\"\"\"\n    gaps = set(threat_techniques) - set(covered_techniques)\n    covered = set(threat_techniques) & set(covered_techniques)\n\n    print(f\"Threat Actor Techniques: {len(threat_techniques)}\")\n    print(f\"Detected: {len(covered)} ({len(covered)\u002Flen(threat_techniques)*100:.0f}%)\")\n    print(f\"Gaps: {len(gaps)} ({len(gaps)\u002Flen(threat_techniques)*100:.0f}%)\")\n\n    # Prioritize gaps by kill chain phase\n    priority_order = {\n        \"TA0001\": 1, \"TA0002\": 2, \"TA0003\": 3, \"TA0004\": 4,\n        \"TA0005\": 5, \"TA0006\": 6, \"TA0007\": 7, \"TA0008\": 8,\n        \"TA0009\": 9, \"TA0010\": 10, \"TA0011\": 11, \"TA0040\": 12\n    }\n\n    gap_details = []\n    for tech_id in gaps:\n        gap_details.append({\n            \"technique\": tech_id,\n            \"priority\": \"HIGH\" if tech_id.split(\".\")[0] in [\"T1003\", \"T1021\", \"T1059\"] else \"MEDIUM\",\n            \"recommendation\": f\"Build detection for {tech_id}\"\n        })\n\n    return {\n        \"total_actor_techniques\": len(threat_techniques),\n        \"covered\": len(covered),\n        \"gaps\": len(gaps),\n        \"coverage_pct\": round(len(covered)\u002Flen(threat_techniques)*100, 1),\n        \"gap_details\": sorted(gap_details, key=lambda x: x[\"priority\"])\n    }\n\n# Run analysis\nresult = gap_analysis(fin7_techniques, current_coverage)\n```\n\n### Step 5: Create Prioritized Remediation Plan\n\nBuild a detection engineering roadmap:\n\n```yaml\nthreat_model_remediation_plan:\n  assessed_date: 2024-03-15\n  primary_threats:\n    - FIN7 (Financial sector)\n    - APT38 (DPRK financial)\n    - Lazarus Group (Destructive)\n\n  current_coverage: 64%\n  target_coverage: 80%\n\n  priority_1_gaps: # 30-day target\n    - technique: T1021.002\n      name: SMB\u002FWindows Admin Shares\n      data_source: Windows Security Event 5140\n      effort: Low\n      detection_approach: Monitor admin share access from non-admin workstations\n\n    - technique: T1003.006\n      name: DCSync\n      data_source: Windows Security Event 4662\n      effort: Medium\n      detection_approach: Detect DS-Replication-Get-Changes from non-DC sources\n\n  priority_2_gaps: # 60-day target\n    - technique: T1055\n      name: Process Injection\n      data_source: Sysmon EventCode 8, 10\n      effort: High\n      detection_approach: Monitor cross-process memory access patterns\n\n    - technique: T1071.001\n      name: Web Protocols (C2)\n      data_source: Proxy\u002FFirewall logs\n      effort: Medium\n      detection_approach: Detect beaconing patterns in HTTP\u002FS traffic\n\n  priority_3_gaps: # 90-day target\n    - technique: T1070.004\n      name: File Deletion\n      data_source: Sysmon EventCode 23\n      effort: Low\n      detection_approach: Monitor mass file deletion in sensitive directories\n```\n\n### Step 6: Validate with Adversary Emulation\n\nTest coverage using MITRE Caldera or Atomic Red Team:\n\n```bash\n# Using Atomic Red Team to validate coverage for FIN7 techniques\n# T1566.001 — Spearphishing Attachment\nInvoke-AtomicTest T1566.001\n\n# T1059.001 — PowerShell\nInvoke-AtomicTest T1059.001 -TestNumbers 1,2,3\n\n# T1053.005 — Scheduled Task\nInvoke-AtomicTest T1053.005\n\n# T1547.001 — Registry Run Keys\nInvoke-AtomicTest T1547.001\n\n# T1003 — Credential Dumping\nInvoke-AtomicTest T1003 -TestNumbers 1,2\n\n# Verify detections\n# Check SIEM for corresponding alerts within 15 minutes\n```\n\nDocument emulation results to validate threat model accuracy.\n\n## Key Concepts\n\n| Term | Definition |\n|------|-----------|\n| **MITRE ATT&CK** | Knowledge base of adversary tactics, techniques, and procedures based on real-world observations |\n| **TTP** | Tactics, Techniques, and Procedures — the behavioral patterns of adversary groups |\n| **ATT&CK Navigator** | Web tool for visualizing ATT&CK matrices as layered heatmaps showing coverage or threat profiles |\n| **Gap Analysis** | Process of comparing threat actor TTPs against detection coverage to identify blind spots |\n| **Threat-Informed Defense** | Security strategy prioritizing defenses based on actual adversary behaviors rather than theoretical risks |\n| **Adversary Emulation** | Controlled simulation of threat actor TTPs to validate detection and response capabilities |\n\n## Tools & Systems\n\n- **MITRE ATT&CK Navigator**: Web-based visualization tool for creating and overlaying ATT&CK technique layers\n- **MITRE Caldera**: Automated adversary emulation platform for testing detection coverage at scale\n- **Atomic Red Team**: Open-source library of ATT&CK technique tests for security control validation\n- **CTID ATT&CK Workbench**: MITRE tool for customizing ATT&CK knowledge base with organizational context\n- **Tidal Cyber**: Commercial platform for threat-informed defense planning using ATT&CK framework\n\n## Common Scenarios\n\n- **Annual Threat Assessment**: Map top 5 threat actors to ATT&CK, overlay against detection, produce gap analysis\n- **Cloud Migration Planning**: Model cloud-specific threats (T1078.004, T1537) and plan detection coverage\n- **M&A Security Assessment**: Threat model the acquired company's environment against relevant threat actors\n- **Budget Justification**: Use gap analysis to demonstrate detection blind spots requiring tool investment\n- **Purple Team Planning**: Select adversary emulation scenarios based on highest-priority gaps from threat model\n\n## Output Format\n\n```\nTHREAT MODEL ASSESSMENT — Financial Services Division\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\nDate:             2024-03-15\nThreat Actors:    FIN7, APT38, Lazarus Group\nTechniques Total: 87 unique techniques across all actors\n\nDETECTION COVERAGE:\n  Covered:     56\u002F87 (64%)\n  Gaps:        31\u002F87 (36%)\n\n  Tactic Coverage Breakdown:\n    Initial Access:      78%  ████████░░\n    Execution:           82%  █████████░\n    Persistence:         71%  ████████░░\n    Priv Escalation:     65%  ███████░░░\n    Defense Evasion:     52%  ██████░░░░  \u003C-- Priority gap\n    Credential Access:   58%  ██████░░░░  \u003C-- Priority gap\n    Discovery:           45%  █████░░░░░\n    Lateral Movement:    61%  ███████░░░\n    Collection:          50%  ██████░░░░\n    Exfiltration:        55%  ██████░░░░\n    C2:                  67%  ███████░░░\n\nTOP PRIORITY GAPS (30-day remediation):\n  1. T1055 Process Injection — used by all 3 actors, 0 detections\n  2. T1003.006 DCSync — used by FIN7 and Lazarus, 0 detections\n  3. T1070.004 File Deletion — evidence destruction, 0 detections\n\nINVESTMENT RECOMMENDATION:\n  Closing top 10 gaps requires: 2 detection engineer FTEs, 60 days\n  Expected coverage improvement: 64% -> 76%\n```\n",{"name":5,"tags":49,"author":52,"domain":41,"license":15,"version":53,"nist_csf":54,"subdomain":59,"description":60,"nist_ai_rmf":61,"mitre_attack":65,"atlas_techniques":70,"d3fend_techniques":74},[38,40,37,50,30,29,51],"ttp","risk-assessment","mahipal","1.0",[55,56,57,58],"DE.CM-01","DE.AE-02","RS.MA-01","DE.AE-06","soc-operations","Implements threat modeling using the MITRE ATT&CK framework to map adversary TTPs against organizational assets, assess detection coverage gaps, and prioritize defensive investments. Use when SOC teams need to align detection engineering with threat landscape, conduct threat assessments for new environments, or justify security tool procurement.\n",[62,63,64],"MEASURE-2.7","MAP-5.1","MANAGE-2.4",[66,67,68,69],"T1078","T1685.002","T1685.005","T1566",[71,72,73],"AML.T0070","AML.T0066","AML.T0082",[75,76,77,78,79],"File Metadata Consistency Validation","Application Protocol Command Analysis","Identifier Analysis","Content Format Conversion","Message Analysis","main","54a798831d2266a3ca61ce68a7acb80b81160d57","skills\u002Fimplementing-threat-modeling-with-mitre-attack",4425,"https:\u002F\u002Fgithub.com\u002Fmukul975\u002FAnthropic-Cybersecurity-Skills","https:\u002F\u002Fmahipal.engineer\u002FAnthropic-Cybersecurity-Skills\u002F","https:\u002F\u002Fgithub.com\u002Fmukul975","Mahipal.engineer","🔐 Cybersecurity | 💻 Dev | 📷 Street Photographer\r\n🎓 MSc | 📚 Research & AI Security","2026-08-31 12:32:44",{"source":8,"skillName":5,"commands":91,"prompt":101,"zipAvailable":102},[92,95,98],{"tool":93,"command":94},"npx","npx skills add mukul975\u002FAnthropic-Cybersecurity-Skills --skill implementing-threat-modeling-with-mitre-attack",{"tool":96,"command":97},"bunx","bunx skills add mukul975\u002FAnthropic-Cybersecurity-Skills --skill implementing-threat-modeling-with-mitre-attack",{"tool":99,"command":100},"pnpm","pnpm dlx skills add mukul975\u002FAnthropic-Cybersecurity-Skills --skill implementing-threat-modeling-with-mitre-attack","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmukul975\u002FAnthropic-Cybersecurity-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fimplementing-threat-modeling-with-mitre-attack\u002FSKILL.md",true,[104,109,115],{"path":105,"resourceType":105,"resourceTypeDesc":106,"sizeBytes":107,"sourceHtmlUrl":108},"LICENSE","许可证",11255,"https:\u002F\u002Fgithub.com\u002Fmukul975\u002FAnthropic-Cybersecurity-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fimplementing-threat-modeling-with-mitre-attack\u002FLICENSE",{"path":110,"resourceType":111,"resourceTypeDesc":112,"sizeBytes":113,"sourceHtmlUrl":114},"references\u002Fapi-reference.md","REFERENCE","参考文档",2264,"https:\u002F\u002Fgithub.com\u002Fmukul975\u002FAnthropic-Cybersecurity-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fimplementing-threat-modeling-with-mitre-attack\u002Freferences\u002Fapi-reference.md",{"path":116,"resourceType":117,"resourceTypeDesc":118,"sizeBytes":119,"sourceHtmlUrl":120},"scripts\u002Fagent.py","SCRIPT","脚本",8297,"https:\u002F\u002Fgithub.com\u002Fmukul975\u002FAnthropic-Cybersecurity-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fimplementing-threat-modeling-with-mitre-attack\u002Fscripts\u002Fagent.py",[122,148,172,199,225,250],{"skillNo":123,"name":124,"nameZh":6,"description":125,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":126,"categories":127,"keywords":129,"publishedAt":44},"01M6AGDM3HJXTKXX15ZZ0ZVCJ3","verifying-build-provenance-with-slsa-sigstore","Verifies artifact signatures and SLSA provenance using Sigstore's cosign (verify, verify-attestation, verify-blob-attestation) and slsa-verifier (verify-artifact), enforcing keyless OIDC builder identity and source repo against SLSA Build levels. Use in CI\u002FCD before deploying artifacts, when consuming third-party attestations, establishing a SLSA Build L3 pipeline, or confirming provenance during incident response or admission control.","https:\u002F\u002Fgithub.com\u002Fmukul975\u002FAnthropic-Cybersecurity-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fverifying-build-provenance-with-slsa-sigstore\u002FSKILL.md",[128],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[130,131,132,133,28,41,134,135,136,137,138,139,140,141,142,143,144,145,146,147],"sigstore","provenance","slsa","verifying build provenance with slsa sigstore","incident response","identity","pr","code","artifacts","ci","supply-chain","pipeline","supply-chain-security","t1195","attestation","code-signing","cosign","keyless",{"skillNo":149,"name":150,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":152,"categories":153,"keywords":155,"publishedAt":44},"01M6AGDGBPWYVZ2F11GFKJ4HZ9","validating-tpm-measured-boot-attestation","Verifies TPM 2.0 measured-boot integrity and remote attestation with tpm2-tools -- reading PCRs (tpm2_pcrread), replaying the boot event log, generating and checking signed quotes (tpm2_quote\u002Ftpm2_checkquote), and sealing secrets to a PCR policy. Use to confirm a system booted trusted firmware\u002Fkernel for Zero Trust device posture, detect boot-chain tampering via PCR drift, or build a golden-value baseline for fleet attestation.","https:\u002F\u002Fgithub.com\u002Fmukul975\u002FAnthropic-Cybersecurity-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fvalidating-tpm-measured-boot-attestation\u002FSKILL.md",[154],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[156,144,157,158,28,159,41,136,160,161,162,163,164,165,166,167,168,169,170,171],"boot","TPM","validating tpm measured boot attestation","policy","verification","ZeRO","firmware","Tools","measured-boot","PCR","integrity","secrets","remote-attestation","tpm2-tools","integrity-verification","trusted-computing",{"skillNo":173,"name":174,"nameZh":6,"description":175,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":176,"categories":177,"keywords":182,"publishedAt":44},"01M6AGDCW0Y4FXZ3362GT1941M","validating-backup-integrity-for-recovery","Validates backup integrity through cryptographic hash verification, automated restore testing, corruption detection, and recoverability checks to confirm backups are reliable for disaster recovery and ransomware response. Use before relying on backups for recovery, when building post-backup validation pipelines, auditing backup infrastructure for compliance, or checking immutable\u002Fair-gapped backups for silent corruption or tampering.","https:\u002F\u002Fgithub.com\u002Fmukul975\u002FAnthropic-Cybersecurity-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fvalidating-backup-integrity-for-recovery\u002FSKILL.md",[178,181],{"categoryNo":179,"categoryName":180,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[166,183,184,185,186,41,187,188,160,189,190,191,192,193,194,35,195,196,197,198],"backup","recovery","validating backup integrity for recovery","testing","infrastructure","validation","compliance","hash-verification","incident-response","ransomware","cryptocurrency","detection","t1490","immutable","disaster-recovery","restore-testing",{"skillNo":200,"name":201,"nameZh":6,"description":202,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":203,"categories":204,"keywords":206,"publishedAt":44},"01M6AGD9GBG2KZ336AE763J3WH","triaging-windows-with-kape","Runs KAPE (Kroll Artifact Parser and Extractor) to collect targeted forensic artifacts (registry hives, $MFT, event logs, prefetch, browser data) via Targets and parse them with Modules wrapping Eric Zimmerman's EZ Tools (PECmd, MFTECmd, RECmd). Use during early incident containment\u002Ftriage when full disk imaging is impractical but a defensible, parseable Windows artifact set is needed quickly, including at-scale remote collection.","https:\u002F\u002Fgithub.com\u002Fmukul975\u002FAnthropic-Cybersecurity-Skills\u002Fblob\u002Fmain\u002Fskills\u002Ftriaging-windows-with-kape\u002FSKILL.md",[205],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[207,208,209,41,210,211,212,213,214,215,216,217,218,219,220,221,163,222,223,224],"windows","kape","triaging windows with kape","registry","browser","logs","windows-forensics","dfir","mft","mftecmd","data","prefetch","eric-zimmerman","digital-forensics","SET","collection","pecmd","artifact-collection",{"skillNo":226,"name":227,"nameZh":6,"description":228,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":229,"categories":230,"keywords":232,"publishedAt":44},"01M6AGD5PW5J4EVZM958WD74ZQ","triaging-vulnerabilities-with-ssvc-framework","Triages and prioritizes vulnerabilities with CISA's Stakeholder-Specific Vulnerability Categorization (SSVC) decision tree, weighing exploitation status (via the CISA KEV catalog and FIRST EPSS API), technical impact, automatability, and mission prevalence to output Track\u002FTrack*\u002FAttend\u002FAct decisions. Use when prioritizing vulnerability scan results (OpenVAS, Nessus, Qualys) for remediation planning beyond raw CVSS scores.","https:\u002F\u002Fgithub.com\u002Fmukul975\u002FAnthropic-Cybersecurity-Skills\u002Fblob\u002Fmain\u002Fskills\u002Ftriaging-vulnerabilities-with-ssvc-framework\u002FSKILL.md",[231],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[233,42,234,41,235,236,237,238,239,240,241,242,243,244,33,245,246,247,248,249],"vulnerabilities","triaging vulnerabilities with ssvc framework","status","planning","CISA","vulnerability-management","risk-management","nessus","qualys","openvas","cvss","remediation","vulnerability","api","prioritization","ssvc","decision-tree",{"skillNo":251,"name":252,"nameZh":6,"description":253,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":254,"categories":255,"keywords":257,"publishedAt":44},"01M6AGD24TTQQM4CXG69E3B9TJ","triaging-security-incident","Performs initial triage of security incidents using the NIST SP 800-61r3 and SANS PICERL frameworks, classifying incident type, assigning priority by business impact, and routing to the appropriate response team. Use when a SIEM\u002FEDR alert needs human classification, concurrent alerts must be prioritized, or a user report or threat-intel IOC match requires initial incident categorization.","https:\u002F\u002Fgithub.com\u002Fmukul975\u002FAnthropic-Cybersecurity-Skills\u002Fblob\u002Fmain\u002Fskills\u002Ftriaging-security-incident\u002FSKILL.md",[256],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[28,258,41,259,260,261,38,262,263,264,265,35,266,195,267,268,269,270,271,272],"triaging security incident","siem","file","ioc","NIST-800-61","NIST","severity","edr","execution","analysis","classification","severity-classification","incident-triage","SANS-PICERL","SOC-operations"]