MCP

REA: engenharia reversa do comportamento de apps e binários nativos com agentes

O REA é ideal para que um agente faça engenharia reversa do comportamento de aplicações localmente: de binários nativos a apps JavaScript e Electron, assemblies .NET e sites; para começar é preciso a versão adequada do Node.js e o npm, lembrando que a inspeção estática apenas lê arquivos, enquanto a captura em tempo de execução executa ou interage de fato com o alvo usando suas permissões de usuário.

Official source · REA

Install

npx rea-agents setup

Para quem é

O REA é para quem precisa de engenharia reversa dentro do agente: desenvolvedores e mantenedores que querem entender o comportamento de uma aplicação ou inspecionar binários nativos, apps JavaScript e Electron, assemblies .NET e sites; também serve para quem mantém apps de desktop Electron ou serviços .NET e quer ver o que uma dependência de terceiros ou uma versão antiga realmente faz. Ele conecta essas ferramentas de inspeção ao seu agente, as mesmas ferramentas também funcionam diretamente no terminal, e a análise acontece localmente. O critério é simples: se a pergunta que você precisa responder é “o que este programa ou arquivo realmente faz?” e a resposta está escondida nos binários, nos artefatos empacotados ou no comportamento em execução, vale a pena instalá-lo. Quando não serve: o alvo não é um arquivo ou aplicativo que você tem autorização para inspecionar; o ambiente não consegue instalar a versão do Node.js exigida; ou você quer um serviço de varredura puramente online que nunca toque em arquivos locais.

Primeira tentativa em 3 minutos

Só existe um caminho principal recomendado: usar o comando setup oficial para registrar o servidor MCP do REA e instalar as instruções correspondentes e, depois, reiniciar o agente.

npx rea-agents setup

Pré-requisitos: Node.js 22.x (no mínimo 22.19), 24.x (no mínimo 24.11) ou 26+, além do npm, instalados localmente. Execute o comando acima em um terminal; ele registra o servidor MCP e instala as instruções de uso correspondentes. Se a conexão não funcionar, primeiro confira se a sua versão do Node.js atende aos requisitos acima.

Depois de reiniciar, faça uma chamada de baixo risco para confirmar a conexão: peça ao agente uma inspeção estática de um arquivo JavaScript local. Antes da ação, deixe clara a sua natureza — a documentação oficial afirma que a inspeção estática de JavaScript e .NET apenas lê os arquivos fornecidos e não executa a aplicação, portanto esse passo não inicia o programa alvo. Sinais observáveis de sucesso: o comando setup termina e o agente reiniciado consegue devolver o resultado da inspeção do arquivo, o que significa que as ferramentas do REA já estão disponíveis no agente. A documentação oficial não lista os nomes nem os parâmetros exatos de cada ferramenta; valem as ferramentas que o agente registrar após a reinicialização. Além de acioná-las pelo agente, você também pode usar as mesmas ferramentas diretamente no terminal — esse é o uso secundário descrito pela documentação oficial.

Casos de uso

Caso 1: entender um arquivo JavaScript sem executá-lo. Cenário: você recebe um arquivo JS empacotado ou ofuscado e quer saber o que ele faz antes de decidir se o executa. Método: passe o caminho do arquivo ao agente e deixe que ele analise com a inspeção estática de JavaScript do REA. Resultado esperado: o agente lê o arquivo e apresenta conclusões sem nunca executar esse código; o mesmo vale para assemblies .NET, cuja inspeção estática também apenas lê arquivos; conclusões estáticas e observações em execução ainda podem se corroborar mutuamente.

Caso 2: capturar o comportamento em tempo de execução do alvo. Cenário: a análise estática não revela nada e é preciso observar como o programa realmente roda. Antes de agir, confirme os efeitos colaterais: a documentação oficial afirma que a captura em tempo de execução executa o alvo selecionado ou interage com ele usando suas permissões de usuário, e cada guia runtime descreve os próprios efeitos; depois de confirmar o alvo e o impacto, peça ao agente para executar a captura. Se o alvo envolver dados reais de usuários ou ambiente de produção, valide os passos antes em uma cópia isolada. Resultado esperado: o agente devolve informações sobre o comportamento em execução do alvo; o que exatamente é alterado cabe ao guia runtime correspondente.

Limites de uso

Separe leitura de escrita: a inspeção estática de JavaScript e .NET apenas lê arquivos e não executa nenhuma aplicação; a captura em tempo de execução é uma operação com efeito real, que executa o alvo ou interage com ele usando suas permissões de usuário. Não há documentação oficial de um caminho unificado para desfazer: não presuma que qualquer etapa seja reversível.

Quanto ao local da análise, a documentação oficial afirma que o REA analisa os alvos localmente; isso descreve apenas onde a análise acontece e não constitui uma conclusão de segurança, e este guia também não emite juízo independente sobre fluxos de dados nem limites de privacidade. Onde os artefatos de análise ficam salvos localmente e como limpá-los não é explicado na página oficial: segue sem confirmação.

Informações que a página oficial não lista e que você deve confirmar antes de agir: nomes e parâmetros exatos de cada ferramenta de inspeção, sistemas operacionais e clientes agente compatíveis, necessidade ou não de credenciais de conta e os itens concretos de cada guia runtime. Os requisitos de versão podem mudar com a evolução do projeto; antes de executar o setup, vale o que disser naquele momento a página oficial.