Engenharia reversa com IA: compilar o clone não demonstra fidelidade
A análise de Akita sobre REA e alternativas à Adobe reforça uma distinção: interface parecida e código legível não substituem testes de comportamento.
Fabio Akita analisa o Reverse Engineer Anything, ou REA, alternativas abertas à suíte Adobe e ports de jogos, argumentando que agentes aceleram engenharia reversa sem transformar automaticamente uma interface semelhante em produto maduro.[16] A tese é útil para desenvolvimento porque desloca a avaliação da aparência para o comportamento. Mas as projeções do autor sobre o futuro dos modelos devem continuar sendo lidas como opinião, não como resultado experimental.
O que muda para quem desenvolve
Segundo a inspeção relatada, REA é uma CLI e um servidor MCP em TypeScript que integram ferramentas como Ghidra, IDA, JADX, Frida e Playwright, oferecendo pseudocódigo, grafos e evidências ao agente.[16] Ele exige o artefato local e a instalação das ferramentas necessárias, algumas comerciais; o raciocínio continua a cargo do modelo contratado.[16]
O artigo cita um estudo em que o refinamento da saída do Ghidra elevou a taxa de compilação de 75% para 90%, mas reduziu a fidelidade de 74% para 62%.[16] Esses são resultados dos estudos reportados por Akita, não uma avaliação independente deste texto.[16]
Minha interpretação é que legibilidade, compilação e equivalência precisam de critérios separados. Um agente pode produzir uma função convincente e ainda alterar um caso de borda. Para análise de segurança, eu preservaria o vínculo entre cada hipótese e a evidência do artefato original, sem transformar pseudocódigo gerado em autoridade final.
Como aplicar
Faça um experimento com um componente próprio ou cuja análise seja autorizada. Preserve o binário de referência, registre a versão das ferramentas e selecione uma função pequena com entradas e saídas observáveis. Não comece prometendo reconstruir um produto inteiro.
Peça ao agente uma explicação do fluxo e uma hipótese de implementação. Depois, compare o comportamento com a referência usando entradas normais, limites numéricos, dados vazios e erros previstos. Registre divergências mesmo quando a implementação recompilada parece mais limpa.
Se a meta for uma alternativa a um aplicativo, escolha um fluxo específico: importar um arquivo, realizar uma operação e exportar o resultado. Defina antes quais formatos, metadados e características devem ser preservados. Uma captura de tela semelhante não deve contar como aceite.
Controle também o custo da investigação. O artigo relata um experimento do REA com 42 chamadas e cerca de 300 mil tokens de entrada, além de resultados volumosos.[16] Minha recomendação é limitar o escopo de cada consulta e guardar resumos vinculados às evidências, em vez de reenviar todo o acervo continuamente.
Cuidados e limites
Akita descreve PhotoCraft como alpha, com problemas de memória, desempenho, PSD e gerenciamento de cor.[16] Recursos processados na nuvem pela Adobe também não estão no binário disponível para inspeção.[16] Portanto, uma reconstrução local não deve receber uma promessa de compatibilidade que o teste não demonstrou.
O REA documenta limitações e exclusões de contorno de DRM e proteções comerciais.[16] Eu manteria autorização e licenciamento como pré-requisitos. A oportunidade mais defensável é resolver uma dor estreita com fidelidade verificável, não anunciar o fim de um fornecedor a partir de um protótipo visual.
Fonte
[16] Fonte: AkitaOnRails