Agent SkillsMHaggis/Security-Detections-MCP › ATT&CK Navigator Layer Generator

ATT&CK Navigator Layer Generator

GitHub

生成MITRE ATT&CK Navigator可视化图层JSON,支持检测覆盖热力图、威胁行为体映射及差距分析。提供格式规范、颜色约定及基于MCP工具的具体用例实现流程。

.claude/skills/attack-navigator-generator/SKILL.md MHaggis/Security-Detections-MCP

Trigger Scenarios

需要生成ATT&CK覆盖可视化报告 进行安全检测能力差距分析 映射特定威胁行为体的攻击技术

Install

npx skills add MHaggis/Security-Detections-MCP --skill ATT&CK Navigator Layer Generator -g -y
More Options

Non-standard path

npx skills add https://github.com/MHaggis/Security-Detections-MCP/tree/main/.claude/skills/attack-navigator-generator -g -y

Use without installing

npx skills use MHaggis/Security-Detections-MCP@ATT&CK Navigator Layer Generator

指定 Agent (Claude Code)

npx skills add MHaggis/Security-Detections-MCP --skill ATT&CK Navigator Layer Generator -a claude-code -g -y

安装 repo 全部 skill

npx skills add MHaggis/Security-Detections-MCP --all -g -y

预览 repo 内 skill

npx skills add MHaggis/Security-Detections-MCP --list

SKILL.md

Frontmatter
{
    "name": "ATT&CK Navigator Layer Generator",
    "description": "Generate MITRE ATT&CK Navigator layers for coverage visualization, threat actor mapping, and gap analysis. Produces JSON files compatible with the Navigator web app."
}

ATT&CK Navigator Layer Generator Skill

Overview

ATT&CK Navigator layers are JSON files that visualize technique coverage on the MITRE ATT&CK matrix. This skill covers generating layers for three primary use cases:

  1. Coverage heatmaps — Show which techniques have detections (and how many)
  2. Threat actor mapping — Highlight techniques used by a specific group
  3. Gap analysis — Compare your coverage against a threat profile

Navigator Layer JSON Format

Every layer follows this structure:

{
  "name": "Layer Name",
  "versions": {
    "attack": "18.1",
    "navigator": "5.3.1",
    "layer": "4.5"
  },
  "domain": "enterprise-attack",
  "description": "Layer description",
  "techniques": [
    {
      "techniqueID": "T1059.001",
      "tactic": "execution",
      "score": 75,
      "color": "#66b2ff",
      "comment": "3 Sigma rules, 2 Splunk ESCU rules",
      "enabled": true
    }
  ],
  "gradient": {
    "colors": ["#ff6666", "#ffe766", "#8ec843"],
    "minValue": 0,
    "maxValue": 100
  }
}

Key Fields

Field Type Purpose
techniqueID string MITRE technique ID (e.g., T1059.001)
tactic string Tactic shortname (required for sub-techniques that appear in multiple tactics)
score number 0–100, drives gradient coloring
color string Hex color override (takes precedence over score gradient)
comment string Hover text with details
enabled boolean Whether technique is visible

Color Conventions

Color Meaning
#8ec843 (green) Good coverage (score 70–100)
#ffe766 (yellow) Partial coverage (score 30–69)
#ff6666 (red) Weak/no coverage (score 0–29)
#6baed6 (blue) Threat actor uses this technique
#ffffff (white) Not assessed / not applicable

Use Case 1: Coverage Heatmap

Visualize detection coverage across all techniques. Score is based on number and quality of detections.

Using MCP tools:

1. get_technique_ids()                    → Get all covered technique IDs
2. analyze_coverage()                     → Get tactic-level breakdown
3. generate_coverage_layer(covered_ids)   → Generate the layer JSON

Scoring formula (suggested):

  • 1 detection = score 25
  • 2–3 detections = score 50
  • 4–5 detections = score 75
  • 6+ detections = score 100
  • Bonus: +10 for each additional source type (Sigma + Splunk + Elastic)

Use Case 2: Threat Actor Mapping

Highlight all techniques attributed to a specific threat group.

Using MCP tools:

1. search_groups("APT29")                 → Find group ID (G0016)
2. get_group_techniques("G0016")          → Get technique list
3. generate_group_layer("G0016", "APT29") → Generate the layer

Use Case 3: Gap Analysis

Compare your detection coverage against a target set of techniques (e.g., a threat actor's TTPs).

Using MCP tools:

1. get_technique_ids()                                → Your covered IDs
2. get_group_techniques("G0016")                      → Target IDs
3. generate_gap_layer(covered, target, "APT29 Gaps")  → Gap layer

Gap layer color scheme:

  • Green = covered (you have detections AND the threat actor uses it)
  • Red = gap (threat actor uses it but you have NO detection)
  • Gray = not used by this actor

Generating Layers Programmatically

If MCP tools aren't available, build the JSON directly:

import json

def make_layer(name, techniques, description=""):
    return {
        "name": name,
        "versions": {"attack": "18.1", "navigator": "5.3.1", "layer": "4.5"},
        "domain": "enterprise-attack",
        "description": description,
        "techniques": techniques,
        "gradient": {
            "colors": ["#ff6666", "#ffe766", "#8ec843"],
            "minValue": 0,
            "maxValue": 100,
        },
    }

techniques = [
    {"techniqueID": "T1059.001", "score": 80, "comment": "5 detections"},
    {"techniqueID": "T1053.005", "score": 40, "comment": "1 detection"},
]

layer = make_layer("My Coverage", techniques, "Detection coverage as of 2026-02")
with open("coverage_layer.json", "w") as f:
    json.dump(layer, f, indent=2)

Viewing Layers

  1. Open ATT&CK Navigator
  2. Click Open Existing LayerUpload from local
  3. Select the generated JSON file

Or host Navigator locally:

git clone https://github.com/mitre-attack/attack-navigator.git
cd attack-navigator/nav-app
npm install && npm start

Tips

  • Layer per audience: Executives want simple red/green; analysts want score gradients with comments.
  • Version pin: Always set versions.attack to match the ATT&CK version your analysis used.
  • Combine layers: Navigator supports overlaying multiple layers — useful for comparing before/after or two threat actors.
  • Export as SVG: Navigator can export layers as SVG for inclusion in reports.

Version History

  • 54a588c Current 2026-07-25 10:27

Same Skill Collection

.claude/skills/analytic-story-builder/SKILL.md
.claude/skills/atomic-red-team-testing/SKILL.md
.claude/skills/attack-range-builder/SKILL.md
.claude/skills/coverage-analysis/SKILL.md
.claude/skills/cti-detection-engineer/SKILL.md
.claude/skills/custom-atomics-deployment/SKILL.md
.claude/skills/data-source-mapper/SKILL.md
.claude/skills/detection-reviewer/SKILL.md
.claude/skills/detection-test-engineer/SKILL.md
.claude/skills/detection-yaml-engineer/SKILL.md
.claude/skills/pr-extension-workflow/SKILL.md
.claude/skills/spl-optimizer/SKILL.md
.claude/skills/supply-chain-analyst/SKILL.md
.claude/skills/threat-report-parser/SKILL.md

Metadata

Files
0
Version
54a588c
Hash
984b95ef
Indexed
2026-07-25 10:27

inicio - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-21 05:15
浙ICP备14020137号-1 $mapa de visitantes$