A análise do REA é mesmo local? O que roda na sua máquina e o que chega ao agente

diagrama mostrando REA análise local rodando na máquina e dados sendo enviados ao provedor de modelo do agente
Resposta rápida

Sim, a análise do REA (Reverse Engineer Anything) roda na sua máquina: o projeto afirma que não envia o app para um serviço de análise hospedado. Porém, as descobertas, evidências e limitações que o agente recebe vão para o provedor de modelo que esse agente usa. Para quem trabalha com binário ou app sob acordo de confidencialidade, a pergunta certa é se o acordo permite enviar informação derivada do software a terceiros. A autorização para inspecionar continua sendo responsabilidade de quem usa a ferramenta

A análise do REA roda na sua máquina, mas isso não quer dizer que nada sai dela

Fala aí, beleza? Se você anda vendo agente de código fazendo engenharia reversa de app por aí, provavelmente já esbarrou no REA (Reverse Engineer Anything)

Ele é uma CLI e um servidor MCP de código aberto, publicado por morluto sob licença MIT, que deixa agentes como o Claude Code investigarem software sem ter o código-fonte

Aí vem a pergunta que importa pra quem mexe com binário de cliente, firmware de parceiro ou app coberto por acordo de confidencialidade (NDA): essa análise é local mesmo?

A resposta curta é sim, com um asterisco bem grande. Bora destrinchar isso 🙂

Formação Claude Code
Formação Recomendada

Formação Claude Code

Domine Claude Code do absoluto zero até o avançado

  • 120 aulas
  • 4 projetos
  • 9h 45min

Como o REA funciona: agente, servidor MCP local e ferramentas de análise

Antes do como, o porquê: um agente de código sozinho não sabe abrir um binário e entender o que tem lá dentro

Ele precisa de ferramentas, e é aí que entra o MCP

Que MCP? É o protocolo que deixa o agente conversar com ferramentas externas. Se você já usa algum servidor MCP no Claude Code, a ideia é bem semelhante: o agente chama, o servidor executa e devolve o resultado

No REA o fluxo fica assim:

  • O agente pede uma análise para um servidor MCP local
  • As ferramentas inspecionam o alvo
  • O agente segue o código relevante até entender o que está acontecendo
  • O agente recebe as descobertas com a evidência e as limitações declaradas por trás de cada conclusão

O projeto organiza a investigação em três etapas:

  1. Decompilar: recuperar código legível, strings e nomes (se liga: isso é uma reconstrução pra leitura e análise, não o código-fonte original do app, falo mais disso lá embaixo)
  2. Entender: seguir o código até explicar a funcionalidade
  3. Recriar: transformar o aprendizado em funcionalidade adaptada à sua stack

Quais formatos o REA inspeciona?

A lista é bem ampla, por isso o nome Reverse Engineer Anything haha

  • Binários nativos
  • Apps JavaScript e Electron
  • Assemblies .NET
  • APKs Android
  • Módulos WebAssembly
  • Firmware
  • Sites

O que roda na sua máquina durante a inspeção?

O README do projeto é direto: a análise roda no seu host local suportado e o REA não faz upload do app para um serviço de análise hospedado

Ou seja, o arquivo em si fica com você

O trabalho pesado acontece em ferramentas que estão na sua máquina:

  • Análise nativa pode usar uma instalação existente de Hopper, Ghidra ou IDA. O setup pode instalar o Hopper mediante sua aprovação, já Ghidra e IDA precisam estar instalados antes
  • Inspeção estática de JavaScript e .NET funciona sem nenhum motor de análise nativa
  • Análise nativa profunda via Hopper e dossiês de funções completos, que o projeto lista entre os recursos atuais. O README não detalha se Ghidra e IDA chegam nesse mesmo nível, então não conte com isso sem conferir
  • Captura controlada de processos
  • Registros Evidence v2: pacotes de evidência reproduzíveis que dá pra importar, exportar e comparar

Tome cuidado com um detalhe: os formatos nativos e os sistemas host suportados variam conforme o provedor de análise, e o suporte ao Ghidra no Windows é experimental

