REA pelo CLI ou pelo agente: qual caminho usar em cada investigação?

Fluxograma ilustrando a escolha entre REA CLI ou MCP durante uma investigação
Resposta rápida

No REA, o CLI e o servidor MCP têm as mesmas capacidades e o mesmo contrato de evidência. A diferença é que o comando de terminal é curto e a sessão MCP mantém o alvo ativo e um ledger de evidências durante a investigação. Se você quer só a conclusão revisável, use o agente via MCP. Se quer conduzir passo a passo, auditar cada saída ou montar scripts com –json, use o CLI

Fala aí, beleza? Se você travou na dúvida entre usar o REA pelo CLI ou pelo MCP, vai a resposta curta: os dois fazem a mesma análise, com o mesmo contrato de evidência

O que muda é QUEM conduz a investigação e por quanto tempo o alvo fica ativo

O REA: Reverse Engineer Anything é um servidor MCP e CLI de código aberto, com licença MIT, e o próprio repositório oficial informa que ele é mantido por morluto

Ele dá a agentes de código ferramentas pra analisar software sem acesso ao código-fonte, e devolve pseudocódigo, assembly, strings, símbolos, chamadas e referências

E se liga num detalhe: cada achado vem com evidências, limitações e pontos ainda desconhecidos, nada de "confia que é isso" haha

Aí vem o dilema: você delega a investigação inteira pro agente ou roda comando por comando no terminal e olha cada saída?

Bora destrinchar 🙂

REA via MCP vs CLI: o que muda na prática?

A diferença central é a duração

Segundo a documentação do CLI, os comandos de terminal são de curta duração, enquanto uma sessão MCP pode manter um alvo ativo e um registro (ledger) de evidências ao longo da investigação

Que ledger? Pensa num caderno de bordo da sessão: as evidências que vão aparecendo ficam guardadas ali, e o agente consegue voltar nelas sem recomeçar do zero

O resto vem da mesma base: o CLI usa os mesmos fluxos de aplicação e os mesmos contratos de Evidence do servidor MCP

Critério MCP no agente CLI no terminal
Duração Sessão que mantém um alvo ativo Comando de curta duração
Registro Ledger de Evidence da sessão atual Saída de cada comando
Quem dirige O agente chama as ferramentas no meio da tarefa Você digita cada comando
Saída estruturada Achados com evidências, limitações e desconhecidos Flag --json gera saída estruturada
Reaproveitar evidência Evidence IDs só na sessão atual e só em argumentos de prompt que aceitam Evidence evidence-export e evidence-import com bundles Evidence v2
Como começar setup configura o agente npx avulso ou instalação global
Capacidades e contrato de evidência Os mesmos do CLI Os mesmos do MCP

O ponto dos Evidence IDs merece atenção: pelos contratos do MCP, eles ficam no ledger da sessão atual e só são oferecidos pra argumentos de prompt que aceitam referências de Evidence

Ou seja, fechou a sessão, esses IDs não vão junto

Qual caminho encaixa em cada tipo de investigação?

Depende do alvo e de quantas idas e vindas a análise vai ter

O REA aceita binários nativos, apps JavaScript e Electron, assemblies .NET, APKs Android, firmware, sites e capturas de rede salvas, então vale olhar cenário por cenário

Binário nativo ou APK com muita exploração: agente via MCP

Investigação exploratória é aquela em que um achado puxa outro, você volta numa string, cruza com uma chamada, olha a referência de novo e por aí vai

Aqui o MCP encaixa melhor, porque a sessão mantém o alvo ativo e o ledger guarda as evidências enquanto o agente segue a tarefa

No CLI, cada comando é curto, então essa continuidade fica por sua conta

Tome cuidado: em binário nativo, a análise pode usar Hopper, Ghidra ou IDA já instalados, e isso vale pros dois caminhos

Inspeção pontual de app JavaScript, Electron ou ASAR: CLI

Se você só quer abrir um app e ver o que tem dentro, um comando resolve

O exemplo da documentação oficial inspeciona um diretório extraído de app JS/Electron ou um ASAR:

npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --json

Repara no caminho absoluto no lugar de /absolute/path/to/app, é o tipo de detalhe que faz o comando falhar se você passar caminho relativo sem pensar

Automação e pipeline com saída estruturada: CLI com –json

Script não conversa com agente, script quer saída previsível

A flag --json gera saída estruturada, o que deixa o CLI como peça natural de um pipeline

Os comandos disponíveis incluem, entre outros, analyze, decompile, inspect, search, function, xrefs, trace (que aceita --query), compare, capabilities e providers

Se a sua investigação vira parte de uma cadeia maior de agentes, vale entender a diferença entre orquestração em pipeline e paralelo antes de decidir onde o REA entra

