Ataque de injeção de prompt explora agente de codificação da Anthropic
Um researcher especialista em segurança demonstrou que é possível sequestrar o Claude Code, agente de codificação da Anthropic que roda o modelo Opus 5 no Auto Mode, simplesmente pedindo para que ele resuma um site malicioso. O método funciona em até 80% dos casos, segundo Johann Rehberger, conhecido online como wunderwuzzi.
A exploração foca no Auto Mode, configuração padrão do Claude introduzida em meados de agosto. O ataque inicia quando o modelo é instruído a resumir um site que se apresenta como um archive de registros de notebooks. Sem diretamente ordenar o uso de curl, o researcher explora uma falha para forçar o agente a acessar o site via Bash, contornando a ferramenta WebFetch.
A solicitação ao WebFetch falha com o erro 415 Unsupported Media Type, levando o Claude a decidir acessar o site diretamente por meio de uma chamada de ferramenta Bash com curl. O site responde com um redirecionamento HTTP 303 que aponta para um arquivo ZIP malicioso, o qual o Claude baixa sem hesitar.
O archive contém arquivos aparentemente inofensivos, incluindo metadados, um README, sete registros de notebook em JSON codificados em Base85/zlib, um binário decodificador macOS e um arquivo Python malicioso nomeado struct.py. Por medida de segurança, o Claude se recusa a executar o binário fornecido, decidindo escrever seu próprio decodificador. De acordo com Rehberger, essa decisão de segurança é exatamente o caminho explorado pelo ataque.
O novo decodificador importa o módulo base64 da biblioteca padrão Python. Nesse ponto, a explotação utiliza uma técnica chamada sombra de módulos, na qual um arquivo local com o mesmo nome de um módulo oficial do Python oculta o original. Neste caso, o módulo legítimo struct, importado pelo base64, é substituído pelo arquivo malicioso struct.py contido no ZIP, que executa um processo Python separado para baixar e rodar um payload remoto, estabelecendo uma ligação de controle e comando que abre a calculadora do sistema.
Rehberger relata que utilizou o ChatGPT para ofuscar o código malicioso, burlando os controles de segurança do Claude. Em outro cenário de ataque, o struct.py inicia uma nova instância do Claude Code via linha de comando, demonstrando que a injeção de prompt pode ser usada não apenas para execução remota de código, mas para criar um agente inteiramente novo com acesso a ferramentas e contexto próprio.
Em testes com três variantes, cada uma repetida cinco vezes, as taxas de sucesso variaram entre 60% e 80%. A Anthropic não respondeu a pedidos de comentários, mas teria informado a Rehberger que o comportamento do modelo “está funcionando conforme projetado”. O researcher citou a resposta da empresa: “Auto Mode é uma conveniência apoiada por um classificador de esforço máximo, não uma garantia de segurança”.
De acordo com a análise, o classificador não é projetado para bloquear cadeias de injeção de prompt determinadas, compostas por passos individualmente inofensivos. A verdadeira barreira de segurança, segundo Rehberger, reside no isolamento do sistema operacional e no controle de saída de rede. A recomendação final é clara: executar agentes de codificação como este em uma sandbox e nunca confiar na saída do modelo.
Com informações de: The Register