MITRE ATT&CK Navigator est l'outil web officiel maintenu par MITRE qui permet de visualiser, manipuler et partager des couvertures personnalisées de la matrice ATT&CK Enterprise (ou Mobile, ICS). Il offre une représentation graphique en grille tactiques × techniques permettant de scorer chaque technique selon des critères personnalisés (couverture défensive actuelle, profil d'un acteur adversaire, priorité de detection engineering), de combiner plusieurs layers via opérations mathématiques (addition, différence, intersection), et d'exporter les visualisations en JSON, SVG ou Excel pour partage ou intégration dans d'autres outils. En 2026, Navigator est devenu l'outil pivot des programmes detection engineering, gap analysis et purple teaming, avec un écosystème riche d'intégrations (DeTT&CT pour génération automatique, Vectr pour orchestration purple team, Atomic Red Team pour tests d'émulation, Sigma pour règles de détection). Cet article détaille le setup (version hébergée vs self-hosted Docker), la création d'une layer custom step-by-step, la comparaison de profils adversaires (APT29 vs FIN7 vs Lazarus), la gap analysis défensive contre un profil menace, les intégrations majeures et les patterns de partage en équipe.
Vue d'ensemble : qu'est-ce que Navigator
Navigator est une application web open source (TypeScript, Angular) maintenue par MITRE Engenuity, accessible publiquement à mitre-attack.github.io/attack-navigator/. Source code et instructions self-host : github.com/mitre-attack/attack-navigator.
Fonctionnalités centrales :
- Visualisation matrice : grille tactiques (colonnes) × techniques (lignes regroupées). Choix entre matrices Enterprise (la plus utilisée), Mobile, ICS.
- Layers : surcouches personnalisées qui colorent les techniques selon scores et catégories. Plusieurs layers peuvent être actives simultanément.
- Scoring : attribution d'une valeur numérique à chaque technique (par exemple 0 à 3 pour niveaux de couverture détection).
- Métadonnées : commentaires, liens, couleurs custom, masquage de sous-techniques.
- Opérations entre layers : combine via addition, soustraction, multiplication. Permet par exemple de calculer une layer "gap" = (profil adversaire) - (couverture défensive).
- Export : JSON (réimportable), SVG (image vectorielle), Excel (tableau).
- Import : layers JSON depuis fichier ou URL.
Setup : version hébergée vs self-hosted
Version hébergée par MITRE (recommandée pour la majorité)
URL : https://mitre-attack.github.io/attack-navigator/
Aucune installation. Layers stockées dans le localStorage du navigateur (perdues si cache vidé ou changement de poste). Suffit pour usage individuel exploratoire ou prototypage.
Self-host Docker
Pour persistance multi-utilisateurs ou intégration interne.
# Récupération du code source
git clone https://github.com/mitre-attack/attack-navigator.git
cd attack-navigator
# Build et run via Docker
docker build -t attack-navigator -f Dockerfile .
docker run -d -p 4200:4200 --name navigator attack-navigator
# Accès via http://localhost:4200Pour une utilisation production avec reverse proxy nginx + TLS et persistance des layers via stockage S3 ou volume monté, configurer le backend (optionnel, par défaut tout en localStorage côté client).
Self-host avec sources de données ATT&CK custom
Pour les organisations qui maintiennent un fork interne d'ATT&CK avec techniques propriétaires (par exemple secteur défense, intelligence) :
# Configurer la source des données STIX dans navigator
# Éditer config.json pour pointer vers votre instance MITRE TAXII server
{
"data_sources": [
{
"name": "Internal ATT&CK",
"url": "https://attack-internal.example.test/api/v2/objects/"
}
]
}Anatomie d'une layer JSON
Une layer Navigator est un fichier JSON suivant le schéma officiel attack-navigator/layer/.
{
"name": "SOC Detection Coverage 2026 Q2",
"versions": {
"attack": "16",
"navigator": "5.1.0",
"layer": "4.5"
},
"domain": "enterprise-attack",
"description": "Couverture détection actuelle SOC interne",
"filters": {
"platforms": ["Windows", "Linux", "macOS", "Office 365", "Azure AD"]
},
"sorting": 0,
"layout": {
"layout": "side",
"showName": true,
"showID": true,
"showAggregateScores": true
},
"hideDisabled": false,
"techniques": [
{
"techniqueID": "T1003.001",
"tactic": "credential-access",
"score": 3,
"color": "",
"comment": "LSASS access détecté via Sysmon EID 10 + Sigma rule. EDR Falcon supplémentaire.",
"enabled": true,
"metadata": [
{"name": "Detection Source", "value": "Sysmon + Falcon"},
{"name": "Last Tested", "value": "2026-04-15"},
{"name": "Owner", "value": "Detection Engineering"}
]
},
{
"techniqueID": "T1059.001",
"tactic": "execution",
"score": 2,
"comment": "PowerShell logs (4104, 4103) ingérés. Règle DownloadString. Pas de couverture obfuscation avancée."
},
{
"techniqueID": "T1566.001",
"tactic": "initial-access",
"score": 1,
"comment": "Microsoft Defender for Office 365 actif. Pas de sandbox URL custom."
}
],
"gradient": {
"colors": ["#ff6666", "#ffe766", "#8ec843"],
"minValue": 0,
"maxValue": 3
},
"legendItems": [
{"label": "0 - Pas de visibilité", "color": "#ff6666"},
{"label": "1 - Logs ingérés", "color": "#ffaf66"},
{"label": "2 - Alerte SIEM/EDR", "color": "#ffe766"},
{"label": "3 - Alerte + réponse automatisée SOAR", "color": "#8ec843"}
]
}Champs clés :
- versions : aligner avec la version ATT&CK utilisée et la version Navigator cible.
- domain :
enterprise-attack,mobile-attackouics-attack. - filters.platforms : restreint l'affichage aux plateformes pertinentes (réduit le bruit visuel).
- techniques : liste des techniques scorées avec techniqueID (T-numéro), score, comment, metadata.
- gradient : mapping couleur en fonction de la valeur du score (du rouge "mauvaise couverture" au vert "bonne couverture" par convention).
- legendItems : légende affichée dans Navigator pour expliquer le scoring.
Création d'une layer custom step-by-step
Procédure type pour générer une première layer de couverture détection à partir de votre stack SOC actuelle.
Étape 1 — Cartographier votre stack de capteurs
Inventorier les sources de données disponibles côté SOC :
- Endpoint : Sysmon (avec quelle config ? SwiftOnSecurity, Olaf Hartong, Microsoft baseline ?), EDR (Falcon, SentinelOne, Defender for Endpoint), Auditd Linux.
- Réseau : Zeek (anciennement Bro), Suricata, NetFlow, DNS logs.
- Cloud : CloudTrail AWS, Activity Logs Azure, Cloud Audit Logs GCP.
- Identity : Entra ID Sign-In Logs, Okta System Log, AD Security Event Logs.
- Email : Microsoft Defender for Office 365, Proofpoint, Mimecast.
- Application : WAF logs, application logs critiques.
Étape 2 — Mapper les capteurs aux techniques ATT&CK
Pour chaque technique ATT&CK, déterminer si vos capteurs ont la visibilité nécessaire. Par exemple :
| Technique ATT&CK | Capteurs requis | Visibilité actuelle |
|---|---|---|
| T1003.001 (LSASS Memory) | Sysmon EID 10 + EDR | OUI |
| T1059.001 (PowerShell) | Script Block Logging EID 4104 + EDR process create | OUI |
| T1566.001 (Spearphishing Attachment) | Email security gateway logs | OUI partiel |
| T1110.001 (Password Guessing) | Auth logs (4625), VPN logs | OUI |
| T1078.004 (Cloud Accounts) | Entra ID Sign-In, CloudTrail | OUI |
| T1200 (Hardware Additions) | Endpoint USB monitoring | NON |
Étape 3 — Scorer les techniques
Convention de scoring proposée 2026 :
| Score | Définition |
|---|---|
| 0 | Pas de visibilité (capteur absent ou non ingéré) |
| 1 | Logs ingérés mais pas de règle dédiée (visibilité passive) |
| 2 | Règle de détection active générant alerte SIEM ou EDR |
| 3 | Détection + réponse automatisée SOAR ou containment |
Étape 4 — Créer la layer dans Navigator
- Ouvrir Navigator, créer "New layer" (Enterprise, version récente).
- Définir le nom et la description.
- Pour chaque technique mappée, cliquer dessus et attribuer le score via le panel de droite.
- Ajouter un commentaire (source de détection, date dernière vérification, owner).
- Configurer le gradient de couleur (rouge → vert).
- Filtrer par plateformes pertinentes (Windows, Linux, etc.).
Étape 5 — Exporter et versionner
Export via menu "Download layer as JSON". Stockage en Git interne pour versioning et partage.
Comparaison de profils adversaires
L'un des usages les plus puissants de Navigator : comparer la couverture défensive avec le profil TTP d'un adversaire spécifique.
Récupérer une layer adversaire
MITRE publie des layers prêtes pour les principaux groupes d'adversaires sur attack.mitre.org/groups/. Exemples :
- APT29 (Cozy Bear, Russie) :
attack.mitre.org/groups/G0016/G0016-enterprise-layer.json - FIN7 (groupe cybercrime financier) :
G0046 - Lazarus Group (Corée du Nord) :
G0032 - Sandworm (GRU, Russie) :
G0034 - Mustang Panda (Chine) :
G0129 - Volt Typhoon (Chine, infra critiques) :
G1017
Charger via "Open Existing Layer" → "Load from URL" en collant l'URL JSON.
Combiner deux layers
Une fois la layer adversaire ET votre layer de couverture chargées simultanément, Navigator permet de créer une troisième layer combinée :
- Menu "Create new from other layers".
- Sélectionner la formule mathématique :
a - boùa= profil adversaire (score 1 par technique utilisée),b= couverture défensive (votre score 0-3). - Le résultat : techniques rouge sombre = utilisées par adversaire mais non couvertes (gap critique). Techniques vertes = couvertes mais non dans le profil adversaire (couverture excédentaire potentielle).
Exemple visuel pseudo-code de la formule
Si Profil_APT29[T1059.001] = 1 (utilisée)
et Couverture_SOC[T1059.001] = 2 (alerte active)
alors Gap[T1059.001] = 1 - 2 = -1 (couverture suffisante)
Si Profil_APT29[T1003.001] = 1 (utilisée)
et Couverture_SOC[T1003.001] = 0 (pas de visibilité)
alors Gap[T1003.001] = 1 - 0 = 1 (gap critique à combler)Priorisation par profil multi-adversaires
Pour une organisation soumise à plusieurs profils menace simultanément (banking targeting + nation-state + cybercrime), créer une layer agrégée pondérée :
Layer_Threat_Combined =
0.4 × Layer_APT29 + # nation-state probable
0.3 × Layer_FIN7 + # cybercrime financier
0.3 × Layer_Lazarus # nation-state additionalPuis comparer cette layer combinée à votre couverture pour priorisation pondérée des efforts detection engineering.
Gap analysis et detection engineering
L'usage opérationnel principal de Navigator est l'identification des gaps prioritaires pour la roadmap detection engineering.
Workflow trimestriel type
- Mois 0 : générer ou réviser la layer de couverture détection actuelle.
- Mois 0 : récupérer ou mettre à jour les layers de profils adversaires pertinents.
- Mois 0 : générer la layer "gap" via combinaison.
- Mois 0-1 : prioriser les top 10 techniques gap selon trois critères : sévérité ATT&CK (impact business si exploitée), fréquence dans rapports CTI récents, faisabilité de détection (existe-t-il des règles Sigma publiques ?).
- Mois 1-3 : developing detection engineering sprint sur ces top 10 (création règles Sigma, deployment SIEM, tuning).
- Mois 3 : retest via Atomic Red Team pour valider la détection effective.
- Mois 3 : mettre à jour la layer de couverture et boucler.
Critères de priorisation
# Pseudo-code de priorisation
prioritization_score:
base: 0
factors:
- exploited_in_recent_apt_report: +3
- covered_by_sigma_public_rule: +2
- high_business_impact_tactic: +2
- low_implementation_effort: +1
- already_partial_coverage: -1 # complète l'existant
- rare_in_observed_intrusions: -1Métriques pilotables
- Coverage % par tactique : pour chaque tactique ATT&CK (Initial Access, Execution, etc.), pourcentage de techniques avec score >= 2.
- Coverage absolu vs profil menace : pourcentage des techniques utilisées par votre top 5 adversaires que vous détectez à score >= 2.
- Tendance trimestrielle : évolution du score moyen entre Q1, Q2, Q3, Q4.
Intégrations majeures
Navigator s'intègre avec un écosystème croissant en 2026.
DeTT&CT (Detect Tactics, Techniques and Combat Threats)
Open source par Marcus Bakker et Ruben Bouman. Génère automatiquement layers Navigator à partir de :
- Inventaire des sources de données (data sources YAML).
- Inventaire des règles de détection (techniques covered YAML).
- Visibility scoring automatique.
# Installation
pip install dettect
# Génération layer de visibilité depuis inventaire data sources
python dettect.py datasource -fd data-sources.yaml --layer
# Génération layer de détection depuis inventaire de règles
python dettect.py detection -fd techniques-administration.yaml --layerVectr (Security Risk Advisors)
Plateforme commerciale dédiée aux exercices purple team. Orchestrer des campagnes d'émulation, scorer les détections par technique, exporter les résultats vers Navigator pour visualisation. Particulièrement adapté aux programmes purple team formels.
Atomic Red Team (Red Canary)
Bibliothèque open source de tests atomiques par technique ATT&CK. Permet de tester une détection en exécutant la TTP correspondante sur un endpoint de lab :
# Test atomic pour T1003.001 (LSASS Memory) sur Windows
Invoke-AtomicTest T1003.001Le résultat (alerte générée ou non) permet de valider et mettre à jour la layer de couverture dans Navigator.
CALDERA (MITRE)
Framework open source d'émulation adversaire. Orchestre des opérations multi-techniques avec mapping ATT&CK natif. Génère des rapports Navigator-compatible automatiquement (article dédié sur l'émulation avec CALDERA disponible séparément).
SigmaHQ
Le repo public de règles Sigma (3 000+ règles) inclut un mapping ATT&CK pour chaque règle via le tag tags. Conversion automatique vers une layer Navigator possible via :
# Conversion d'un dossier de règles Sigma vers layer Navigator
python sigma2attack.py --rules-directory ./sigma/rules/ --output coverage.jsonPlateformes commerciales
Cymulate, AttackIQ, SCYTHE, XM Cyber, Picus Security exécutent des simulations BAS (Breach and Attack Simulation) automatisées et exportent leurs résultats au format Navigator. Coût licence à partir de 30 à 100 k€ annuels selon scope.
Patterns de partage en équipe
Trois patterns observés dans les SOC matures.
Pattern 1 — Repo Git dédié soc-attack-layers
soc-attack-layers/
├── README.md # documentation usage
├── coverage/
│ ├── coverage-2026-Q1.json # snapshot couverture trimestrielle
│ ├── coverage-2026-Q2.json
│ └── coverage-current.json # symbolic link vers la dernière
├── adversary-profiles/
│ ├── apt29.json
│ ├── fin7.json
│ ├── lazarus.json
│ └── industry-banking-aggregated.json
├── gap-analysis/
│ ├── gap-vs-apt29-2026-Q2.json
│ ├── gap-vs-fin7-2026-Q2.json
│ └── gap-aggregated-2026-Q2.json
└── docs/
├── scoring-convention.md
├── data-sources-inventory.md
└── quarterly-review-template.mdVersioning Git permet revue via PR, historique, branches par scénario d'évolution.
Pattern 2 — Convention de scoring documentée
Sans convention partagée, chaque analyste score différemment. Documentation type :
# Scoring Convention SOC Layers Navigator
## Échelle de couverture détection (0-3)
- 0 : Pas de visibilité (capteur absent OU log non ingéré)
- 1 : Visibilité passive (log ingéré mais pas de règle dédiée)
- 2 : Détection active (règle alertant en SIEM ou EDR)
- 3 : Détection + réponse automatisée SOAR ou containment EDR
## Évaluation par technique
- Une technique = un score basé sur le pire des sub-techniques principales
- Sub-techniques scorées séparément si différentes en couverture
- Commentaire obligatoire : source de détection, dernière vérification
## Date de revue
- Layer générale : trimestrielle
- Layer après changement majeur capteur : ad-hoc immédiat
- Layer adversaire : annuelle ou après publication MITRE updatePattern 3 — Revue trimestrielle équipe
Rituel formel de 90 minutes par trimestre :
- 30 min : revue de la layer trimestrielle, identification des évolutions.
- 30 min : présentation des gaps prioritaires identifiés.
- 30 min : alignement sur la roadmap detection engineering du prochain trimestre.
Output : layer Navigator mise à jour + ticket epic detection engineering avec top 5-10 techniques à couvrir.
Pièges fréquents et bonnes pratiques
Cinq écueils observés dans les programmes de gap analysis ATT&CK 2024-2026.
Vouloir couvrir 100 % du framework. Le framework Enterprise contient 600+ techniques et sub-techniques. Coverage 100 % est un objectif théorique inatteignable et inutile. Mieux vaut viser 90 % de couverture du top 5 adversaires que 50 % uniformément.
Score subjectif sans convention équipe. Sans documentation explicite du scoring, deux analystes scoreront différemment la même technique. Toujours formaliser la convention de scoring en début de programme.
Layers non versionnées. Une layer en localStorage ou sur un Drive partagé non-versionné se perd, est écrasée, ou diverge. Versioning Git obligatoire pour les layers de référence.
Gap analysis sans suite. Identifier les gaps sans alimenter la roadmap detection engineering = exercise théorique sans valeur. Le pipeline gap → priorisation → sprint detection eng → retest doit être bouclé.
Ignorer les mises à jour ATT&CK. ATT&CK évolue tous les 6 mois (avril, octobre). Une layer générée pour v14 (octobre 2023) doit être révisée pour v18 (avril 2026). Sinon les techniques renommées ou ajoutées créent des angles morts.
Points clés à retenir
- Navigator est l'outil pivot pour visualiser, comparer et partager des couvertures personnalisées de la matrice ATT&CK. Version hébergée par MITRE suffit dans 80 % des cas, self-host Docker pour persistance équipe.
- Une layer JSON est l'unité atomique : techniques scorées avec commentaires et metadata, exportable pour partage et versionning Git.
- L'usage le plus puissant : combiner sa layer de couverture défensive avec une layer de profil adversaire pour identifier les gaps prioritaires de detection engineering.
- DeTT&CT, Vectr, Atomic Red Team, CALDERA, SigmaHQ sont les écosystèmes majeurs qui s'intègrent avec Navigator. Les plateformes BAS commerciales (Cymulate, AttackIQ) automatisent la mesure mais peuvent gonfler artificiellement les chiffres de couverture.
- La maturité défensive ne se mesure pas en pourcentage de framework couvert (objectif inatteignable) mais en couverture pondérée des profils adversaires plausibles pour l'organisation, validée en conditions réelles par purple team.
Pour aller plus loin
- MITRE ATT&CK expliqué - panorama complet du framework, tactiques, techniques, matrices.
- Les niveaux 1, 2, 3 dans un SOC - structure SOC qui consomme et alimente les layers Navigator.
- Détection d'intrusion : les bases - fondamentaux de la détection alignés ATT&CK.
- Qu'est-ce qu'un XDR - plateforme moderne consommatrice de mapping ATT&CK.





