- Ghidra MCP Server é um servidor Model Context Protocol (MCP) que conecta os recursos de engenharia reversa do Ghidra a frameworks de IA e automação
- Por meio de 110 ferramentas MCP e 132 endpoints, oferece amplas capacidades de análise de binários, como análise de funções, exploração de estruturas de dados e extração de strings
- Suporta processamento em lote, transações atômicas e análise em tempo real, podendo operar com implantação via Docker e modo headless
- O recurso de transferência de documentação entre binários faz a correspondência automática da documentação de funções entre diferentes versões de binários
- Uma plataforma que permite implementar fluxos de trabalho de engenharia reversa com IA com estabilidade em nível de produção
Visão geral
- O Ghidra MCP Server é um servidor MCP pronto para produção que conecta o mecanismo de análise do Ghidra a ferramentas de IA e sistemas de automação
- Implementa completamente o Model Context Protocol, permitindo interação com modelos de IA
- Expõe os recursos do Ghidra via HTTP REST e protocolo MCP (stdio/SSE)
Principais recursos
- Integração MCP central
- Compatibilidade total com MCP, fornecimento de 110 ferramentas MCP, suporte a operações em lote e transações atômicas
- Integração em tempo real com o mecanismo de análise do Ghidra
- Análise de binários
- Decompilação de funções, grafo de chamadas, referências cruzadas e geração automática de estruturas de dados
- Inclui extração de strings, análise de tabela de símbolos, mapeamento de memória e transferência de documentação entre binários
- Desenvolvimento e automação
- Pipeline automatizado de build-teste-implantação-validação
- Criação, execução e gerenciamento de scripts do Ghidra, comparação entre múltiplos programas, renomeação em massa e inserção de comentários
Instalação e execução
- Pré-requisitos: Java 21 LTS, Apache Maven 3.9+, Ghidra 12.0.2, Python 3.8+
- Procedimento de instalação
- Clonar o repositório e instalar as dependências Python
- Copiar 14 bibliotecas do Ghidra e fazer o build com Maven
- Implantar o plugin na pasta de extensões do Ghidra
- Formas de execução
- Escolher entre transporte via stdio (padrão, para ferramentas de IA) ou SSE (para clientes Web/HTTP)
- No Ghidra, executar Tools > GhidraMCP > Start MCP Server
Desempenho e estabilidade
- Implementação completa de 110 ferramentas MCP, com tempo de resposta abaixo de 1 segundo na maioria das operações
- Estrutura de operações em lote que alcança redução de 93% nas chamadas de API
- Todas as operações são processadas como transações atômicas, garantindo confiabilidade
- Fornece scripts de implantação automática com reconhecimento de versão
Estrutura da API
- Operações centrais: verificação de conexão, consulta de metadados, informações de versão, exploração de entry points
- Análise de funções: lista de funções, busca por nome, decompilação, grafo de relações de chamada, avaliação da completude da documentação
- Memória e dados: lista de segmentos, disassembly, referências cruzadas, inspeção de conteúdo de memória
- Documentação entre binários: geração de hash de função, exportação/aplicação de documentação, correspondência baseada em hash
- Gerenciamento de tipos de dados: criação de structs e enums, modificação de campos, mesclagem de tipos duplicados
- Gerenciamento de símbolos e labels: listas de import/export, análise de strings, namespaces e gerenciamento de variáveis globais
- Renomeação e comentários: renomeação de funções, dados e variáveis, definição de comentários em massa
- Sistema de tipos: definição de protótipos de função, configuração de tipos de variáveis, consulta de convenções de chamada
- Gerenciamento de scripts do Ghidra: listagem, execução, salvamento, modificação e exclusão de scripts
- Suporte a múltiplos programas: alternância entre programas abertos, lista de arquivos de projeto, comparação de documentação
- Ferramentas de análise: busca de funções indefinidas, pesquisa baseada em strings, busca de padrões de bytes
Arquitetura
- Estrutura ferramentas de IA/automação ↔ ponte MCP ↔ plugin do Ghidra
bridge_mcp_ghidra.py: servidor Python que converte o protocolo MCP em chamadas HTTP
GhidraMCP.jar: plugin Java que expõe recursos do Ghidra via HTTP
ghidra_scripts/: inclui mais de 70 scripts de automação
Desenvolvimento e build
- Fornece build baseado em Maven e scripts de implantação em PowerShell
- A estrutura do projeto é composta por servidor Python, plugin Java, bibliotecas do Ghidra, documentação, exemplos e scripts de build
- É necessário copiar 14 bibliotecas obrigatórias (cerca de 37 MB) do caminho de instalação do Ghidra
- Inclui implantação automática, operações em lote, transações atômicas e logging detalhado
Documentação e fluxo de trabalho com IA
- A pasta docs/ inclui documentação completa, estrutura do projeto, convenções de nomenclatura e notação húngara
- Prompts de fluxo de trabalho com IA: documentação de funções, correspondência entre versões e prompts de início rápido
- Histórico de versões: CHANGELOG.md e docs/releases trazem detalhes por versão
Licença e status
- Aplica-se a Apache License 2.0
- Versão 2.0.0, implementação completa de 110 ferramentas MCP, com mais de 70 scripts do Ghidra incluídos
- Pronto para implantação em ambiente de produção, adequado para engenharia reversa com IA
Projetos relacionados
- re-universe: plataforma de análise de similaridade de binários em larga escala baseada em PostgreSQL
- cheat-engine-server-python: servidor MCP para análise dinâmica de memória e depuração
Agradecimentos
- Agradecimentos à equipe do Ghidra, aos desenvolvedores do Model Context Protocol e aos contribuidores da comunidade
1 comentários
Comentários do Hacker News
Criei este projeto porque o processo de fazer engenharia reversa de várias versões de software era doloroso demais
O ponto central é um sistema de hash normalizado de funções, que gera hashes com base na estrutura lógica da função (instruções, operandos, fluxo de controle)
Graças a isso, mesmo que o binário seja recompilado ou rebaseado, a mesma função mantém o mesmo hash, e todos os comentários, tipos e nomes são transferidos automaticamente
Inclui 110 ferramentas com uma ponte MCP para o Ghidra, podendo ser integrado ao Claude, Claude Code ou outros clientes MCP
Foi validado com várias versões de patch de Diablo II, e foi possível transferir automaticamente mais de 1.300 comentários de funções
A integração com CI também é possível com o modo headless baseado em Docker
Na v2.0.0, foram adicionados binding apenas para localhost, configuração de timeout, exclusão de labels, configurações via .env etc.
Discussões sobre a abordagem de hashing ou o design de MCP são bem-vindas
O guia de instalação parece incompleto. Instalei no Ghidra e reiniciei, mas o GhidraMCP não aparece no menu Tools
Queria saber se o GH Discussions é o canal certo para comunicação
Já usei o servidor MCP do Ghidra da LaurieWired, e a análise de binários e a criação de keygens foram divertidas e simples demais
Com certeza vou usar este servidor MCP também
É curioso ver este projeto aparecer justo agora
Vi um colega de trabalho usar Ghidra com Claude para hackear o jogo River Ride e resolvi tentar também
Eu havia portado um jogo antigo de PowerPC para Apple Silicon, e embora tenha testado vários MCPs, o Claude Code alucinava código com frequência
No fim, obtive os melhores resultados com o modo headless do Cursor + GPT 5.2 Codex
Por exemplo, ele restaurou completamente um arquivo C64-SID de 1.300 linhas em 30 minutos
Atualmente estou criando um sistema multiagente para fazer engenharia reversa de um jogo inteiro de C64
Veja o código de exemplo
A engenharia reversa com IA está sendo subestimada
Consegui extrair chaves de criptografia de um app Android, mas as chaves estavam escondidas dentro de shaders, e só dava para obtê-las executando o shader de fato
Agora estamos adicionando multiplayer no navegador
Uso há meses a versão de 15 ferramentas da LaurieWired, e a sensação é de que a estrutura interna do app fica completamente transparente
Dá para rastrear bugs, criar plugins e até modificar o app
Para código Objective-C, também uso o Hopper Disassembler
Artigo relacionado: Full recompilation with LLMs and Ghidra
Engenharia reversa com LLM realmente está sendo subestimada
Estou restaurando um jogo de 30 anos, e quando forneço ao modelo o resultado da descompilação do Ghidra e informações de símbolos em estilo RAG, saem resultados impressionantes
Até modelos baratos como Gemini 3 Flash já são suficientemente úteis
Ele omite partes da função ou deixa o interior de blocos switch apenas em comentários
Já Claude Opus e Qwen3-30B-A3B produzem código muito mais completo
A grande janela de contexto do Gemini é uma vantagem, mas na prática há muitas limitações por causa da verbosidade do PCode
Eu achava que conectar ferramentas demais ao MCP prejudicava o desempenho, e isso não parece um bom design
Ainda assim, ferramentas muito centradas em conversão de API continuam tendo pouca compatibilidade com LLMs
Não sou engenheiro reverso, mas usei Claude Code e Ghidra MCP para melhorar um descriptografador de ransomware
Quando consegui recuperar vários terabytes de dados, foi realmente como ganhar um superpoder
Acho que a IA pode demonstrar capacidade sobre-humana em análise de binários
Hoje isso ainda é um trabalho de baixa produtividade e entediante, mas com IA pode ser usado também em auditorias de segurança e na defesa contra ataques à cadeia de suprimentos
O “skill-snitch” do MOOLLM monitora como outras skills funcionam, e o “cursor-mirror” examina completamente o estado interno do Cursor
Essas skills podem ser combinadas e chamadas recursivamente, funcionando de forma “speed of light”, muito mais rápida que MCP
Materiais relacionados: Leela MOOLLM Demo Transcript, speed-of-light skill, skill-snitch report
Fiquei curioso sobre por que isso não foi feito de forma baseada em CLI. Parece que hoje em dia os LLMs e agentes lidam melhor com CLI