Windows
MSI for managed deployments, NSIS .exe for hand-installs. No Wireshark, Npcap, or Python prerequisite.
One file. PCAP in. Full OT/ICS triage workbench out. No Wireshark required. No Python install. No Docker. No internet. No team server. The thing you put on the engagement laptop, for engagements where the host has nothing.
GrassMarlin was the NSA-released OT topology mapper that field defenders quietly carried on engagement laptops for years. It worked, until it didn't. Abandoned in 2017, Java-bound, single-platform, no longer maintained. CVE-2026-6807 (April 2026) made it actively unsafe to keep using.
GlassMarlin picks up where it left off. Same defender utility, modernised, cross-platform, with the full risk + MITRE ATT&CK + IOC + baseline + sub-PCAP-carve stack on top of topology mapping. Same drop-it-on-a-laptop spirit. Zero external dependencies. Full heritage on the GrassMarlin lineage page →
grassmarlin.com runs the multi-user web workbench you'd drop on an engagement host. GlassMarlin runs the same triage engine as a native desktop binary for the cases where a server is the wrong tool, air-gapped boxes, flight-deck work, vendor SCIFs, bunkers, laptops with nothing else on them.
| Aspect | grassmarlin.com (web) | GlassMarlin (desktop) |
|---|---|---|
| Deployment | Docker Compose, reverse proxy, persistent volumes | One signed installer per OS, embedded runtime |
| User model | Multi-user with auth, projects scoped per-user | Single-user, local only |
| OS target | Linux container (any host with Docker) | Windows .msi, macOS .dmg, Linux .AppImage |
| External tooling | tshark in the container, libpcap on the host | None, Rust dissection, no Wireshark needed |
| Database | PostgreSQL service | Embedded SQLite, single file |
| Internet | Optional (for ATT&CK Navigator export) | Never. Period. |
| Engine | Same MarlinSpike engine and plugins | Same MarlinSpike engine and plugins |
| Report artifact | Portable JSON, reviewable anywhere | Portable JSON + OCSF + STIX + Sigma + ATT&CK Navigator |
| Best fit | Engagement teams, shared field hosts, lab servers | Defender on a laptop, air-gapped hosts, SCIFs, plane rides |
The promise on GlassMarlin's installer is exact: drop the file on the laptop, open a PCAP, get the workbench. No surprise dialogs asking you to install Wireshark, no Python missing on the target host, no internet round-trip to fetch ATT&CK data. Every dependency ships inside the binary.
GlassMarlin.msi Single MSI. No Wireshark / Npcap install prerequisite. No system Python.
GlassMarlin.dmg Signed and notarised. Gatekeeper-clean on first launch.
GlassMarlin.AppImage Runs on any glibc 2.28+ host. chmod +x, run.
GlassMarlin isn't just topology. It's the entire MarlinSpike triage stack, findings with IEC 62443 mapping, MITRE ATT&CK alignment, IOC hunting, per-asset baselines, time-window sub-PCAP carve-out, running locally, on the binary you just opened.
SecurityMode=None, Modbus writes from unexpected sources, each with IEC 62443 SR mapping and remediation guidance.
editcap.
Pick the OS. Run the installer (or unpack the package). The workbench opens in your browser. Every artifact is signed and listed in SHA256SUMS with GPG and OpenTimestamps signatures alongside the release.
MSI for managed deployments, NSIS .exe for hand-installs. No Wireshark, Npcap, or Python prerequisite.
Universal-style DMG for aarch64. Signed and notarised, opens cleanly under Gatekeeper. Drag to Applications, launch.
Self-contained AppImage for any glibc 2.28+ host, or a Debian package for apt-managed systems.
Every artifact is signed and the SHA256SUMS file ships with a GPG signature, an X.509 certificate, and an OpenTimestamps proof. Use any of them to confirm authenticity before running the installer.
The defender's local tool. The thing you put on the engagement laptop. The thing you run on an air-gapped host, on a flight to the site, in a vendor's SCIF, in a bunker. No infrastructure. No internet. No prep.
GlassMarlin is single-user. There are no auth backends, no multi-tenant scoping, no shared URL. If two analysts need to look at the same project, they each open the file locally, or they pull it into a grassmarlin.com deployment for cross-engagement collaboration.
GlassMarlin doesn't do live capture. It's PCAP-in, workbench-out. If you need a live sensor that talks to the team workbench, that's the marlinspike-capd sidecar on the server side, not on the laptop.
GlassMarlin is not trying to be Wireshark. It's the OT triage layer on top of a PCAP (topology, asset context, ATT&CK alignment, findings) that Wireshark deliberately doesn't try to be. Read with Wireshark when you need packet bytes; drive the engagement with GlassMarlin.