- Ghidra MCP Server adalah server Model Context Protocol (MCP) yang menghubungkan kemampuan reverse engineering Ghidra dengan framework AI dan otomasi
- Melalui 110 alat MCP dan 132 endpoint, server ini menyediakan kemampuan analisis biner yang luas seperti analisis fungsi, penjelajahan struktur data, dan ekstraksi string
- Mendukung pemrosesan batch, transaksi atomik, dan analisis real-time, serta dapat dijalankan dengan deployment Docker dan mode headless
- Melalui fitur transfer dokumentasi lintas-biner, dokumentasi fungsi dapat dicocokkan secara otomatis antarversi biner yang berbeda
- Platform untuk mewujudkan workflow reverse engineering berbasis AI dengan stabilitas tingkat produksi
Gambaran umum
- Ghidra MCP Server adalah server MCP kelas produksi yang menghubungkan engine analisis Ghidra dengan alat AI dan sistem otomasi
- Mengimplementasikan Model Context Protocol secara penuh untuk mendukung interaksi dengan model AI
- Mengekspos kemampuan Ghidra melalui HTTP REST dan protokol MCP (stdio/SSE)
Fitur utama
- Integrasi MCP inti
- Kompatibel penuh dengan MCP, menyediakan 110 alat MCP, serta mendukung operasi batch dan transaksi atomik
- Integrasi real-time dengan engine analisis Ghidra
- Analisis biner
- Decompilasi fungsi, call graph, cross-reference, pembuatan struktur data otomatis
- Mencakup ekstraksi string, analisis tabel simbol, pemetaan memori, serta fitur transfer dokumentasi lintas-biner
- Pengembangan dan otomasi
- Pipeline otomasi build-test-deploy-verify
- Pembuatan, eksekusi, dan pengelolaan skrip Ghidra, perbandingan multi-program, serta rename dan pemberian anotasi massal
Instalasi dan menjalankan
- Prasyarat: Java 21 LTS, Apache Maven 3.9+, Ghidra 12.0.2, Python 3.8+
- Langkah instalasi
- Clone repositori lalu pasang dependensi Python
- Salin 14 library Ghidra lalu build dengan Maven
- Deploy plugin ke folder ekstensi Ghidra
- Cara menjalankan
- Pilih transport stdio (default, untuk alat AI) atau transport SSE (untuk klien Web/HTTP)
- Di dalam Ghidra, jalankan Tools > GhidraMCP > Start MCP Server
Performa dan stabilitas
- Implementasi penuh 110 alat MCP, dengan waktu respons di bawah 1 detik untuk sebagian besar operasi
- Struktur operasi batch yang mencapai pengurangan 93% panggilan API
- Semua operasi diproses sebagai transaksi atomik untuk menjamin keandalan
- Menyediakan skrip deployment otomatis yang sadar versi
Konfigurasi API
- Operasi inti: pemeriksaan koneksi, pengambilan metadata, informasi versi, penelusuran entry point
- Analisis fungsi: daftar fungsi, pencarian nama, decompilasi, graf relasi pemanggilan, evaluasi kelengkapan dokumentasi
- Memori dan data: daftar segmen, disassembly, cross-reference, pemeriksaan isi memori
- Dokumentasi lintas-biner: pembuatan hash fungsi, ekspor/penerapan dokumentasi, pencocokan berbasis hash
- Manajemen tipe data: pembuatan struct dan enum, modifikasi field, penggabungan tipe duplikat
- Manajemen simbol dan label: daftar import/export, analisis string, namespace dan manajemen variabel global
- Rename dan anotasi: rename fungsi, data, dan variabel, pengaturan anotasi massal
- Sistem tipe: penetapan prototype fungsi, pengaturan tipe variabel, penelusuran calling convention
- Manajemen skrip Ghidra: daftar skrip, eksekusi, penyimpanan, modifikasi, penghapusan
- Dukungan multi-program: berpindah antarprogram terbuka, daftar file proyek, perbandingan dokumentasi
- Alat analisis: penelusuran fungsi yang belum terdefinisi, pencarian berbasis string, penelusuran pola byte
Arsitektur
- Struktur alat AI/otomasi ↔ MCP Bridge ↔ Plugin Ghidra
bridge_mcp_ghidra.py: server Python yang mengubah protokol MCP menjadi panggilan HTTP
GhidraMCP.jar: plugin Java yang mengekspos kemampuan Ghidra melalui HTTP
ghidra_scripts/: mencakup lebih dari 70 skrip otomasi
Pengembangan dan build
- Menyediakan build berbasis Maven dan skrip deployment PowerShell
- Struktur proyek terdiri dari server Python, plugin Java, library Ghidra, dokumentasi, contoh, dan skrip build
- 14 library wajib (sekitar 37MB) perlu disalin dari jalur instalasi Ghidra
- Mencakup deployment otomatis, operasi batch, transaksi atomik, dan logging terperinci
Dokumentasi dan workflow AI
- Folder docs/ mencakup dokumentasi lengkap, struktur proyek, konvensi penamaan, dan notasi Hungarian
- Prompt workflow AI: menyediakan prompt untuk dokumentasi fungsi, pencocokan antarversi, dan quick start
- Riwayat rilis: detail versi per rilis dicatat dalam CHANGELOG.md dan docs/releases
Lisensi dan status
- Menggunakan Apache License 2.0
- Versi 2.0.0, implementasi penuh 110 alat MCP, mencakup lebih dari 70 skrip Ghidra
- Siap untuk deployment di lingkungan produksi, cocok untuk reverse engineering berbasis AI
Proyek terkait
- re-universe: platform analisis kemiripan biner skala besar berbasis PostgreSQL
- cheat-engine-server-python: server MCP untuk analisis memori dinamis dan debugging
Ucapan terima kasih
- Menyampaikan terima kasih kepada tim Ghidra, pengembang Model Context Protocol, dan para kontributor komunitas
1 komentar
Komentar Hacker News
Proyek ini dibuat karena proses reverse engineering beberapa versi perangkat lunak terasa sangat menyakitkan
Intinya adalah sistem hashing fungsi yang dinormalisasi, yang menghasilkan hash berdasarkan struktur logis fungsi (instruksi, operand, alur kontrol)
Berkat itu, meskipun biner dibangun ulang atau di-rebase, fungsi yang sama tetap memiliki hash yang sama, dan semua komentar, tipe, serta nama dipindahkan secara otomatis
Ini mencakup 110 alat melalui jembatan MCP untuk Ghidra, dan bisa diintegrasikan dengan Claude, Claude Code, atau klien MCP lainnya
Sudah diverifikasi dengan beberapa versi patch Diablo II, dan berhasil memindahkan lebih dari 1.300 anotasi fungsi secara otomatis
Integrasi CI juga dimungkinkan lewat mode headless berbasis Docker
Di v2.0.0 ditambahkan binding khusus localhost, pengaturan timeout, penghapusan label, konfigurasi .env, dan lainnya
Diskusi tentang pendekatan hashing maupun desain MCP sangat diterima
Panduan instalasinya tampaknya belum lengkap. Setelah dipasang di Ghidra dan di-restart, GhidraMCP tidak muncul di menu Tools
Ingin tahu apakah GH Discussions adalah kanal komunikasi yang tepat
Saya pernah mencoba server Ghidra MCP milik LaurieWired, dan analisis biner serta pembuatan keygen jadi sangat menyenangkan dan mudah
Saya pasti akan mencoba server MCP ini juga
Menarik sekali proyek ini muncul pada saat seperti ini
Setelah melihat rekan kerja memakai Ghidra bersama Claude untuk meretas game River Ride, saya juga mencobanya
Saya mem-porting game lama untuk PowerPC ke Apple Silicon, dan meskipun sudah mencoba beberapa MCP, Claude Code sering berhalusinasi soal kode
Pada akhirnya saya mendapat hasil terbaik dengan mode headless Cursor + GPT 5.2 Codex
Misalnya, ia memulihkan sepenuhnya file C64-SID sepanjang 1.300 baris hanya dalam 30 menit
Saat ini saya sedang membuat sistem multi-agen untuk merekayasa balik seluruh game C64
Lihat contoh kode
Reverse engineering dengan AI masih diremehkan
Saya berhasil mengekstrak kunci kriptografi dari aplikasi Android, dan kuncinya ternyata disembunyikan di dalam shader serta hanya bisa diperoleh dengan benar-benar menjalankan shader tersebut
Sekarang kami sedang menambahkan fitur multipemain di browser
Saya sudah berbulan-bulan memakai versi 15 alat dari LaurieWired, dan rasanya seperti struktur internal aplikasi terlihat sepenuhnya transparan
Jadi bisa dipakai untuk melacak bug, membuat plugin, sampai memodifikasi aplikasi
Untuk kode Objective-C, saya juga memakai Hopper Disassembler
Makalah terkait: Full recompilation with LLMs and Ghidra
Reverse engineering dengan LLM benar-benar diremehkan
Saya sedang memulihkan game berusia 30 tahun, dan saat hasil dekompilasi Ghidra serta informasi simbol diberikan ke model dengan pendekatan RAG, hasilnya luar biasa
Bahkan model murah seperti Gemini 3 Flash pun cukup layak dipakai
Sebagian fungsi dihilangkan atau blok switch hanya dibiarkan sebagai komentar
Sebaliknya, Claude Opus atau Qwen3-30B-A3B menghasilkan kode yang jauh lebih utuh
Jendela konteks besar milik Gemini memang unggul, tetapi karena PCode sangat bertele-tele, dalam praktiknya tetap banyak keterbatasan
Saya sempat mengira menghubungkan terlalu banyak alat ke MCP akan menurunkan performa, dan ini terlihat bukan desain yang baik
Namun, alat yang berpusat pada transformasi API tetap kurang kompatibel dengan LLM
Saya bukan reverse engineer, tetapi saya memperbaiki dekryptor ransomware dengan Claude Code dan Ghidra MCP
Saat berhasil memulihkan data berukuran beberapa terabyte, rasanya seperti mendapat kekuatan super
Saya pikir AI bisa menunjukkan kemampuan supermanusia dalam analisis biner
Saat ini pekerjaan itu produktivitasnya rendah dan membosankan, tetapi dengan AI bisa dimanfaatkan untuk audit keamanan atau pertahanan terhadap serangan rantai pasok
“skill-snitch” milik MOOLLM memantau cara kerja skill lain, dan “cursor-mirror” melihat sepenuhnya status internal Cursor
Skill-skill ini bisa dikombinasikan dan dipanggil secara rekursif, sehingga bekerja dengan pendekatan “speed of light” yang jauh lebih cepat daripada MCP
Referensi terkait: Leela MOOLLM Demo Transcript, speed-of-light skill, skill-snitch report
Saya penasaran mengapa ini tidak dibuat berbasis CLI. Belakangan ini LLM dan agen tampaknya lebih mahir menangani CLI