Então antes de contar com um motor específico, confere no README se a combinação do seu sistema com a ferramenta está coberta

O que chega ao agente e ao provedor de modelo?

Aqui está o asterisco 👀

A análise é local, mas os resultados vão para o provedor de modelo do seu agente

Faz sentido, né? O agente precisa ler as descobertas pra raciocinar sobre elas, e quem faz esse raciocínio é o modelo, que normalmente está do lado do provedor

Na prática, o que sai da máquina é o que o REA devolve ao agente: descobertas, evidências e limitações

Fica na sua máquina Sai para o provedor do modelo
O arquivo do app analisado As descobertas que o agente recebe
A execução de Hopper, Ghidra ou IDA As evidências que sustentam cada conclusão
A inspeção estática de JS e .NET As limitações declaradas da análise

O que as fontes não detalham: quais trechos exatos viajam em cada chamada, qual o volume e qual política de retenção o provedor aplica a esse conteúdo

Por isso a postura segura é simples: trate tudo o que o REA entrega ao agente como dado que deixa a sua máquina

Essa mesma confusão entre local e nada sai aparece em outras ferramentas, tipo na discussão sobre o que é local-first de verdade no OpenDesign

O que muda para quem lida com binário sob acordo de confidencialidade?

Vamos ao ponto da decisão

O lado bom: o binário não vai pra um serviço hospedado do REA. Isso já reduz bastante a exposição em comparação com subir o arquivo inteiro pra algum site de análise

O lado que exige atenção: evidência derivada desse binário (strings, nomes, trechos recuperados, explicações de comportamento) chega ao provedor de modelo do agente

Antes de rodar em material sob NDA, se faz estas perguntas:

  • O acordo cobre o envio de trechos ou descobertas derivadas do software a terceiros?
  • Qual provedor de modelo o seu agente usa hoje?
  • A política desse provedor é compatível com o que o contrato exige?
  • Você tem autorização clara pra inspecionar esse software?

Sobre essa última, se liga: o próprio projeto avisa que não garante que uma recriação seja completa, idêntica ou autorizada

Se uma inspeção ou recriação é permitida depende do software e das circunstâncias, e a capacidade técnica do REA não responde essa pergunta. Essa responsabilidade é de quem usa

E isso aqui não é aconselhamento jurídico, beleza? Na dúvida sobre o contrato, quem responde é o jurídico da sua empresa ou do cliente

Quando a análise local do REA faz sentido (e quando repensar)?

Faz sentido quando:

  • Você quer entender o comportamento de um app seu, ou de um software com permissão clara pra inspecionar
  • Você precisa comparar versões de um mesmo alvo, aproveitando que os registros Evidence v2 podem ser exportados, importados e comparados
  • O alvo é JavaScript, Electron ou .NET e você não quer instalar Hopper, Ghidra ou IDA só pra isso

Vale repensar quando:

  • O acordo proíbe compartilhar qualquer informação derivada do software com terceiros
  • Você não sabe qual provedor o agente usa nem como ele trata os dados
  • A expectativa é recuperar o código original ou sair com um clone pronto

Sobre esse último ponto: o REA não afirma recuperar o código-fonte original nem clonar um app automaticamente

Aquele código legível da etapa de decompilar é material pra você ler e entender, não o fonte que o desenvolvedor escreveu

A saída é evidência pra entender comportamento. Nada de next, next e finish e o app do concorrente aparece no seu repo xD

O que você precisa para rodar o REA localmente?

  • Node.js 22.x (>=22.19), 24.x (>=24.11) ou 26+, junto com o npm
  • Motor de análise nativa (opcional, depende do formato): Hopper, Ghidra ou IDA. Pra JavaScript e .NET estáticos não precisa
  • Agente com suporte a servidor MCP local: o setup configura Claude Code, Codex, Cursor, Gemini CLI, Grok Build e outros. Clientes fora dessa lista podem fazer o registro MCP manual

Como instalar e registrar o REA no seu agente?

São poucos passos, bora lá

