Servidor MCP que disponibiliza funções de engenharia reversa do Ghidra para que clientes LLM possam descompilar e analisar binários.
cyberkaida/reverse-engineering-assistant
Extensão MCP para Ghidra que permite a modelos de linguagem com IA conduzir análises de engenharia reversa usando ferramentas pequenas e específicas.
- Estrelas
- 947
- Forks
- 93
- Issues abertas
- 17
- Último commit
- há 4 dias
O que é?
ReVa (Reverse Engineering Assistant) é uma extensão do Ghidra que executa um servidor Model Context Protocol, permitindo que modelos de IA consultem e manipulem os dados de análise do Ghidra. Em vez de oferecer uma única ferramenta abrangente, ela disponibiliza várias ferramentas pequenas, semelhantes ao conjunto de funções que um profissional de engenharia reversa usa no Ghidra. As saídas das ferramentas incluem contexto adicional, como namespaces e referências cruzadas, além do código decompilado, para incentivar o modelo a explorar um binário passo a passo.
ReVa funciona em dois modos. No modo assistente, conecta-se a uma interface do Ghidra em execução por HTTP transmitível por streaming, na porta 8080 por padrão, permitindo que o modelo trabalhe em tempo real no projeto aberto. No modo headless, inicia o Ghidra sem interface gráfica, gerencia projetos temporários e é adequado para fluxos de trabalho de automação, CI/CD e Docker. É compatível com o Ghidra 12.0 ou posterior e também oferece acesso ao ambiente de scripting PyGhidra.
O projeto inclui um marketplace de plugins do Claude Code com skills para triagem de binários, análise aprofundada, análise de criptografia e atividades de CTF.
Recursos principais
- 01Disponibiliza várias ferramentas MCP pequenas para consultar e editar dados de análise do Ghidra.
- 02Acrescenta contexto de namespaces e referências cruzadas à saída da decompilação.
- 03Funciona no modo assistente, conectado a uma interface aberta do Ghidra, ou no modo headless.
- 04Oferece acesso ao ambiente de scripting PyGhidra, com opção de autenticação por chave de API.
- 05Inclui skills para Claude Code e um marketplace de plugins.
Casos de uso
- Permitir que um assistente de IA renomeie variáveis, corrija tipos de dados e explique funções em um projeto aberto do Ghidra.
- Executar triagem automatizada de binários em pipelines de CI/CD ou contêineres Docker.
- Resolver desafios de CTF com ajuda de IA, por exemplo, escrevendo scripts de exploit.
- Comparar dois binários e explicar as diferenças com um LLM.
Início rápido
- 1
Defina o diretório de instalação do Ghidra (é necessário o Ghidra 12.0 ou posterior).
export GHIDRA_INSTALL_DIR=/path/to/ghidra - 2
Instale o ReVa com uv.
uv tool install reverse-engineering-assistant - 3
Registre o ReVa como servidor MCP no Claude Code.
claude mcp add --scope user ReVa -- mcp-reva
Antes de usar
- É necessário o Ghidra 12.0 ou posterior, com Java 21 (Ghidra anterior à versão 12.2) ou Java 25 (Ghidra 12.2 ou posterior).
- O modo Assistant exige a instalação da extensão e a ativação manual dos plugins na interface do Ghidra.
- As ferramentas de scripting dão acesso ao PyGhidra; portanto, para expor o servidor em uma interface pública, é necessário configurar a autenticação por chave de API ou desativar essas ferramentas.
Em coleções
Tópicos
Perguntas frequentes
- O que é reverse-engineering-assistant?
- Extensão MCP para Ghidra que permite a modelos de linguagem com IA conduzir análises de engenharia reversa usando ferramentas pequenas e específicas. ReVa (Reverse Engineering Assistant) é uma extensão do Ghidra que executa um servidor Model Context Protocol, permitindo que modelos de IA consultem e manipulem os dados de análise do Ghidra. Em vez de oferecer uma única ferramenta abrangente, ela disponibiliza várias ferramentas pequenas, semelhantes ao conjunto de funções que um profissional de engenharia reversa usa no Ghidra. As saídas das ferramentas incluem contexto adicional, como namespaces e referências cruzadas, além do código decompilado, para incentivar o modelo a explorar um binário passo a passo.
- reverse-engineering-assistant é gratuito? Qual é a licença?
- reverse-engineering-assistant é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- reverse-engineering-assistant ainda é mantido?
- Manutenção ativa. O último commit de reverse-engineering-assistant foi em 3 de nov. de 2026.
- Para que posso usar reverse-engineering-assistant?
- Permitir que um assistente de IA renomeie variáveis, corrija tipos de dados e explique funções em um projeto aberto do Ghidra. Executar triagem automatizada de binários em pipelines de CI/CD ou contêineres Docker. Resolver desafios de CTF com ajuda de IA, por exemplo, escrevendo scripts de exploit. Comparar dois binários e explicar as diferenças com um LLM.
- Como instalar reverse-engineering-assistant?
- Defina o diretório de instalação do Ghidra (é necessário o Ghidra 12.0 ou posterior).: export GHIDRA_INSTALL_DIR=/path/to/ghidra Instale o ReVa com uv.: uv tool install reverse-engineering-assistant Registre o ReVa como servidor MCP no Claude Code.: claude mcp add --scope user ReVa -- mcp-reva
- Onde consigo reverse-engineering-assistant?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/cyberkaida/reverse-engineering-assistant
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Plugin com LLM para radare2 que adiciona o comando r2ai para engenharia reversa assistida por IA e inclui o plugin de decompilação decai.
Uma extensão para Ghidra baseada em LLM que adiciona explicação de código, chat e análise agêntica com IA aos fluxos de trabalho de engenharia reversa.
Servidor MCP que permite a assistentes de IA usar o Ghidra para analisar binários, com mais de 200 ferramentas para descompilar, renomear e anotar.
Servidor MCP que conecta o IDA Pro a clientes LLM para que um assistente de IA possa descompilar, anotar e renomear binários durante a engenharia reversa.
Ferramenta de análise de firmware escrita em Rust que identifica e, opcionalmente, extrai arquivos e dados incorporados em outros arquivos.