MS MarlinSpike Passive OT/ICS Topology Workbench
À propos de la plateforme

MarlinSpike est un cartographe de topologie OT/ICS passif et un atelier d'analyste.

Le produit ingère des captures de paquets, ne renvoie aucun trafic dans l'environnement, et transforme les observations passives en topologie, inventaire d'actifs, constats de niveau intervenant et artefacts de rapport JSON portables. C'est le noyau open-source derrière Fathom, intentionnellement conçu comme un atelier web partagé plutôt que comme un client lourd mono-utilisateur.

Atelier centré sur la carte avec canevas de topologie et barre de lentilles
Atelier centré sur la carte
Canevas de topologie persistant avec superpositions multi-lentilles.
Visualiseur de rapport affichant un artefact de rapport JSON
Rapport JSON portable
La frontière de contrat entre le moteur et le réviseur.
Grand livre d'actifs avec inventaire scopé par projet
Grand livre d'actifs
Inventaire scopé par projet, dédupliqué par MAC puis par IP.
Volet de constats classés par sévérité contextuelle
Constats classés par contexte
La sévérité monte avec la criticité des actifs, pas avec la sortie brute des règles.
Filiation

Le GrassMarlin moderne, conçu pour les engagements partagés.

MarlinSpike reprend là où GrassMarlin s'est arrêté. L'outil original de l'Information Assurance Directorate de la NSA était la bonne idée — visibilité OT/ICS passive depuis les seules captures de paquets — mais c'était une application desktop Java de 2017, en fin de vie depuis sa publication. Le 28 avril 2026, CISA a publié ICSA-26-118-01 pour CVE-2026-6807, une faille de divulgation d'information XXE en v3.2.1. La NSA a confirmé qu'aucun correctif n'arrivera.

Ce n'est pas un fork ; c'est un successeur. Le produit est du code indépendant, une architecture conçue de zéro, et un alignement délibéré sur ce que GrassMarlin avait promis à l'origine à la communauté OT : analyse passive, couverture protocolaire neutre vis-à-vis des fournisseurs, et outillage qui respecte la réalité opérationnelle du terrain — reconstruit comme un atelier web partagé, un contrat de rapport JSON portable, et un modèle d'extensibilité multi-couche. Lisez la provenance complète sur la page wiki Héritage.

Passif uniquementAtelier multi-utilisateursRapport JSON portableCouverture protocolaire OT nativeOpen source
Frontière produit

L'artefact de rapport est le contrat

MarlinSpike garde le moteur autonome et traite l'artefact de rapport généré comme la frontière de passage entre l'analyse de paquets et la revue en aval.

Projet → Scan → Rapport → Atelier → Triage
Modèle de déploiement

Conçu pour les hôtes de terrain temporaires et l'accès en équipe

La voie d'installation privilégiée est un déploiement Docker Compose avec proxy inverse que plusieurs intervenants peuvent partager pendant une évaluation, une investigation d'incident ou un exercice sur table.

Docker ComposeURL partagéeCoeur sans JS
Chaîne d'analyse en 5 stages

De la capture brute à la sortie orientée intervenant.

Le pipeline d'analyse reste intentionnellement lisible : ingestion et validation, dissection protocolaire, construction de topologie, surface de risque et génération de rapport.

STAGE 1
Ingestion
STAGE 2
Dissection
STAGE 3
Topologie
STAGE 4
Risque
STAGE 5
Rapport
Couverture protocolaire

Conscient de l'OT par défaut, avec le contexte L2 préservé.

MarlinSpike est construit autour de la visibilité des protocoles industriels, puis l'enrichit du contexte de découverte réseau pour que les relations d'infrastructure ne soient pas perdues.

OT / ICS
ModbusEtherNet/IPCIPS7commDNP3IEC 60870-5-104OPC-UABACnetPROFINETHART-IPFINSGOOSEMMSOMRON
Couche 2 / découverte
LLDPCDPSTPLACPARPVLAN
Support des standards

Contexte qui soutient la revue des opérateurs et la sécurité.

Le discours public reste borné à ce que la plateforme expose réellement aujourd'hui. MarlinSpike supporte la revue orientée standards sans prétendre être une suite de conformité plus large.

IEC 62443

Les recommandations de remédiation du Stage 4 sont formulées autour du support de remédiation orienté SR de l'IEC 62443 pour les classes de constats supportées.

MITRE ATT&CK

Implémentation ATT&CK complète dans le flux de rapport, incluant les vues matricielles groupées par tactique, les sous-techniques, les mesures d'atténuation et les recommandations de réponse — pour les domaines ICS et Enterprise.

Purdue / ISA-95

Le zonage ISA-95 et Purdue reste central pour la disposition de la topologie, le placement des actifs et la revue des communications inter-niveaux.
Vue d'ensemble de l'architecture

Une application web Flask, un moteur Python, un substrat DPI Rust optionnel.

MarlinSpike est intentionnellement extensible pour les intervenants OT/ICS en activité, pas seulement pour les programmeurs systèmes. Trois surfaces d'extension formelles couvrent l'étendue de la personnalisation.

Moteurs Rust

Composants face aux paquets et fortement orientés événements comme la DPI. Le substrat autonome marlinspike-dpi livre 34 dissecteurs de protocoles et est intégré à l'image Docker à une référence épinglée.

Plugins Python

Analyse face au rapport, enrichissement et logique de triage. Le plugin MITRE ATT&CK, le plugin d'analyse ARP et le plugin APT vivent derrière cette surface et sont chargés par nom de module depuis l'environnement.

Packs de règles YAML

Mappings déclaratifs, suppressions et politique locale. Les packs par défaut sont livrés sous rules/<plugin>/base.yaml ; surcharges par déploiement via variables d'environnement.
Prochaine étape

Docs, déploiement et état des paquets — en un seul endroit.

Continuez avec le déploiement, l'architecture et les canaux de téléchargement.