Os passos abaixo são os mesmos do README pra qualquer agente que o setup configura, Claude Code incluso

  1. Instale o pacote globalmente:
npm install --global rea-agents

Erro comum deste passo: usar uma versão do Node fora das faixas suportadas. Confere com node --version antes de instalar

  1. Rode o setup, que registra o servidor MCP do REA e instala as instruções correspondentes:
npx rea-agents setup

Se o setup oferecer instalar o Hopper, ele pede sua aprovação. Ghidra e IDA não são instalados por ele, então precisam estar na máquina antes

  1. Reinicie o agente

Erro comum deste passo: esquecer de reiniciar. Sem isso o agente não enxerga o servidor MCP recém registrado, e parece que nada foi instalado. Já vi muita gente perder tempo caçando bug que era só isso haha

Conclusão: vale usar o REA se confidencialidade importa?

O veredito honesto é: depende do seu acordo e do provedor do seu agente

A análise local do REA reduz bastante a exposição do binário, porque o arquivo não vai pra um serviço hospedado

Porém, as descobertas, evidências e limitações seguem pro provedor de modelo, e é isso que precisa caber no seu contrato

O caminho mais seguro é fazer três coisas, nessa ordem: revisar o contrato e a política do provedor que o agente usa, instalar o REA seguindo o repositório oficial em github.com/morluto/rea e testar primeiro num alvo que você tem autorização clara pra inspecionar

Feito isso, dá pra decidir com calma se ele entra no seu fluxo de trabalho 😀

Até o próximo post!

Perguntas frequentes

O REA precisa de internet para fazer a análise local?

A inspeção em si roda no seu host local e o arquivo não sobe pra nenhum serviço de análise hospedado. Mas como os resultados vão pro provedor de modelo do seu agente, na prática você precisa de conexão pra o agente raciocinar sobre o que o REA encontrou.

O REA funciona sem Hopper, Ghidra ou IDA instalado?

Pra análise nativa, sim, ele usa uma dessas ferramentas (o setup pode instalar o Hopper com sua aprovação, Ghidra e IDA precisam já estar instalados). Já a inspeção estática de JavaScript e .NET funciona sem nenhum motor de análise nativa.

O REA recupera o código-fonte original do app?

Não, o projeto não afirma recuperar o código-fonte original nem clonar o app automaticamente. O código legível que sai da decompilação, junto com strings e nomes, é evidência pra entender o comportamento, não o fonte original nem uma cópia fiel.

Como instalar e configurar o REA no seu agente (Claude Code incluso)?

O procedimento do README é o mesmo pra todos os agentes que o setup configura (Claude Code, Codex, Cursor, Gemini CLI, Grok Build e outros): instala global com npm install –global rea-agents, roda npx rea-agents setup pra registrar o servidor MCP e instalar as instruções e depois reinicia o agente. Clientes fora dessa lista podem fazer o registro MCP manual.

Quais versões de Node.js o REA exige?

O projeto pede Node.js 22.x (>=22.19), 24.x (>=24.11) ou 26+, além do npm. Vale checar sua versão antes de instalar pra não travar no setup.

O que são os registros Evidence v2 do REA?

São pacotes de evidência reproduzíveis gerados em cada análise, que dá pra importar, exportar e comparar entre si. Isso ajuda bastante quando você quer acompanhar diferença de comportamento entre versões do mesmo alvo.

Escrito por | Matheus Battisti

Matheus Battisti
Fundador da Hora de Codar

Programador apaixonado pelo mundo das tecnologias, sempre buscando em aprender e se aprofundar em linguagens, frameworks e o que mais for necessário para executar um bom trabalho. Agora tem uma nova missão que é de passar seu conhecimento adiante para formar novos programadores e especializar mais os que já são.

Subscribe
Notify of
guest

0 Comentários
Oldest
Newest Most Voted

Formações

Formação Vibe Coding

Formação Vibe Coding

Do Prompt ao Produto: Crie Software Real com IA

  • 474 aulas
  • 20 projetos
  • 39h 27min

Blog | Mais populares