REA, abreviação de Reverse Engineer Anything, é um servidor MCP e uma CLI de código aberto que dão a um agente de programação as ferramentas para desmontar software sem o código-fonte. Aponte Claude Code, Codex, Cursor ou outro agente para um binário nativo, um aplicativo Electron, um assembly .NET, um APK Android, um site ou uma captura de rede salva, pergunte como um recurso funciona e a REA retorna pseudocódigo, gráficos de módulos, logs de requisições e as evidências por trás de cada afirmação. O agente então explica o comportamento ou o reconstrói.
O repositório morluto/rea foi criado em abril de 2026 e ficou quase despercebido até a primeira semana de outubro. Em 12 de outubro, já havia passado de 115.000 estrelas e 25.000 forks, uma das subidas mais rápidas que o GitHub já viu. Este guia cobre o que a REA faz, como instalá-la, onde ela é forte, onde o hype ultrapassa a realidade e a parte que a maioria da cobertura ignora: a REA lê capturas HAR e mitmproxy, o que a torna um front end para engenharia reversa de APIs que você pode concluir no Apidog.
Os números por trás do hype
O acompanhamento diário da Trendshift mostra o formato do pico. A REA apareceu pela primeira vez na lista de tendências em 4 de outubro com cerca de 1.400 novas estrelas em um dia. Depois cresceu de forma composta por uma semana.
| Data | Novas estrelas naquele dia |
|---|---|
| 4 out. | 1.373 |
| 7 out. | 5.602 |
| 9 out. | 19.375 |
| 10 out. | 26.572 |
| 11 out. | 31.255 |
O repositório ficou na primeira posição do GitHub Trending em cinco dos sete dias de 6 a 12 de outubro. Os lançamentos acompanharam o ritmo: a versão 3.2 saiu em 3 de outubro, a 4.0 em 5 de outubro, a 5.0 em 7 de outubro, a 6.0 em 8 de outubro e da 6.1 à 6.4 entre 9 e 11 de outubro. Esse ritmo importa para quem está adotando o projeto, e voltaremos a ele.
Nenhum tuíte ou post de lançamento isolado explica o salto. A proposta fez o trabalho: "Veja um recurso de que você gosta. Entenda como ele funciona, até o nível do binário." Vídeos de agentes reconstruindo aplicativos de desktop a partir de seus binários se espalharam rapidamente, junto com as alegações habituais de que o software acabou. A leitura mais útil é mais estreita. A REA é um conector bem embalado entre agentes e ferramentas de engenharia reversa que já existiam.
O que a REA faz
A REA roda como um servidor MCP local. Seu agente chama as ferramentas dela, a REA inspeciona o alvo com o motor adequado e o agente recebe descobertas estruturadas junto com suas limitações e incógnitas. Os mesmos fluxos de trabalho estão disponíveis como comandos CLI, então você pode criar scripts sem nenhum agente.
O que ela analisa, conforme a tabela de alvos do README:
| Alvo | O que a REA retorna | Precisa de |
|---|---|---|
| Binários nativos | Pseudocódigo, assembly, strings, símbolos, referências cruzadas | Hopper, Ghidra ou IDA |
| Binários Go | Versão do compilador, módulos, configurações de build | Nada extra |
| Aplicativos JavaScript e Electron | Módulos, imports, source maps, rotas, fronteiras de IPC | Somente Node.js |
| Sites | Estrutura da página, scripts, observações de rede, capturas de tela | Um navegador da família Chrome |
| Capturas de rede salvas | Requisições, respostas, payloads, localizações de origem | HAR; mitmdump no Linux para mitmproxy |
| Assemblies .NET | Metadados, CIL, dependências nativas | Nada extra |
| APKs e dispositivos Android | Manifesto, métodos descompilados, logs, capturas de tela | JADX mais um JDK; adb |
| Firmware | Regiões, resultados de extração | Binwalk ou Unblob no Linux |
| Bytecode WASM e EVM | Seções, imports e exports, seletores de dispatch | WABT; Linux x64 |
A escolha de design que distingue a REA de um wrapper raso é o modelo de evidência. Cada resultado carrega sua procedência: hashes de arquivos, intervalos de bytes, ponteiros JSON para a captura e uma lista explícita do que a análise não conseguiu estabelecer. O projeto repete isso em sua documentação. A análise roda na sua máquina, mas o FAQ do README é direto: o provedor do modelo usado pelo agente ainda recebe os resultados das ferramentas sob a própria política de dados.
Como instalar a REA
Você precisa do Node.js 22.19 ou posterior (23 e 25 não são suportados) e do npm. Um comando registra o servidor MCP e instala as instruções de skill correspondentes para o seu agente:
npx rea-agents setup
A configuração mostra um plano, faz backup da configuração existente e grava somente após a sua aprovação. De acordo com o guia de instalação, ele suporta Claude Code, Claude Desktop, Codex, Cursor, Gemini CLI, Windsurf, Devin, OpenCode, Antigravity, GitHub Copilot CLI, VS Code, Grok Build, Hermes e mais, cada um selecionável com uma flag --client. Reinicie o agente depois e peça algo como:
Understand how search works in the Notes app, show me the evidence,
and build a similar feature for my project.
Para uma CLI global:
npm install --global rea-agents
rea doctor --json
A análise de JavaScript estático, .NET, sites e capturas funciona sem nenhum motor extra. A análise nativa profunda precisa de Hopper, Ghidra 12.1 com JDK 21 ou mais recente, ou IDA. A configuração pode instalar o Hopper com a sua aprovação, mas o Hopper é um software comercial separado, com a própria licença. O Ghidra no Windows está marcado como experimental.
No que a REA é boa, segundo as demonstrações
Os estudos de caso do próprio projeto são o benchmark mais honesto. No estudo do DX-Boll, o agente seguiu uma chamada de som até o helper de posição para panorâmica, transformou pseudocódigo incompleto em C e a reconstrução passou nos 3.205 casos de teste x86 originais enquanto reproduzia todos os 63 bytes da função compilada. No estudo do Notion, ele rastreou a API de área de transferência do renderer, passando por preload e IPC, até o processo principal do Electron. Um terceiro recuperou um cálculo de ângulo de anel de balas a partir de instruções de 16 bits de um jogo para PC-98 dos anos 1990.
Perceba o padrão. São perguntas bem delimitadas sobre uma função ou um caminho de dados, com uma forma de verificar a resposta. É aí que a engenharia reversa orientada por agentes funciona hoje. Demonstrações de "reconstrua este aplicativo inteiro" parecem boas em vídeo e produzem algo semelhante ao alvo, mas uma análise inicial que comparou a REA a um agente comum em um aplicativo Mac simples encontrou uma diferença pequena e uma execução mais lenta com a REA. O valor aparece quando a pergunta é específica e o alvo é complexo.
REA para trabalho com APIs: da captura à especificação testada
Aqui está a parte relevante para quem constrói sobre APIs. A ferramenta inspect_web_network_capture da REA lê um arquivo HAR (ou uma captura nativa do mitmproxy no Linux) offline. Ela nunca refaz requisições para as URLs gravadas. Valida cada entrada, preserva os corpos de requisição e resposta com seus hashes e exclui estruturalmente das evidências cabeçalhos de autorização, cookies e credenciais na URL.
Depois, ela faz algo que um time de APIs reconhecerá imediatamente. Passe a evidência retida para inspect_analysis_view com a visão api-surface e a REA agrupa cada requisição por método, origem e template de caminho inferido. IDs numéricos viram {numeric}, UUIDs viram {uuid}, strings hexadecimais longas viram {hex} e datas viram {iso-date}. Cada grupo cita os registros de onde veio e sinaliza statuses ou tipos de conteúdo mistos. O guia de capturas é cuidadoso ao dizer que a visão não faz alegações de schema ou handler. É um inventário inferido, não uma especificação.
Esse inventário é exatamente o ponto de partida para o fluxo do nosso guia de engenharia reversa de APIs, e o Apidog o conclui:
- Capture uma vez. No Chrome DevTools, reproduza o fluxo e salve todas as requisições como um HAR com conteúdo. Grave com uma conta de teste; um HAR contém tokens ativos.
- Deixe o agente mapear. Peça ao seu agente para rodar a REA no HAR e resumir a superfície da API. Você recebe a lista de endpoints, os padrões de ID e quais chamadas retornaram erros, com ponteiros de volta aos registros brutos.
- Importe o mesmo HAR no Apidog. O Apidog transforma requisições capturadas em endpoints, com uma opção para gerar um caso de teste padrão por endpoint e descartar ativos estáticos na importação. Nosso passo a passo de importação de HAR cobre a limpeza.
-
Promova os templates inferidos a parâmetros de caminho reais. Os placeholders
{numeric}e{uuid}da REA mostram quais segmentos parametrizar nas definições de endpoints do Apidog. - Faça mock e teste. Ative o smart mock do Apidog para que o código do cliente rode contra a API reconstruída antes de você tocar na real; depois escreva asserções sobre as formas de resposta capturadas e execute-as pela CLI do Apidog no CI.
A divisão é limpa. A REA é boa em ler evidências e explicá-las. O Apidog é onde os endpoints se tornam um contrato documentado, com mock e testado que o seu time pode compartilhar. Nenhum faz o trabalho do outro.
Ressalvas antes de adotar
A velocidade de lançamentos tem dois lados. Sete versões menores foram lançadas em nove dias, e a política always-bump-minor do projeto significa que um aumento de versão menor pode ser uma mudança disruptiva. O guia de migração para 6.2 mudou o formato de todos os resultados MCP. Se você escreve scripts contra a saída JSON da REA, fixe a versão e leia o changelog antes de atualizar.
É um conector, não uma sandbox. A política de segurança do projeto afirma que a ponte local de provedores não é uma sandbox e que abrir um binário não confiável executa a análise com as permissões do seu usuário. Analise alvos não confiáveis em um ambiente isolado, da mesma forma que você isolaria as chamadas de ferramentas de qualquer agente.
As limitações de plataforma são específicas. A decodificação nativa do mitmproxy exige exatamente o mitmdump 12.2.3, no Linux, fornecido por você. Os caminhos de extração de firmware, EVM e WASM são para Linux x64. O Hopper não tem build para Windows.
A responsabilidade legal continua sua. O README limita a REA a pesquisa, análise e reconstrução legais e diz que você é responsável pela autorização. Copiar um recurso de um concorrente continua sendo a mesma questão legal que era antes de a ferramenta existir. O projeto também precisou declarar que não emitiu nenhum token e que moedas que usam seu nome não são afiliadas.
Está no início. Mais de 100 colaboradores e mais de 170 issues e pull requests abertos no momento desta escrita. A documentação é detalhada, mas espere arestas em qualquer coisa fora dos caminhos destacados.
Perguntas frequentes
A REA é gratuita? Sim. O código é licenciado sob a MIT e o pacote npm é gratuito. O Hopper é um produto pago se você o escolher para análise nativa; o Ghidra é gratuito.
A REA faz upload do meu aplicativo ou binário? Não. A análise roda localmente. Os resultados das ferramentas vão para o modelo usado pelo seu agente, então a política de dados desse provedor se aplica.
Preciso do Ghidra ou do IDA para começar? Não para análise de JavaScript, Electron, .NET, sites ou capturas. Somente a descompilação de binários nativos precisa de um motor.
A REA pode produzir uma especificação OpenAPI a partir do tráfego? Não. A visão api-surface é um inventário inferido com templates de caminho. Importe o HAR no Apidog para obter definições editáveis de endpoints e exporte o OpenAPI de lá. Baixe o Apidog para testar a importação com uma captura que você já tenha.
Onde isso deixa você
A REA ganhou suas estrelas ao empacotar motores reais de engenharia reversa atrás de um servidor MCP e documentar as evidências que retorna. Use-a para perguntas bem delimitadas: como uma função funciona, qual canal de IPC carrega uma mensagem, como é o tráfego de um aplicativo. Trate as demonstrações de reconstruir tudo como demonstrações.
Para times de API, a vantagem prática é o caminho da captura. Deixe o agente ler o HAR com a REA, importe o mesmo arquivo no Apidog e transforme o inventário em endpoints que você pode simular, testar e documentar.


Top comments (0)