Como auditar a análise do REA: a evidência e as limitações por trás de cada conclusão antes de escrever código

A evidência do REA é o que permite auditar a análise antes de escrever código. Cada resultado vem como registro Evidence v2 com provider, confiança e limitações conhecidas, mais a procedência (digests de arquivo, faixas de bytes e JSON pointers) e a lista do que a análise não conseguiu estabelecer. Pra auditar: confira provider e confiança, rastreie a origem, separe inferência estática de observação em runtime, trate null e unknowns como lacuna real e leia a visão de API como inventário inferido, não como spec
Fala aí, beleza? Análise de engenharia reversa feita por agente só vale alguma coisa se você consegue conferir de onde saiu cada afirmação 🙂
O REA (Reverse Engineer Anything) é um MCP server e CLI open source que deixa um agente de código (Claude Code, Codex ou Cursor) analisar software sem ter o código-fonte
E aí vem a parte que mais importa: cada conclusão volta junto com a evidência e as limitações por trás dela
Neste post a ideia é aprender a LER isso de forma crítica, antes de transformar a análise em código, beleza?
REA em vídeo
Também gravei um vídeo sobre o REA no canal Hora de Codar. Dê o play abaixo ou assista no YouTube.
Formação Claude Code
Domine Claude Code do absoluto zero até o avançado
- 120 aulas
- 4 projetos
- 9h 48min
Por que o formato de evidência importa quando o próximo passo é escrever código
O princípio central do REA é simples: a análise roda localmente e cada resultado traz a evidência e as limitações que sustentam a conclusão
Parece detalhe, mas não é
Pensa comigo: depois da análise, o normal é pedir pro agente implementar algo em cima dela (um cliente, uma integração, um port e por aí vai)
Se um palpite entra nesse fluxo como se fosse fato, ele vira bug lá na frente, e bug chato de rastrear, porque a origem nem está no seu código haha
Análise estática tem limite, e o REA assume isso
Um executável pode ter símbolos removidos, instruções otimizadas, dependências faltando ou comportamento que a análise estática sozinha não recupera
O REA ajuda a investigar, mas não garante que todo detalhe interno será reconstruído
Por isso a evidência do REA não é enfeite: é ela que te diz até onde dá pra confiar em cada afirmação
A v6.3.0 deixou isso ainda mais explícito
Na v6.3.0, lançada em 9/10/2026, veio uma mudança incompatível: os providers passaram a ser obrigados a fornecer explicitamente metadados que antes eram preenchidos com valores padrão
E facetas não suportadas devem vir como null
Na prática: menos valor bonitinho preenchido por padrão e MUITO mais transparência sobre o que o provider realmente sabe 😀
O que você precisa antes de auditar uma análise
- Node.js e npm instalados
- Um agente compatível: Claude Code, Codex ou Cursor
- O REA configurado nesse agente
A configuração sai com um comando só:
npx rea-agents setup
Tu escolhe os agentes e revisa as mudanças propostas
O comando adiciona o MCP server do REA e as instruções de workflow correspondentes, fazendo backup da configuração existente (então nada de medo de perder o setup atual)
Cuidado com cópias do repositório
Segundo o próprio repositório do projeto, o repositório oficial é o github.com/morluto/rea, mantido por morluto
E o mesmo repositório aponta que repos como shijianzhong/rea, rea-tools/rea, danm-gh/morluto-rea e DhruvKikan/morluto-rea são cópias ou forks de terceiros, não a fonte oficial
Tome cuidado! Ferramenta que mexe com binário é exatamente o tipo de coisa que tu quer pegar da fonte certa
Versão e segurança
Na data desta publicação, a versão mais recente é a rea-agents v6.4.0, lançada em 11/10/2026