Análise .NET dirigida: comandos específicos no CLI

Pra assemblies .NET, o CLI tem inspect-managed-artifact e inspect-managed-members

Se você já sabe o que quer olhar no assembly, chamar esses comandos direto é o caminho mais curto

Passar evidência entre sessões ou pessoas: export e import

Como os Evidence IDs do MCP vivem só na sessão atual, a ponte pra fora dela é o CLI

evidence-export e evidence-import trabalham com bundles Evidence v2, então dá pra levar o material de uma investigação pra outra ou entregar pra outra pessoa revisar

Veredito: para quem cada caminho serve

Não existe vencedor absoluto, existe perfil

Quem só quer a conclusão: vai de MCP no agente

O agente (Claude Code, Cursor ou Codex, por exemplo) chama as ferramentas do REA no meio da tarefa, mantém o contexto na sessão e te entrega achados com evidências, limitações e pontos desconhecidos pra revisar

É como passar o caso pra um investigador e receber o relatório com as provas anexadas, só não esquece de ler as provas 😛

Quem quer conduzir passo a passo: vai de CLI

Se você quer auditar cada saída, decidir o próximo comando com base no anterior ou montar scripts, o terminal te dá esse controle, com --json quando precisar de estrutura

Agora as limitações que valem conhecer antes de escolher:

  • Evidence IDs não sobrevivem fora da sessão MCP atual
  • O Devin é só reportado pelo setup e fica sem alteração, porque não tem um limite de configuração MCP local documentado
  • Análise nativa depende de Hopper, Ghidra ou IDA nos dois caminhos

E o melhor: os dois podem conviver no mesmo fluxo, porque o contrato de evidência é o mesmo

Dá pra explorar com o agente e depois usar o CLI pra exportar evidência ou automatizar uma checagem, por exemplo

O que você precisa antes de escolher qualquer um

O requisito base é Node.js 22.x (>=22.19), 24.x (>=24.11) ou 26+, além do npm

Pra análise nativa, precisa de Hopper, Ghidra ou IDA já instalados, ou pode deixar o setup instalar o Hopper opcionalmente, com a sua aprovação

Antes de qualquer coisa, roda o doctor:

npx -y rea-agents@latest doctor

Ele verifica host, dependências, ferramentas de análise e configuração do agente, sem alterar nada

Caminho do agente (MCP)

Sem instalar nada (o comando está do jeito que aparece no guia oficial, que usa --yes no setup e -y no doctor e no exemplo de análise):

npx --yes rea-agents@latest setup

Ou com instalação global:

npm install --global rea-agents
rea setup

O setup adiciona o servidor MCP do REA e instruções de fluxo de trabalho, fazendo backup da configuração existente

Ele detecta Claude Code, Claude Desktop, Codex, Cursor, Gemini CLI, Windsurf e Devin, e configura os seis primeiros quando os encontra

Se você ainda mistura servidor MCP com skill e plugin, dá uma olhada nas categorias do awesome-claude-code pra situar onde cada peça entra

Caminho do CLI

Pra comando avulso:

npx rea-agents@latest <comando>

Pra uso frequente, instala global e confere a ajuda:

npm install --global rea-agents
rea --help

O REA explicado em vídeo

No canal tem um vídeo que apresenta o REA como ferramenta open source, explica o funcionamento dele como servidor MCP dentro do agente e passa pelo processo de uso prático

Vídeo trata diretamente do REA (Reverse Engineer Anything), explicando que ele funciona via servidor MCP (uso dentro do agente) e também mostra o processo de uso prático, sendo a base factual para comparar os dois caminhos de uso (CLI vs agente/MCP) mencionados no tema.

Por onde começar a sua próxima investigação

Começa pelo doctor, porque ele te mostra o que já está pronto na máquina sem mexer em nada

Depois olha pro alvo e pro seu jeito de investigar

Se é uma inspeção pontual, roda um comando do CLI com --json e vê se a saída já responde a sua pergunta

Se é uma análise longa, cheia de idas e vindas, roda o setup e deixa o agente conduzir, revisando as evidências, limitações e desconhecidos que ele te devolver

E se a meio caminho você precisar levar evidência pra fora da sessão, o CLI tá ali com o export =)

até o próximo post!

Quer aprender mais sobre inteligência artificial e programação na prática? Conheça o canal Hora de Codar no YouTube e acompanhe os próximos vídeos.

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.

Formações

Formação Vibe Coding

Formação Vibe Coding

Do Prompt ao Produto: Crie Software Real com IA

  • 474 aulas
  • 20 projetos
  • 39h 30min

Blog | Mais populares