Releases: HalfTimeOfLife/attackmap
Release list
v1.2.1 - PyPI release & documentation fix
Added
- Package now published on PyPI: https://pypi.org/project/attackmap-navigator/
Changed
- README: installation instructions updated to
pip install attackmap-navigator
instead of the git clone method
attackmap - v1.2 (Interactive HTML output)
Adds a html output format producing a fully self-contained, interactive ATT&CK heatmap for browser-based exploration and reporting.
What's new
--format html— renders a standalone.htmlfile with no external dependencies (no CDN, no Plotly)- New
render_html()function, parallel torender_heatmap(), sharing the same column/tactic layout logic - Clicking a technique opens a sidebar panel with name, ID, score, full layer comment, and a direct link to MITRE ATT&CK
- Continuous color gradient matching the matplotlib colormap (
#f5f5f5→#ffcccc→#ff6666→#cc0000) - Technique data is passed via
data-*attributes and HTML-escaped, so analyst comments containing quotes or special characters render safely --format allnow generates PNG, SVG, PDF, and HTML in a single run--versionflag added
What's included
- All v1.0/v1.1 features (STIX resolution, auto-split columns, score-based color gradient,
--min-scorefilter, PNG/SVG/PDF output) - Updated README with HTML output section and refreshed project structure
- Updated ROADMAP (v1.2 shipped)
attackmap - v1.1 (`--min-score` filter)
Adds a --min-score CLI argument to filter techniques below a confidence threshold before rendering. This allows analysts to isolate confirmed techniques (e.g., score ≥ 80) from inferred or low-confidence ones.
What's new
--min-score INT(0–100, default: 100) — techniques with a score below this threshold are excluded from the heatmap- Filter applied in
enrich_layer()after theenabledcheck - Default value of 100 preserves existing behavior (no filtering)
What's included
- All v1.0 features (STIX resolution, auto-split columns, score-based color gradient, PNG/SVG/PDF output)
- Updated README with
--min-scoreusage example and argument table - Updated ROADMAP (v1.1 shipped, v1.2 planned)
attackmap - v1.0 (initial release)
Generates static MITRE ATT&CK heatmaps (PNG, SVG, PDF) from ATT&CK Navigator JSON layers.
Technique names and tactic assignments are resolved dynamically from the official STIX bundle at runtime.
Tactic columns that exceed the row limit are automatically split into sub-columns.
Each technique cell is color-coded by analyst score (0–100), representing confidence in the presence of the technique in the analyzed sample.
What's included
- STIX bundle loading and dynamic tactic resolution
- Layer parsing and ATT&CK enrichment (enabled filter, multi-tactic deduplication)
- Column layout engine with automatic sub-column splitting
- Score-based color gradient rendering via matplotlib
- CLI with
--layer,--stix,--output,--title,--format(png,svg,pdf,all)
Assets
examples/example-layer.json— sample ATT&CK Navigator layerdocs/— example heatmap outputs (PNG, SVG, PDF)