The MITRE Reference Panel provides a built-in way to explore MITRE ATT&CK techniques directly within MalChela.
This panel supports live search by technique ID (e.g., T1059) or keyword (e.g., "scripting"). It is context-aware and optimized for use alongside tools like mstrings.
MITRE Lookup Panel
Features
- Full display of technique details:
- Technique title
- Tactic(s)
- Platforms
- Description
- Detection guidance
- Malware
- Tools
-
Intrusion Sets
-
Modal view floats above the main console, allowing uninterrupted output viewing
- --full option to support long-form content (no truncation)
- Save lookups for later reference or save to a Case
- Markdown formatting for MITRE reports for inclusion in forensics reports
Accessing from the MalChela Web Interface:
- Select MITRE Lookup in the left-hand Toolbox menu
- Use the input field at the top of the modal to enter a keyword or technique ID (e.g.,
T1059orregistry) - Use the "Full" checkbox for un-truncated output

MITRE Lookup
Accessing from CLI
There are two ways to use the MITRE Lookup from the command line:
1. From the main MalChela CLI menu
Run the MalChela CLI interface and select MITRE Lookup from the Toolbox section:
cargo run -p malchela
Then choose MITRE Lookup (or press ml) from the menu.
2. Direct tool execution
You can run the MITRE Lookup tool directly with a search term or flags:
# Basic search by keyword or technique ID
./target/release/MITRE_lookup -- t1027.004
# Use --full to display untruncated results
./target/release/MITRE_lookup --full -- t1027.004

MITRE Lookup (CLI)
Example
Searching for T1027.004 yields:
MITRE ATT&CK Enterprise v20.0
T1027.004 - Compile After Delivery
Tactic(s): stealth
Platforms: Linux, macOS, Windows
Detection: Detection strategies: Detection Strategy for Compile After Delivery - Source Code to Executable Transformation (DET0501)
Description: Adversaries may attempt to make payloads difficult to discover and analyze by delivering files to victims as uncompiled code. Text-based...
Tactics
Tactics have their own entries. Look one up by ID (TA0002), by name (execution, command and control), or by shortname (command-and-control) to see its description and every technique under it, with sub-technique counts:
TA0002 - Execution (tactic)
Description: The adversary is trying to run malicious code or instructions on a system. ...
Techniques (22 techniques, 44 sub-techniques):
- T1047 Windows Management Instrumentation
- T1053 Scheduled Task/Job (+5 sub-techniques)
- T1059 Command and Scripting Interpreter (+13 sub-techniques)
...
tacticslists all 15 Enterprise tactics in matrix order, with technique counts.--fullexpands every sub-technique under its parent.TA0005ordefense evasionshows both Stealth (TA0005) and Defense Impairment (TA0112), with a note on the v20 split.
Tactic data lives in assets/mitre_tactics.json, which scripts/build_mitre_techniques.py writes alongside the technique data.
ATT&CK Version
The lookup data (assets/mitre_techniques.json) is built from MITRE's official ATT&CK STIX release, currently Enterprise v20.0. The version is shown at the top of every lookup.
- ATT&CK v20 tactic change: the Defense Evasion tactic was retired. TA0005 is now Stealth (hiding, obfuscation, masquerading), and a new tactic, Defense Impairment (TA0112), covers disabling or tampering with security tools, logging, and firewalls. Searching
defense evasion(orTA0005) returns techniques from both, with a note. Tactic searches ignore hyphens, sodefense impairmentmatchesdefense-impairment. - Deprecated techniques still resolve: looking up a retired ID such as
T1562.001shows it marked deprecated, with its replacement (T1685 Disable or Modify Tools). Current techniques are listed before deprecated ones. - Detection field: ATT&CK v18 replaced per-technique detection text with Detection Strategies, so for current techniques the Detection line lists the strategy names and IDs (
DET…).
Updating to a new ATT&CK release
# Rebuild the technique and tactic data from the latest Enterprise release (or --version 20.0, or --bundle <file> offline)
python3 scripts/build_mitre_techniques.py
# Then migrate detections.yaml mappings (tactics, renamed/revoked techniques, tags),
# passing the previous dataset so author-chosen tactics are preserved
git show HEAD:assets/mitre_techniques.json > /tmp/mitre_old.json
python3 scripts/migrate_detections_attack.py --old /tmp/mitre_old.json --dry-run # review
python3 scripts/migrate_detections_attack.py --old /tmp/mitre_old.json