Mitre Attack Mapping logo

Mitre Attack Mapping

Organization
gensecaihq
mitre-attack-mapping

Map Wazuh alerts and observed behaviour to MITRE ATT&CK techniques and tactics and record them on the case; use whenever you identify attacker behaviour or see rule.mitre data.

Overview

Publishergensecaihq
RepositoryWazuh-Autopilot
Skill namemitre-attack-mapping
Stars
61
Forks
15
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by gensecaihq on GitHub. Read the source before you install it.

Installation

Install the Mitre Attack Mapping AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/gensecaihq/Wazuh-Autopilot/tree/main/backend/app/skills/mitre-attack-mapping
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/gensecaihq/Wazuh-Autopilot.git /tmp/Wazuh-Autopilot
mkdir -p .claude/skills
cp -r /tmp/Wazuh-Autopilot/backend/app/skills/mitre-attack-mapping .claude/skills/mitre-attack-mapping
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Mitre Attack Mapping in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Mitre Attack Mapping on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Mitre Attack Mapping is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

MITRE ATT&CK Mapping

ATT&CK is the shared language between triage, hunting, response and detection engineering. Map precisely: prefer a sub-technique when evidence supports it, otherwise the parent technique.

Procedure

  1. Start with rule.mitre.id / rule.mitre.tactic from each alert — Wazuh ships these on many rules. Treat them as a hint, not truth: verify against the behaviour.
  2. Add techniques for behaviour seen in logs that the rule didn't tag (e.g. a process command line showing discovery commands).
  3. Pick the tactic from the context: the same technique can serve multiple tactics (T1078 Valid Accounts: Initial Access, Persistence, Privilege Escalation, Defense Evasion) — record the tactic that fits this case.
  4. Assign a numeric confidence per technique: 0.9 confirmed (log evidence of the behaviour), 0.7 likely (strong indicator), 0.4 possible (rule tag only).

Wazuh rule → technique mappings

The first column is taken from the Wazuh 4.14 ruleset's own <mitre> tags. The ruleset is not always right: rule 60122 (Windows logon failure, level 5) is tagged T1531 Account Access Removal, which one failed logon isn't. Treat every tag as a hint.

Wazuh signalRuleset tagMap to (when behaviour confirms)
rule 5710 sshd non-existent user (level 5)T1110.001, T1021.004T1110.001 Password Guessing
rules 5712, 5720, 5763 sshd brute force / multiple failures (level 10); rule 5716 single failureT1110T1110.001, or T1110.003 Password Spraying if many users from one source
rule 5715 sshd authentication successT1078, T1021T1078 Valid Accounts only after failures or from an unusual source; T1021.004 SSH for internal hops
rule 60204 multiple Windows logon failures (level 10)T1110T1110 (Event ID 4625 bursts)
rule 60106 Windows logon successT1078T1078; Event ID 4624 logon type 10 between workstations suggests T1021.001 RDP
rule 550 FIM checksum changedT1565.001T1505.003 Web Shell if a script changed in a web root; T1543.002 / T1053.003 for systemd units or cron files
rule 553 FIM file deletedT1070.004, T1485T1070.004 Indicator Removal if logs or tools were deleted
rule 554 FIM file added(none)T1105 Ingress Tool Transfer if a binary or script appeared in a temp or web path
rules 594, 750 registry value/key changedT1565.001, T1112T1547.001 Run Keys when under ...\CurrentVersion\Run
rule 5902 new user addedT1136T1136.001 Create Account: Local Account
rule 5402 sudo to root; rule 5401 failed sudoT1548.003T1548.003 Sudo and Sudo Caching
rule 60154 Administrators group changed (level 12)T1484T1098 Account Manipulation / T1078.002 if a domain account was added
rule 504 agent disconnected, rule 506 agent stoppedT1562.001T1562.001 Impair Defenses only with corroboration (many agents, attacker activity)
rule 87105 VirusTotal positives (level 12)T1203map to what the file does (e.g. T1496 for a miner); T1203 only for exploit documents
rule 92213 Sysmon: executable dropped in a malware-typical folder (level 15)T1105T1105 Ingress Tool Transfer
rule 510 rootcheck anomaly(none)T1014 Rootkit / T1036 Masquerading only when the finding describes a hidden process or trojaned binary
web attack rules (rule.groups web, attack)variesT1190 Exploit Public-Facing Application
Windows Event ID 1102 / 104 log clearedvariesT1070.001 Clear Windows Event Logs
Sysmon Event ID 1 with powershell -encvariesT1059.001 PowerShell + T1027 Obfuscated Files or Information
beaconing / outbound to known-bad IPnoneT1071 Application Layer Protocol

Look up the tags for any rule with get_wazuh_rules_summary. Load wazuh-rules-and-decoders for how rule.mitre is populated, and wazuh-windows-sysmon for Windows/Sysmon specifics.

Tactic ordering (for progression analysis)

Reconnaissance → Resource Development → Initial Access → Execution → Persistence → Privilege Escalation → Defense Evasion → Credential Access → Discovery → Lateral Movement → Collection → Command and Control → Exfiltration → Impact.

Technique record

json
{"technique_id": "T1110.001", "name": "Password Guessing", "tactic": "Credential Access",
 "confidence": 0.9, "evidence": "38 sshd failures (rule 5716) then rule 5712 from 203.0.113.7 in 10 min"}

Output

  • link_mitre(case_id, techniques) with the records above.
  • add_finding titled ATT&CK mapping when you add techniques beyond the rule tags, including the evidence for each. standard_refs: MITRE-ATTACK:<technique_id>.

Frequently asked questions

What does the Mitre Attack Mapping AI skill do?

Map Wazuh alerts and observed behaviour to MITRE ATT&CK techniques and tactics and record them on the case; use whenever you identify attacker behaviour or see rule.mitre data.

Why use Mitre Attack Mapping on TypingMind?

Because you install it once and use it with any model. Mitre Attack Mapping is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Mitre Attack Mapping in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/gensecaihq/Wazuh-Autopilot/tree/main/backend/app/skills/mitre-attack-mapping. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Mitre Attack Mapping?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Mitre Attack Mapping?

As many as you like. As long as a model supports skills, you can use Mitre Attack Mapping with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Mitre Attack Mapping AI skill free?

Yes. It is published on GitHub by gensecaihq under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