Ghidra MCP: Reverse Engineering Assistido por IA com Claude Code e Binary Exploitation

O reverse engineering é a disciplina mais elitista da cibersegurança. Exige conhecimento de assembly, sistemas operacionais, formatos de binário, e uma paciência que poucos possuem. O Ghidra, framework de RE da NSA, tornou o trabalho mais acessível — mas a curva permanece íngreme. Agora, com servidores MCP como o GhidraMCP (8925+ estrelas) e o ReVa (731+ estrelas), LLMs podem analisar binários, renomear funções, identificar algoritmos de criptografia e até escrever exploits — tudo via linguagem natural.

O projeto [LaurieWired/GhidraMCP](https://github.com/LaurieWired/GhidraMCP) é o pioneiro e o mais popular do ecossistema. Criado por LaurieWired (reverse engineer conhecida na comunidade), ele expõe as funcionalidades core do Ghidra como ferramentas MCP: decompilação, listagem de funções, análise de cross-references e renomeação automática.

Já o [ReVa (cyberkaida/reverse-engineering-assistant)](https://github.com/cyberkaida/reverse-engineering-assistant) é a evolução técnica do conceito. Suporta Ghidra 12+, opera em modo headless, integra-se nativamente com Claude Code, e foi projetado especificamente para lidar com binaries grandes e firmware — usando técnicas de mitigação de context rot para manter a coerência em análises longas.

Como Funciona a Integração MCP com Ghidra

A arquitetura segue o padrão MCP:

1. Ghidra — roda com o plugin MCP instalado, expondo um servidor HTTP (porta 8080 por padrão)

2. MCP Server — o plugin do Ghidra implementa o servidor MCP, recebendo pedidos e executando operações na API interna do Ghidra

3. Cliente MCP — Claude Code, Claude Desktop, Cline ou qualquer cliente compatível conecta-se ao servidor e envia instruções em linguagem natural

O GhidraMCP original usa um bridge Python (`bridge_mcp_ghidra.py`) que conecta o cliente ao servidor HTTP do Ghidra. O ReVa elimina essa camada intermediária usando o streamable HTTP transport nativo do MCP.

Instalando o GhidraMCP (LaurieWired)

Passo 1: Baixar e instalar o plugin

1. Baixe a release mais recente em [github.com/LaurieWired/GhidraMCP/releases](https://github.com/LaurieWired/GhidraMCP/releases)

2. No Ghidra: File → Install Extensions → + (Add Extension)

3. Selecione o arquivo `GhidraMCP-1-2.zip`

4. Reinicie o Ghidra

5. Habilite o plugin em File → Configure → Developer → GhidraMCPPlugin

Passo 2: Configurar o Claude Code

“`json

{

“mcpServers”: {

“ghidra”: {

“command”: “python”,

“args”: [

“/caminho/para/bridge_mcp_ghidra.py”,

“–ghidra-server”,

“http://127.0.0.1:8080/”

]

}

}

}

“`

Para Claude Desktop, edite `claude_desktop_config.json` diretamente.

Passo 3: Usar

Abra um binário no Ghidra, inicie a análise, e no Claude Code:

“`

Você: “Liste todas as funções no binário e identifique as que lidam com networking”

→ Claude usa as ferramentas MCP para listar funções, analisar imports, e filtrar por sockets/connect/recv

“`

Instalando o ReVa (cyberkaida) — Avançado

O ReVa exige Ghidra 12.0+ e oferece dois modos: Assistant (interativo, com GUI) e Headless (sem GUI, para automação).

Modo Assistant

“`bash

Instalar via Gradle

export GHIDRA_INSTALL_DIR=/path/to/ghidra

git clone https://github.com/cyberkaida/reverse-engineering-assistant.git

cd reverse-engineering-assistant

gradle install

“`

Ative o plugin em File → Configure (tanto na Project view quanto no Code Browser).

Claude Code Integration

“`bash

Adicionar o MCP server ao Claude Code

claude mcp add –scope user –transport http ReVa — http://localhost:8080/mcp/message

Permitir todas as ferramentas sem prompt

Use /permissions no Claude Code e adicione regra para mcp__ReVa

“`

Modo Headless (sem GUI)

“`bash

Instalar como tool

export GHIDRA_INSTALL_DIR=/path/to/ghidra

uv tool install reverse-engineering-assistant

Analisar binário diretamente

claude mcp add –scope user ReVa — mcp-reva

claude -p “Importe /bin/ls com ReVa e explique como funciona”

“`

O headless mode cria projetos efêmeros em `.reva/projects/`, limpa automaticamente, e é ideal para pipelines de CI/CD ou Docker.

Claude Code Marketplace

O ReVa inclui skills prontas para o Claude Code:

“`bash

claude plugin marketplace add cyberkaida/reverse-engineering-assistant

“`

Skills incluídas: Binary Triage, Deep Analysis, Cryptography Analysis, CTF guides.

Fluxos de Trabalho Práticos

Triage de Binário

“`

Você: “Faça o triage deste binário. Quais são as imports principais? Usa criptografia? Tem strings suspeitas?”

→ Claude usa get_functions, get_imports, get_strings

→ Identifica APIs de networking, criptografia, e strings hardcoded

→ Gera um relatório de triage classificando o binário

“`

Análise de Criptografia

“`

Você: “Este binário usa criptografia? Identifique os algoritmos, as chaves e como os dados são transformados”

→ Claude decompila funções com referências a AES, RSA, ou custom crypto

→ Rastreia chamadas para funções criptográficas via cross-references

→ Identifica onde chaves são geradas/derivadas/armazenadas

→ Gera relatório em markdown com diagramas PlantUML

“`

CTF: Binary Exploitation

“`

Você: “Este é um problema de CTF. Analise o binário, identifique a vulnerabilidade e escreva um exploit pwntools”

→ Claude decompila as funções relevantes

→ Identifica buffer overflow, format string, ou uso after free

→ Analisa proteções (ASLR, NX, canary) via checksec

→ Escreve script pwntools com o exploit completo

“`

Renomeação e Documentação Automática

“`

Você: “A partir da função main, analise o programa em detalhe. Renomeie variáveis e funções conforme for entendendo”

→ Claude itera sobre as funções, decompila cada uma

→ Renomeia símbolos baseado na semântica (auth_check, encrypt_data, parse_header)

→ Adiciona comentários no código decompilado

→ Gera documentação funcional do binário

“`

GhidraMCP vs ReVa: Qual Usar?

| Feature | GhidraMCP (LaurieWired) | ReVa (cyberkaida) |

|—|—|—|

| Estrelas | 8925 | 731 |

| Ghidra mínimo | Qualquer versão recente | 12.0+ |

| Modo Headless | Não | Sim |

| Transporte | HTTP via bridge Python | Streamable HTTP nativo |

| Claude Code | Via bridge | Nativo (mcp add) |

| Mitigação de context rot | Não | Sim |

| Firmware support | Limitado | Designado para |

| Claude Code Marketplace | Não | Sim (skills prontas) |

| Cross-references | Sim | Sim + contexto expandido |

| Instalação | Download JAR + Install Extension | Gradle install ou pip |

Use o GhidraMCP se você quer algo simples que funciona com qualquer versão do Ghidra e está começando com MCP + RE.

Use o ReVa se você trabalha com binaries grandes, precisa de headless mode, ou quer a integração mais tight com Claude Code. O ReVa é tecnicamente superior para trabalho sério.

O Impacto no Binary Exploitation

O reverse engineering assistido por IA muda o binary exploitation em três dimensões:

Velocidade de análise. O que levava horas — mapear o fluxo de execução, identificar a lógica de auth, encontrar vulnerabilidades — agora leva minutos. O LLM decompila, analisa cross-references e sintetiza informações muito mais rápido que um humano navegando o Ghidra manualmente.

Acessibilidade para CTF. Jogadores de CTF intermediários que travam em desafios de RE agora têm um tutor que explica assembly linha a linha e sugere payloads. Isso não substitui aprender assembly, mas acelera brutalmente o aprendizado.

Análise de malware. Para malware analysis, o ganho é enorme. O LLM pode identificar padrões de C2, extração de credenciais, e técnicas de anti-debug em minutos — tarefas que demoravam dias para um analista júnior.

Riscos e Preocupações

Hallucination em Análise de Binário

LLMs inventam. Quando o LLM diz “esta função implementa AES-256-CBC”, isso pode estar errado. A decompilação do Ghidra é ground truth; a interpretação do LLM não. Sem validação humana, análise de RE por IA gera falsos positivos perigosos.

Vazamento de Código Proprietário

Enviar decompilação de binários comerciais para Claude ou GPT significa que a Anthropic/OpenAI recebe fragmentos do código fonte (decompilado). Para análise de malware público isso é irrelevante. Para RE de software proprietário (mesmo em contextos legais), isso pode violar contratos.

Context Rot em Binários Grandes

Binários grandes (>100MB de firmware) geram milhares de funções. Enviar tudo para o LLM é impossível pelo limite de contexto. O ReVa tenta mitigar isso com ferramentas pequenas e focadas, mas o problema persiste em análises de firmware complexo.

Dependência de Cloud

A integração via Claude Code ou Claude Desktop requer conexão com a API da Anthropic. Para análise de malware air-gapped ou ambientes offline, isso é um blocker. Soluções com modelos locais (Ollama) existem mas a qualidade decai significativamente para RE.

Ecossistema MCP para RE

Além dos dois projetos principais:

[GhidrAssistMCP](https://github.com/symgraph/GhidrAssistMCP) (614 estrelas) — extensão nativa do Ghidra com suporte a socket ativo

[defenseunicorns/pentest-mcp](https://github.com/defenseunicorns/pentest-mcp) — coleção de 50+ servidores MCP para pentest, incluindo Ghidra, Radare2 e YARA

[MCP headless para IDA Pro + Ghidra](https://github.com/search?q=headless+mcp+ida+ghidra&type=repositories) — servidores headless que funcionam com ambos os disassemblers

Conclusão

O GhidraMCP é a prova de conceito que funcionou. O ReVa é a versão production-ready. Juntos, eles representam o maior salto em acessibilidade de reverse engineering desde que o Ghidra se tornou open-source em 2019.

Para quem trabalha com CTF, a combinação Ghidra + Claude Code é overpowered. O LLM não resolve o desafio por você — mas remove o atrito de entender assembly e focar no que importa: a vulnerabilidade.

Para análise de malware em produção, o ReVa em modo headless com Claude Code é a ferramenta mais eficiente disponível hoje. Desde que o contexto seja gerenciado (binaries não muito grandes, análise focada), a qualidade da análise é impressionante.

O binary exploitation assistido por IA não vai substituir reversers experientes. Mas vai fazer o trabalho de quem já sabe o que está fazendo ser absurdamente mais rápido. E vai permitir que uma nova geração de analistas aprenda RE com um tutor disponível 24/7 que nunca se irrita com perguntas sobre endianness.

Repositórios:

  • [LaurieWired/GhidraMCP](https://github.com/LaurieWired/GhidraMCP) — 8925+ estrelas, Apache 2.0
  • [cyberkaida/reverse-engineering-assistant (ReVa)](https://github.com/cyberkaida/reverse-engineering-assistant) — 731+ estrelas, Apache 2.0
  • [symgraph/GhidrAssistMCP](https://github.com/symgraph/GhidrAssistMCP) — 614+ estrelas

Streaming do autor do ReVa: [twitch.tv/cyberkaida](https://twitch.tv/cyberkaida)