Análise de malware com IA precisa de pacotes de evidências
Zane St. John comprou um projetor Android barato, percebeu tráfego DNS suspeito e usou Claude Code como assistente de engenharia reversa para inspecionar os apps pré-instalados do dispositivo.1
O ponto interessante não é um agente de IA ter ajudado na análise de malware. Essa afirmação vai deixar de chamar atenção rapidamente. O que importa é o formato do artefato: comportamento de rede observado, nomes de pacotes, caminhos de código decompilado, saída de comandos, anotações e indicadores que um humano consiga inspecionar. A análise de malware com agentes só se torna confiável quando a saída se parece menos com uma resposta e mais com um dossiê de caso.
Análise de malware com IA precisa de pacotes de evidências. Agentes podem acelerar desempacotamento, decompilação, busca, resumo e geração de hipóteses. Analistas ainda precisam de hashes, versões de ferramentas, comandos, indicadores extraídos, caminhos de origem, rótulos de incerteza e trilhas entre afirmações e evidências antes de confiar na conclusão.
Resumo rápido
A Microsoft Research descreve o Project Ire como um agente autônomo de classificação de malware que faz engenharia reversa de software e produz uma cadeia de evidências antes que um validador decida se há suporte suficiente para um veredito de malware.2 A investigação de Zane sobre o projetor Android mostra o mesmo padrão em menor escala: um agente pode ajudar um analista individual a navegar por APKs, logs, strings e caminhos de código suspeitos.1
A lição segura para produto é específica. Trate um analista de malware com IA como uma bancada de trabalho, não como uma autoridade. Essa bancada pode extrair, organizar e conectar evidências. Ela não deve contatar infraestrutura ativa, escrever clientes de exploração, executar cargas desconhecidas em uma estação de trabalho comum nem substituir o julgamento humano sobre impacto. A saída útil é um pacote de evidências que um revisor consiga reproduzir.
Principais aprendizados
Para equipes de segurança: - Peça pacotes de evidências aos agentes, não vereditos. - Mantenha identidade da amostra, logs de comandos, versões de ferramentas, indicadores extraídos e suporte das afirmações no mesmo lugar. - Exija aprovação humana antes de qualquer execução dinâmica, contato de rede ou análise com credenciais.
Para criadores de agentes: - Defina fluxos de análise de malware como análise estática somente leitura por padrão. - Separe extração, hipótese, verificação e relatório em etapas distintas. - Preserve artefatos brutos e locais de origem para que um humano consiga auditar a cadeia.
Para equipes de produto: - Não venda “análise autônoma de malware” como mágica. - Mostre o que o agente inspecionou, o que ele inferiu, o que não verificou e o que um humano ainda precisa decidir. - Construa pacotes de revisão antes de criar painéis dramáticos.
O que o caso do projetor Android prova
A investigação de St. John começou com comportamento observado: solicitações DNS saindo do projetor antes do uso normal.1 Isso importa porque a suspeita veio do dispositivo, não do modelo. O agente entrou depois que o analista já tinha uma pergunta que valia investigar.
O fluxo então passou por superfícies comuns de engenharia reversa:
| Superfície | Por que importa |
|---|---|
| Observações DNS | Mostraram o dispositivo se comunicando antes de o usuário pedir qualquer coisa. |
| Nomes de pacotes Android | Ajudaram a restringir quais apps pré-instalados mereciam inspeção. |
| Decompilação de APK | Transformou código empacotado em uma saída pesquisável, parecida com código-fonte. |
| Strings e endpoints | Revelaram configuração, destinos de rede e comportamento de atualização. |
| Anotações e resumos | Impediram que a investigação virasse uma pilha de arquivos brutos. |
O artigo cita ferramentas comuns de engenharia reversa Android, como adb e jadx.1 Essas ferramentas não tornam uma conclusão verdadeira. Elas tornam o artefato inspecionável. O jadx se descreve como um decompilador de linha de comando e GUI que converte arquivos Android Dex e APK em código-fonte Java e pode decodificar recursos Android.3 O Apktool se descreve como uma ferramenta de engenharia reversa de arquivos APK Android, incluindo manifesto, recursos, smali e fluxos de reconstrução.4
A vantagem do agente fica no meio do processo. Ele pode buscar pacotes desconhecidos, resumir código, sugerir áreas prováveis para inspeção e manter uma lista de tarefas. O analista ainda precisa verificar cada afirmação contra o artefato original.
IA transforma engenharia reversa em gestão de caso
A análise tradicional de malware já produz um dossiê. Ele pode incluir hashes, origem da amostra, strings, domínios, endereços IP, mutexes, chaves de registro, caminhos de arquivo, capturas de tela, notas de disassembly, saída de ambiente isolado e um veredito final.
Agentes mudam a velocidade e o volume desse trabalho. Eles podem ler mais arquivos, escrever mais notas e produzir mais hipóteses do que um analista digitaria manualmente. Sem um contrato de saída mais forte, essa velocidade cria um problema de confiança. Um resumo confiante pode esconder uma inferência ruim, um desvio ignorado ou um nome de API alucinado.
O Project Ire da Microsoft aponta para um formato melhor. A Microsoft afirma que o sistema analisa e classifica software de forma autônoma e constrói uma cadeia de evidências para suas descobertas.2 O desenho inclui ferramentas de engenharia reversa e um validador que verifica se as evidências sustentam o veredito.2 Essa ideia de validador importa mais do que a marca. Análise de malware precisa de um juiz separado para as evidências, não apenas de um narrador fluente da conclusão.
Use a mesma divisão em fluxos menores:
| Etapa | Papel do agente | Barreira humana ou de política |
|---|---|---|
| Obter | Registrar origem e hash da amostra. | Confirmar autorização e contenção. |
| Extrair | Desempacotar artefatos estáticos. | Aprovar a cadeia de ferramentas e o manuseio da amostra. |
| Inspecionar | Buscar código, manifestos, strings e recursos. | Conferir locais de origem. |
| Levantar hipóteses | Propor comportamento suspeito e risco. | Exigir evidências de apoio. |
| Verificar | Mapear cada afirmação a um artefato. | Rejeitar afirmações sem suporte. |
| Relatar | Escrever indicadores e notas de impacto. | Decidir ação e divulgação. |
O agente pode fazer muita coisa. A barreira decide o que merece crédito.
Android tem superfícies estáticas úteis
A análise de malware em Android tem uma vantagem prática: APKs expõem várias superfícies estáticas antes que alguém execute o app.
A documentação de segurança do Android lista categorias de risco como comunicações em texto claro, carregamento dinâmico de código, broadcast receivers inseguros, segredos codificados diretamente e erros relacionados a permissões.5 O MITRE ATT&CK for Mobile inclui técnicas como Broadcast Receivers e Download New Code em tempo de execução, o que dá aos analistas um vocabulário para mapear comportamento observado a práticas de atacantes.6
Isso torna valioso um pacote de evidências que começa pela análise estática:
| Artefato Android | Evidência a capturar |
|---|---|
| Hash do APK | SHA-256, origem, data de coleta e nome do arquivo. |
| Manifesto | Nome do pacote, permissões, serviços, receivers, providers, componentes exportados e alvos SDK. |
| Código decompilado | Caminho do arquivo, classe, método e linha ou símbolo ao redor da afirmação. |
| Recursos | URLs, domínios, caminhos de API, valores de configuração, certificados e assets. |
| Bibliotecas nativas | Nomes de bibliotecas, arquitetura, símbolos exportados e notas de desempacotamento. |
| Observações de rede | Domínios ou IPs observados, data e hora, ferramenta e se o contato aconteceu passiva ou ativamente. |
| Mapeamento de comportamento | Técnica ATT&CK Mobile somente quando houver evidência para sustentá-la. |
| Incerteza | O que o agente não inspecionou ou não conseguiu provar. |
A tabela evita um erro importante: ela não pede que o modelo decida primeiro se é “malware ou não”. Ela pede que o sistema preserve as evidências que tornariam um veredito revisável depois.
O pacote de evidências
Um pacote útil de análise de malware com IA deve seguir um formato previsível:
| Seção | Conteúdo obrigatório |
|---|---|
| Escopo | Quem autorizou a análise, qual amostra ou dispositivo foi examinado e quais ações eram proibidas. |
| Identidade da amostra | Hashes, nomes de arquivos, tamanhos, registros de data e hora, caminho de origem e notas de cadeia de custódia. |
| Cadeia de ferramentas | Nomes de ferramentas, versões, linhas de comando e limites do ambiente. |
| Achados estáticos | Fatos do manifesto, nomes de pacotes, strings suspeitas, endpoints, recursos e locais de código. |
| Achados dinâmicos | Somente se autorizado: ambiente, isolamento de rede, logs, capturas de tela e comportamento observado. |
| Indicadores | Domínios, endereços IP, nomes de pacotes, caminhos de arquivo, dados de certificados e outros artefatos observáveis. |
| Mapa de afirmações | Cada conclusão pareada com o artefato exato que a sustenta. |
| Trabalho não verificado | Amostras não desempacotadas, caminhos de código não seguidos, comportamento de rede não reproduzido e suposições. |
| Ação recomendada | Bloquear, monitorar, remover, escalar, divulgar ou continuar a análise, com nível de confiança. |
O mapa de afirmações é o centro do pacote:
| Afirmação | Evidência | Confiança |
|---|---|---|
| O app usa carregamento dinâmico de código | Caminho de código decompilado mais citação da categoria de risco do Android. | Média até que o comportamento dinâmico seja reproduzido. |
| O app contata um domínio suspeito | Observação DNS passiva mais referência em string ou configuração. | Alta se as duas fontes coincidirem. |
| O app persiste por meio de receiver | Receiver no manifesto mais caminho de código que trata boot ou broadcast do sistema. | Média, a menos que seja observado em laboratório. |
| O app é malicioso | Múltiplos comportamentos sustentados, contexto e revisão humana. | Nunca apenas a partir do resumo do modelo. |
Essa última linha protege o analista. Vereditos de malware têm consequências. Um falso positivo pode prejudicar um fornecedor ou confundir uma resposta a incidente. Um falso negativo pode deixar um usuário exposto. O modelo não deve ganhar um atalho ao redor das evidências.
O que o agente deve recusar
Trabalho com malware precisa de limites de recusa mesmo quando o objetivo é defensivo.
Um agente deve recusar ou exigir autorização humana explícita antes de:
- contatar infraestrutura ativa de comando e controle;
- escrever um cliente para uma possível backdoor ou atualizador;
- baixar cargas de segundo estágio de infraestrutura controlada por atacantes;
- executar uma amostra desconhecida fora de um laboratório isolado;
- usar credenciais reais de usuários, contas pessoais ou redes de produção durante a análise;
- publicar indicadores ativos que possam identificar uma vítima antes de uma divulgação responsável;
- transformar uma investigação defensiva em instruções de exploração.
A documentação de shell local da OpenAI alerta que permitir que agentes executem comandos arbitrários de shell pode ser perigoso e recomenda ambientes isolados ou listas rígidas de permissão e bloqueio antes de encaminhar comandos para um shell.7 O guia de melhores práticas de Claude Code da Anthropic enfatiza critérios de verificação e gestão de contexto para trabalho com agentes.8 A análise de malware precisa dos dois: limites de comando antes da ação e limites de evidência antes da crença.
O limite de recusa deve aparecer na própria tarefa:
Analise este APK estaticamente.
Não o execute.
Não contate infraestrutura remota.
Não escreva código de exploração nem código cliente.
Retorne apenas evidências com caminhos de arquivo, comandos e rótulos de confiança.
Marque toda afirmação sem suporte como não verificada.
Esse tipo de instrução não torna o fluxo seguro por si só. Ele dá a ganchos, ambientes isolados e revisores algo concreto para aplicar.
O humano ainda é dono do veredito
Um agente de IA pode economizar horas em uma análise de malware. Ele pode sair de uma pilha de APKs para uma lista curta de pacotes suspeitos. Pode resumir classes, desempacotar filtros de intent, identificar strings de configuração e produzir um rascunho de relatório. Esses ganhos importam.
O agente não deve ser dono do veredito.
O analista é responsável por:
- autorizar a análise da amostra;
- decidir executar algo dinamicamente;
- interpretar intenção e impacto;
- comunicar-se com fornecedores, usuários ou plataformas afetados;
- tomar decisões de remediação e divulgação;
- definir a linguagem final do relatório.
Essa divisão mantém o agente útil. O modelo faz o trabalho cansativo de conexão. O humano mantém a responsabilidade ética, legal e contextual.
Como criar o fluxo de trabalho
Comece com um pequeno ciclo de análise estática:
- Calcule o hash da amostra e registre de onde ela veio.
- Extraia manifesto, recursos, strings e código decompilado para uma pasta de trabalho somente leitura.
- Peça ao agente para criar uma lista de achados com locais de origem.
- Peça uma segunda passada para contestar cada achado e marcar afirmações sem suporte.
- Monte o pacote de evidências.
- Decida se o pacote justifica uma análise dinâmica em laboratório.
O prompt do agente deve exigir saída estruturada:
Para cada achado, inclua:
- afirmação
- caminho do artefato
- comando que produziu o artefato
- trecho da fonte ou símbolo
- confiança
- o que refutaria a afirmação
- se a análise dinâmica é necessária
Essa saída parece menos empolgante do que “o projetor tem malware”. Ela é muito mais útil.
A barreira de evidências se aplica diretamente. Uma afirmação sem evidência não deve entrar na resposta final. Pacotes de revisão são a nova resposta final também se aplica: a entrega não é o resumo em prosa, mas o pacote que permite que outra pessoa verifique o trabalho.
FAQ
Agentes de IA conseguem fazer análise de malware?
Sim, dentro de limites. Agentes podem ajudar com análise estática, resumo, navegação por decompilação, extração de indicadores e rascunho de relatórios. Eles não devem virar a autoridade final para vereditos de malware sem evidências reproduzíveis e revisão humana.
É seguro usar Claude Code ou Codex em malware?
Somente dentro de um fluxo defensivo controlado. Não execute amostras desconhecidas em uma estação de trabalho comum, não contate infraestrutura ativa e não entregue ao agente credenciais nem acesso irrestrito a shell ou rede. A análise estática em uma pasta de trabalho isolada é o ponto de partida mais seguro.
O que um pacote de evidências de análise de malware deve incluir?
No mínimo: hashes, origem da amostra, versões de ferramentas, comandos, fatos do manifesto, indicadores extraídos, locais de código, um mapa entre afirmações e evidências, rótulos de confiança e uma lista do trabalho não verificado.
Um veredito de IA conta como evidência?
Não. A declaração do modelo é uma interpretação. Evidências vêm de artefatos: hashes, logs, comandos, caminhos de código, manifestos, comportamento de rede observado e etapas de análise reproduzíveis.
Agentes devem mapear achados para MITRE ATT&CK?
Sim, quando a evidência sustenta o mapeamento. Um rótulo de técnica sem suporte em artefatos vira decoração. Use ATT&CK Mobile como vocabulário, não como substituto de prova.6
Fechamento
IA não remove o analista da análise de malware. Ela muda o que o analista deve exigir.
A saída fraca é um veredito confiante. A saída forte é um pacote reproduzível: identidade da amostra, comandos, artefatos, indicadores, suporte das afirmações, incerteza e próxima ação.
Agentes podem tornar a engenharia reversa mais rápida. Pacotes de evidências a tornam confiável.
Referências
-
Zane St. John, “Engenharia reversa de malware Android com Claude Code,” publicado em 5 de fevereiro de 2026. Fonte para o caso do projetor Android, o ponto de partida com DNS suspeito, o uso de
adbejadx, a inspeção de APK assistida por Claude Code e o formato do fluxo defensivo de engenharia reversa. ↩↩↩↩ -
Microsoft Research, “Project Ire: identificação autônoma de malware em escala,” publicado em agosto de 2025. Fonte para o enquadramento do Project Ire como engenharia reversa autônoma, o desenho de cadeia de evidências, o uso de ferramentas e a etapa de validação. ↩↩↩
-
projeto jadx, “README do jadx,” documentação do repositório GitHub, acessada em 18 de maio de 2026. Fonte para a finalidade do jadx como decompilador de Dex para Java, com uso por linha de comando e GUI, além de suporte a APKs e recursos Android. ↩
-
Apktool, “Apktool,” documentação oficial, acessada em 18 de maio de 2026. Fonte para o papel declarado do Apktool como ferramenta de engenharia reversa de arquivos APK Android e seu fluxo de decodificação de manifesto, recursos e smali. ↩
-
Android Developers, “Mitigar riscos de segurança no seu app,” acessado em 18 de maio de 2026. Fonte para categorias de risco do Android, incluindo comunicações em texto claro, carregamento dinâmico de código, segredos codificados diretamente e broadcast receivers inseguros. ↩
-
MITRE ATT&CK, “Mobile Matrix,” acessado em 18 de maio de 2026. Fonte para o vocabulário de técnicas do ATT&CK Mobile, incluindo Broadcast Receivers e Download New Code em tempo de execução. ↩↩
-
OpenAI, “Local shell,” documentação da API da OpenAI, acessada em 18 de maio de 2026. Fonte para o enquadramento de riscos do shell local e a orientação sobre ambiente isolado ou listas de permissão/bloqueio antes de agentes executarem comandos de shell. ↩
-
Anthropic, “Melhores práticas para Claude Code,” documentação de Claude Code, acessada em 18 de maio de 2026. Fonte para orientação sobre janela de contexto, critérios de verificação e fluxo de trabalho com ferramenta CLI usados no enquadramento da análise com agentes. ↩