Pesquisadores da Rede de Investigação de Zero Day da Mozilla (0DIN) demonstraram um ataque de prova de conceito que mostra como um repositório do GitHub completamente limpo pode enganar agentes de codificação com IA, como o Claude Code, para abrir silenciosamente um shell reverso na máquina de um desenvolvedor, sem que uma única linha de código malicioso apareça no repositório. Publicado em 25 de junho de 2026, o ataque de prova de conceito (PoC) visa ferramentas de codificação agênticas como o Claude Code e explora a injeção indireta de prompt, uma técnica que incorpora instruções maliciosas em conteúdo externo que o agente de IA processa, em vez de entrada direta do usuário.
O mecanismo do ataque em três etapas
O ataque é enganadoramente simples e encadeia três componentes aparentemente normais que individualmente não levantam alarmes. A primeira etapa envolve um repositório malicioso que apresenta um README padrão descrevendo uma ferramenta de implantação em nuvem fictícia chamada "Axiom". As instruções de configuração parecem completamente legítimas: instalar dependências e executar o comando de inicialização. Não há conteúdo overtamente suspeito, e o projeto passa em qualquer revisão de código humana.
A segunda etapa é um pacote Python intencionalmente projetado para recusar a execução até ser inicializado. No primeiro uso, ele levanta um RuntimeError simples e útil direcionando o usuário a executar o comando de inicialização. Isso espelha um padrão de software completamente ordinário, o que é exatamente o que torna o ataque eficaz, pois o Claude Code trata esse erro como uma situação de recuperação rotineira.
A terceira etapa é um script de configuração que busca seu payload do DNS. O comando init chama um script de shell que resolve um registro TXT DNS controlado pelo atacante e canaliza seu conteúdo diretamente para o bash. O registro TXT DNS contém um payload de shell reverso codificado em base64. Como o payload é buscado em tempo de execução do DNS, ele é completamente invisível para scanners de código estático, revisores humanos e o próprio agente de IA.
Consequências catastróficas para desenvolvedores
Quando o desenvolvedor pede ao Claude Code para colocar o projeto em execução, o agente autonomamente lê os arquivos do repositório, instala os requisitos, tenta usar o aplicativo e encontra o RuntimeError. O agente lê a mensagem de erro e executa o comando de inicialização como recuperação de erro rotineira. O script init resolve o registro TXT DNS do atacante e executa o payload decodificado. Um shell reverso se conecta ao servidor do atacante.
Uma vez estabelecido o shell reverso, o atacante adquire um shell interativo completo executando como a própria conta de usuário do desenvolvedor, todas as variáveis de ambiente secretas, chaves de API, credenciais de nuvem, tokens Git e conteúdos de arquivos .env. O atacante também ganha mecanismos de persistência, como a capacidade de adicionar chaves SSH, instalar trabalhos cron ou implantar backdoors.
Contexto de injeção de prompt e vulnerabilidades de IA
A injeção de prompt é reconhecida como LLM01:2025, a vulnerabilidade mais crítica em aplicativos de IA, de acordo com a Fundação OWASP. Esta pesquisa mais recente demonstra por que isso não é apenas um incômodo de chatbot, mas um mecanismo capaz de entregar comprometimento total do sistema. A técnica de esconder o payload fora do repositório e entregá-lo em tempo de execução também apareceu no CVE-2025-55284, uma vulnerabilidade de alta gravidade do Claude Code corrigida em junho de 2025.
Esta pesquisa confirma que a injeção indireta de prompt em sistemas agênticos não é um problema teórico de chatbot. É um vetor de ataque ativo e utilizável com potencial real para distribuição na cadeia de suprimentos. Em março de 2026, a Unit 42 documentou os primeiros ataques de injeção indireta de prompt observados em larga escala no mundo real, sinalizando que os atores de ameaças estão operacionalizando ativamente essa classe de exploração.
Impacto na cadeia de suprimentos de software
O alcance é amplo: um único link de repositório distribuído por meio de vagas de emprego, tutoriais, mensagens Slack ou postagens de blog pode comprometer todos os desenvolvedores que o abrem com uma ferramenta de codificação agêntica. Esta superfície de ataque não é exclusiva do Claude Code; a mesma cadeia pode afetar qualquer ferramenta de codificação agêntica que siga autonomamente fluxos de configuração, incluindo Cursor e Gemini CLI.
O ataque explora uma lacuna arquitetônica fundamental: seus componentes estão espalhados por três sistemas separados que nunca são examinados juntos. A análise de código estático vê apenas uma consulta DNS em um script de shell. A revisão de código humana vê instruções de configuração normais. O monitoramento de rede vê uma resolução de nome DNS rotineira. O próprio agente de IA vê um passo de configuração pré-autorizado.
Medidas de mitigação e recomendações para CISOs
Até que os fornecedores implementem cadeias de execução de tempo de execução transparentes e os desenvolvedores adotem fluxos de trabalho de sandbox-first para código não familiar, esta superfície de ataque permanece amplamente aberta. Os CISOs devem considerar a implementação de políticas de segurança que restrinjam o acesso de agentes de IA a variáveis de ambiente sensíveis e tokens de API.
É crucial adotar uma abordagem de segurança de cadeia de suprimentos que inclua a verificação de repositórios externos antes de permitir que agentes de IA os processem. A implementação de sandboxes isoladas para a execução de código de repositórios desconhecidos pode prevenir a execução não autorizada de payloads. Além disso, a monitorização de tráfego de rede para consultas DNS incomuns de scripts de configuração pode ajudar a identificar tentativas de busca de payload.
Perguntas frequentes
Qual é o risco principal deste ataque? O comprometimento total da máquina do desenvolvedor e o acesso a todas as credenciais e segredos de ambiente.
Como os desenvolvedores podem se proteger? Evite executar código de repositórios desconhecidos com agentes de IA, use sandboxes e restrinja o acesso a variáveis de ambiente.
Isso afeta apenas o Claude Code? Não, ferramentas como Cursor e Gemini CLI também estão em risco devido à arquitetura semelhante.