Correcting the record: 'formerly classified', not 'internal-only'
Ghidra does come from the NSA — but not "NSA internal-only"; rather, "formerly NSA internal-only." Fortune's original phrasing was "formerly classified toolkit": used internally for years, then open-sourced on March 1, 2019 at RSA Conference, with Rob Joyce presenting it personally. As of today it has lived as an open-source project for seven and a half years, with 80,965 GitHub stars (captured 2026-10-06), the latest release 12.1.4 published September 21, and commits pushed to the repo as recently as yesterday. "Internal-only" is a seven-year-old snapshot.
Quick fact-check of other claims: "70,000 GitHub stars" is outdated — the actual count is over 80,000. "Compatible with hundreds of architectures" is a 3x inflation — there are 39 official processor modules (counted from the repo directory on 2026-10-06); with 16/32/64-bit variants per family and community extensions, language variants number in the hundreds, but "hundreds of architectures" is not the official figure. The accurate parts: free ✓, Apache 2.0 ✓, decompilation to C ✓, call graphs ✓, Windows/Mac/Linux ✓ (written in Java, runs anywhere the JVM runs), firmware reversing ✓, malware analysis ✓.
What it actually is
One sentence: a machine that translates machine code back into human language. Import a binary — symbol-less firmware, a crypto-mining trojan, a game cheat — and Ghidra disassembles it into assembly, then automatically decompiles it into C pseudocode while drawing function call graphs. The reverse engineer's core work shifts from "reading hex" to "reading C code to find what's wrong."
Two engineering details are worth noting. First, processor support is written in a dedicated language called Sleigh — a semantic spec per instruction set, covering registers, memory layout, and calling conventions. The 39 official modules range from mainstream architectures like x86, ARM, and RISC-V down to microcontrollers and DSPs like 8051, Z80, PIC, and MSP430 — and that latter half is exactly firmware reversing's home turf: chips in routers, industrial control devices, and IoT gadgets mostly have no OS, and an IDA Pro license costs thousands of dollars while Ghidra is free. The collapse of tooling costs has now happened in software too.
Second, it has two modes. Beyond the interactive GUI there's the Headless Analyzer — the entire decompilation pipeline can run as a command-line batch process. At the time it looked like just a batch interface; in hindsight it was a key foreshadowing.
The foreshadowing pays off: MCP-ification
Headless mode turned Ghidra into an engine agents can call. In March 2025, LaurieWired released GhidraMCP: it wraps decompiler output, function listings, call graphs, and rename operations as MCP tools, letting an LLM sitting inside Claude autonomously reverse binaries — ask it "which function in this binary does process injection" and it calls the tools itself to dig through the code. It hit 10,510 stars in three months.
Then an interesting detail: the project has had zero commits for 16 months (last push 2025-06-23). It isn't dead — the bridge was built and never broke. Ghidra's analysis API surface is so stable that the bridging layer needs no maintenance. This is a different species from coding-domain MCP servers: there, 15 "coding MCPs" turned out to be facades over platform APIs (per this publication's earlier investigation), while here heavy infrastructure is genuinely handed to agents — and the post-handoff maintenance cost approaches zero. Stable interface, unbroken bridge. The ecosystem keeps moving: the official project shipped PyGhidra (first-class Python interface) in the 11.x series, and community projects like autonomous malware-analysis agents (Ghidra MCP Analyst), Claude Code skill packs, and training workshops building local reversing stacks with Ollama have become established.
Tying it to the main thread
In this publication's terms: decompilers are verification instruments; MCP-ification is outsourcing verification bandwidth. A binary is an assertion — it claims to be a calculator; whether it actually behaves like one requires reversing to find out. Human reversing of firmware takes weeks; an agent hooked to Ghidra compresses that to conversation-level. This is the verification-bandwidth collapse playing out in the security domain: fields with extremely high verification costs benefit first from plugging instruments into LLMs.
A falsifiable prediction: within twelve months, mainstream security teams' workflow will be LLM-first — reading decompiled output before deciding which function to inspect next — and agent-native reversing will go from community project to product feature. If Ghidra doesn't build it in officially, a commercial competitor will.
The shortest name in the repo
Ending on the shortest name in the repository directory. Among the 39 processor modules there's one called Toy — an official teaching module, kept clean, designed so newcomers can learn to write Sleigh specs for unfamiliar chips on it. The last mile of firmware reversing isn't in the tooling: for every unsupported chip, someone must first write its semantic spec. The tool became free; that labor has not. A final footnote: in September of the year it was open-sourced, researchers found a vulnerability in Ghidra itself — reversing tools get reversed too, and the NSA was probably not surprised.
---
Sources: GitHub API (NationalSecurityAgency/ghidra — 80,965 stars / 39 processor modules / 12.1.4 / pushed 2026-10-05; LaurieWired/GhidraMCP — 10,510 stars / created 2025-03-23 / pushed 2025-06-23, all captured 2026-10-06), Fortune and Threatpost 2019 coverage ("formerly classified toolkit", years of internal use, first vulnerability found within months of open-sourcing), macobserver/neoteo open-sourcing history, GhidraMCP ecosystem cross-checked across mcpservers/lobehub/mcpmarket.