Il 5 marzo 2019 la National Security Agency statunitense ha scelto la RSA Conference per rendere pubblico Ghidra, il framework di reverse engineering del software realizzato dai propri ricercatori. Lo strumento è creato e mantenuto dalla direzione della ricerca dell’agenzia e il codice sorgente è pubblicato su GitHub con licenza Apache 2.0.
In un bilancio diffuso quattro anni dopo, la NSA contava oltre un milione di download pubblici. Lo sviluppo procede a buon ritmo e la versione 12.1.4, la più recente al momento della nostra verifica, è uscita il 21 settembre 2026.
A cosa serve Ghidra
Fare reverse engineering significa partire da un programma già compilato, ridotto a una sequenza di istruzioni macchina, per capire che cosa fa senza avere a disposizione il codice sorgente. Ghidra apre un eseguibile o un’immagine firmware, ne riconosce il formato, individua funzioni e stringhe e mostra il codice assembly in un listato commentato. Accanto, il decompilatore ricostruisce una versione in pseudo-C molto più leggibile. Le due viste restano sincronizzate, per cui rinominare una variabile o correggere un tipo in una delle due aggiorna subito anche l’altra.
Il suo punto di forza è l’architettura interna. Ogni processore viene descritto in un linguaggio di specifica chiamato Sleigh, che traduce le istruzioni in una rappresentazione intermedia comune, il P-code. Il decompilatore lavora su questa rappresentazione e per questo funziona con tutte le architetture supportate, dai chip x86 e ARM fino a processori embedded poco diffusi. Tutto si può automatizzare con script in Java o in Python, quest’ultimo tramite PyGhidra, e una modalità senza interfaccia analizza interi lotti di file su un server. Ghidra Server mette poi a disposizione un repository condiviso in cui più analisti lavorano ciascuno su una copia locale dello stesso progetto, mentre un debugger collega lo strumento ai debugger nativi del sistema.
Rispetto a IDA Pro, il riferimento commerciale di Hex-Rays, e a Binary Ninja di Vector 35, Ghidra si fa notare prima di tutto perché non costa nulla, decompilatore compreso, qualunque sia il processore. Secondo la NSA il framework è servito ad analizzare router Wi-Fi, elettronica automobilistica e macchine per il voto, e lo stato del New Hampshire lo ha impiegato nella perizia su un’elezione locale del 2020. Nei team di sicurezza serve anche a smontare malware e a cercare vulnerabilità.
Per chi è?
Ghidra è pensato per analisti di malware, ricercatori di vulnerabilità, team di risposta agli incidenti e sviluppatori che devono capire un binario di cui non hanno i sorgenti. Anche il mondo della formazione lo ha adottato: secondo l’agenzia compare in molti corsi universitari ed è molto usato nelle competizioni capture the flag.
Non è uno strumento per principianti. Richiede di saper leggere l’assembly e di conoscere il funzionamento di un processore, e l’interfaccia in Java, molto densa, chiede parecchio tempo per essere padroneggiata. La documentazione indica almeno 4 GB di memoria e consiglia due monitor. Ghidra esamina programmi, non dischi né dump di memoria: per un’immagine della RAM conviene Volatility, per un’indagine su disco Autopsy. La strumentazione di un’applicazione in esecuzione è il campo di Frida.
Scaricare Ghidra in sicurezza
L’unica distribuzione ufficiale si trova nella sezione delle release del repository NationalSecurityAgency/ghidra su GitHub. Ogni versione è un unico archivio zip valido per Windows, macOS e Linux, che per la 12.1.4 pesa 543 MB ed è accompagnato dal relativo hash SHA-256. Non c’è un programma di installazione. Si estrae l’archivio in una cartella, si installa un JDK Java 21 a 64 bit, per esempio Adoptium Temurin o Amazon Corretto, e si avvia lo script ghidraRun. Su macOS la guida prevede di compilare alcuni componenti nativi con Xcode e avverte che Gatekeeper può bloccare quelli non firmati.
Ghidra non ha edizioni a pagamento e non chiede né account né chiavi di licenza. Il vero pericolo è una copia manomessa. Uno strumento nato per aprire file ostili non dovrebbe mai arrivare a sua volta da una fonte dubbia, e un archivio ripubblicato da un portale di download potrebbe nascondere qualsiasi cosa. Il README del progetto segnala inoltre che alcune versioni meno recenti contengono vulnerabilità note e rimanda agli avvisi di sicurezza. Meglio quindi seguire gli aggiornamenti pubblicati su GitHub.
Domande frequenti
Ghidra è davvero gratuito?
Sì. È distribuito con licenza Apache 2.0, senza versioni premium né funzioni bloccate. Decompilatore, collaborazione tramite Ghidra Server e scripting sono inclusi, e la licenza consente anche l’uso commerciale.
Ci si può fidare di uno strumento pubblicato dalla NSA?
Il codice sorgente completo è pubblico su GitHub, dove chiunque può leggerlo e perfino compilarlo da sé invece di usare l’archivio fornito. Il progetto accetta anche contributi esterni. La precauzione sensata è scaricarlo solo dal repository ufficiale e controllare l’hash pubblicato.
Quale versione di Java serve?
Il ramo 12.1 richiede un JDK Java 21 a 64 bit. La documentazione preparata per la versione successiva passa a Java 25, quindi conviene rileggere la guida introduttiva a ogni nuova versione principale. Le build gratuite Temurin e Corretto vanno benissimo.