VPS Hostinger para seu sistema
10% OFF extraVPS com SSD NVMe e backups semanais. O cupom MATHEUSHORADECODAR é aplicado automaticamente pelo link.
Ver planos com 10% OFF →Só que o projeto lança versões quase todo dia, então confira o repositório antes de seguir qualquer tutorial (inclusive este xD)
E agora um aviso sério: o REA não é sandbox
Ele não protege contra processos maliciosos que já rodam com o mesmo usuário do sistema
E abrir um binário não confiável repassa o parsing e a análise ao provider local com as permissões desse usuário
Ou seja: binário suspeito pede um ambiente isolado montado por você, não confie que a ferramenta faz isso sozinha
Passo a passo para auditar cada conclusão do REA
Bora ver na prática?
A ideia aqui é um checklist pra rodar em cima de cada conclusão, antes de pedir qualquer linha de código pro agente
- Identifique o provider e o nível de confiança
Cada resultado bem-sucedido é guardado como um registro estruturado Evidence v2, com o provider, a confiança e as limitações conhecidas
Comece por aí: quem gerou essa conclusão e com qual confiança ela veio
Erro comum: tratar confiança como certeza. Confiança é o quanto o provider aposta naquilo, não uma prova
- Rastreie a procedência
A procedência inclui digests de arquivo, faixas de bytes e JSON pointers dentro da captura
Que JSON pointer? É um jeito de apontar um caminho exato dentro de um documento JSON, tipo um endereço pro dado que sustenta a conclusão
Com isso tu consegue voltar no arquivo e no trecho de onde a afirmação saiu
Erro comum: aceitar a conclusão sem localizar a origem. Se tu não acha de onde ela veio, ela ainda não serve de base pra código
- Separe inferência estática de observação em runtime
O REA marca separadamente o que foi inferência estática e o que foi observação em runtime
São coisas diferentes: uma é dedução lendo o software parado, a outra é algo que de fato aconteceu com ele rodando
Erro comum: misturar as duas ao escrever a lógica, como se uma inferência estática tivesse o mesmo peso de um comportamento observado
- Leia o que a análise NÃO conseguiu estabelecer
O registro traz uma lista explícita do que a análise não conseguiu estabelecer
E, desde a v6.3.0, facetas não suportadas pelo provider vêm como null
Dados que ficaram incompletos são informados como incompletos, o REA não apresenta palpite como fato
Erro comum: interpretar null ou ausência como não existe. Null quer dizer que aquela faceta não é suportada, não que a coisa está ausente no app
- Trate a visão de API como inventário inferido
A visão de API não afirma conhecer o schema nem os handlers do servidor
É um inventário inferido, não uma spec
Erro comum: gerar um cliente como se aquilo fosse a especificação oficial. Já vi muito código zoado nascer exatamente desse atalho 😛
- Em JavaScript, confira se houve corte por recurso
A análise de JavaScript roda em processo isolado, com limites configuráveis de heap e timeout
Se os recursos acabam, ela mantém os fatos já concluídos e deixa os unknowns explícitos
Erro comum: achar que o resultado está completo. Unknown explícito é lacuna real e precisa entrar na sua lista do que validar

Crie sistemas com IA para vender
Prompts, modelos e checklists para criar e publicar seu sistema com IA e preparar a oferta para o primeiro cliente.
Quero o e-book gratuito Receba o livro e os bônus no seu e-mail.Com esses seis passos tu sai da análise com duas listas: o que tem evidência e pode virar código, e o que é hipótese e precisa de validação
Como a auditoria muda conforme o tipo de software analisado
O REA inspeciona binários nativos, apps JavaScript e Electron, assemblies .NET e sites
O checklist é o mesmo, mas o ponto de atenção muda bastante de um alvo pro outro
| Alvo | O que a análise entrega ou como roda | Onde auditar com mais cuidado |
|---|---|---|
| Binários nativos | Pseudocódigo, assembly, strings, símbolos, chamadas e referências | Símbolos removidos e instruções otimizadas limitam o que a análise estática recupera |
| Apps JavaScript e Electron | Processo isolado com limites configuráveis de heap e timeout | Unknowns explícitos quando os recursos acabam |
| Assemblies .NET | Inspeção do assembly | Quando houver visão de API, ela é inventário inferido, não spec |
| Sites | Inspeção do site | Quando houver visão de API, ela é inventário inferido, não spec |
Binários nativos
Aqui o REA devolve pseudocódigo, assembly, strings, símbolos, chamadas e referências
Pseudocódigo ajuda muiiito na leitura, mas lembra: se o binário teve símbolos removidos ou foi otimizado, parte do que tu está lendo é reconstrução, não o código original
Apps JavaScript e Electron
O ponto crítico são os limites de heap e timeout
Se a análise bateu no teto, o resultado tem fatos concluídos e unknowns explícitos, e tu precisa tratar os dois de forma diferente
Assemblies .NET e sites
São dois alvos diferentes, cada um com a sua análise, mas a regra do passo 5 vale pros dois: quando a análise gera visão de API, é inventário inferido
Nada de assumir schema ou handlers do servidor só porque o endpoint apareceu ali
De onde vem o provider?
O REA conecta o agente a ferramentas de engenharia reversa como Ghidra, IDA Pro e Hopper
Por isso olhar o provider no passo 1 importa tanto: ele te diz qual motor gerou aquela conclusão
Conclusão: trate a análise como hipótese documentada
O valor do REA está em mostrar o que sabe e o que não sabe, lado a lado
Código deve ser escrito só sobre o que tem evidência, e as lacunas (null, unknowns, inferências sem observação em runtime) viram pontos a validar, não suposições escondidas no meio da implementação
E lembra: a licença MIT cobre o REA, não o software que você analisa com ele
Próximo passo? Instala pelo repositório oficial, roda uma análise num app próprio e aplica esse checklist antes de pedir ao agente qualquer implementação
É o tipo de hábito que separa vibe coding de código que tu consegue defender depois =)
Até o próximo post!
Perguntas frequentes
A evidência do REA garante que a análise de um binário está completa?
Não. Um executável pode ter símbolos removidos, instruções otimizadas ou dependências faltando, e isso limita o que a análise estática recupera. O REA ajuda a investigar, mas não garante reconstruir todo detalhe interno, por isso o registro traz também as limitações conhecidas
O que significa um campo vir como null no registro Evidence v2?
Desde a v6.3.0, lançada em 9/10/2026, facetas não suportadas pelo provider devem vir explicitamente como null. Isso não quer dizer que o dado está ausente no software analisado, só que aquele provider não sustenta essa faceta
Dá pra confiar na visão de API do REA como se fosse a documentação oficial do servidor?
Não. A visão de API é um inventário inferido, ela não afirma conhecer o schema nem os handlers reais do servidor. Trate como ponto de partida pra investigar, não como spec pra gerar cliente direto
O que acontece se a análise de JavaScript ficar sem memória ou tempo no meio do processo?
A análise de JavaScript roda em processo isolado com limites configuráveis de heap e timeout. Se os recursos acabam, ela mantém os fatos já concluídos e deixa os unknowns explícitos, em vez de forçar uma conclusão incompleta
Instalar o REA a partir de um fork de terceiros traz algum risco?
Segundo o próprio repositório do projeto, o oficial é github.com/morluto/rea, mantido por morluto, e repos como shijianzhong/rea ou danm-gh/morluto-rea são cópias ou forks de terceiros. Como o REA lida com binários, vale confirmar a fonte antes de instalar
O REA roda os binários analisados em um ambiente isolado?
Não, o REA não é sandbox e não protege contra processos maliciosos que já rodam com o mesmo usuário do sistema. Abrir um binário não confiável repassa o parsing e a análise ao provider local com as permissões desse usuário, então o isolamento precisa ser montado por você
Formações
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 30min
Blog | Mais populares

A análise do REA é mesmo local? O que roda na sua máquina e o que chega ao agente
REA análise local: entenda o que fica na sua máquina e o que vai para o provedor de modelo do agente antes de enviar binário sob NDA.

Análise de website com o REA: o que o agente consegue ver em uma página que não é sua?
REA análise de website: entenda como o agente observa estrutura, rede, console e storage de forma passiva, via CDP, sem tocar no backend.

REA (Reverse Engineer Anything) funciona com o agente que eu já uso?
REA Reverse Engineer Anything funciona com Claude Code, Codex, Cursor e mais. Veja como o setup registra o MCP no seu agente atual.
