IA

Investigador mostra como o Claude Code pode ser enganado com um simples resumo

Um pedido inocente de “resume este site” chega para levar o Claude Code a correr código malicioso. A automação com agentes de IA está a abrir portas que ninguém controla bem.

Investigador mostra como o Claude Code pode ser enganado com um simples resumo

Um investigador de segurança voltou a pôr a nu o lado menos glamoroso da moda dos “agentes” de IA. O Claude Code, ferramenta da Anthropic para programadores com o modelo Opus 5 em Auto Mode, pode ser levado a executar código controlado por um atacante só porque alguém lhe pede para resumir um site. Sem comandos óbvios, sem hacking vistoso, só engenharia de pedidos e automatismos mal pensados.

O ataque foi detalhado por Johann Rehberger, conhecido como wunderwuzzi, num artigo técnico e num vídeo de demonstração. O ponto de partida é simples: o agente recebe o pedido para resumir um site que parece um arquivo de “notebooks”. Por baixo, é um armadilhado. Claude tenta usar o seu WebFetch para ir buscar o conteúdo, mas a chamada falha com um 415 Unsupported Media Type. Em vez de parar ali, o modelo decide ser “esperto”: troca de ferramenta e faz uma chamada Bash com curl para aceder diretamente ao site, sem que ninguém lhe tenha pedido isso explícita e claramente.

Daí para a frente é uma cascata de más decisões automáticas. O servidor responde com um redirecionamento 303 para um ficheiro ZIP malicioso. Claude descarrega-o e vê um conjunto de ficheiros aparentemente inofensivos: metadados, README, vários registos JSON codificados, um binário de macOS para decodificar os dados e um ficheiro Python com nome inocente, struct.py. As salvaguardas recusam correr o binário, o que à primeira vista parece sensato. Só que o agente decide então escrever o seu próprio descodificador em Python. É aqui que a “segurança” se transforma na porta de entrada.

O novo script que Claude gera importa o módulo base64, que por sua vez puxa o módulo padrão struct. Mas, por causa de Python module shadowing, quando há um ficheiro local chamado struct.py, esse ficheiro esconde o módulo legítimo da biblioteca padrão. Resultado: o que é carregado é o código malicioso dentro do ZIP. Rehberger recorreu ainda ao ChatGPT para ofuscar esse código, contornando filtros de segurança do Claude. O struct.py acaba a lançar um processo Python separado que vai buscar e executar uma payload remota. Na demonstração, abre só a Calculadora, mas a técnica serve para tudo o resto que um atacante quiser.

Noutro cenário ainda mais preocupante, o mesmo struct.py lança um segundo Claude Code em modo “headless” através de claude -p. Ou seja, a injeção de pedidos não só permite execução remota de código, como pode criar um novo agente de IA subordinado, com as suas próprias ferramentas e contexto. É a versão IA da infeção que instala mais malware. Quem anda a seguir os alertas sobre testes de segurança de modelos, como os trabalhos que aplicam métodos da psicologia a estas avaliações, sabe que isto não é um desvio bizarro, é um padrão a repetir-se.

Para quem está a integrar agentes de IA em pipelines reais, inclusive em empresas portuguesas, o recado é claro: “resume este site” já é input potencialmente perigoso se o agente tiver acesso a ferramentas como Bash, curl ou interpretadores de código. A crença de que guardrails mágicos vão travar tudo é ingénua. Sem isolamento forte, mínimos privilégios e muito menos automatismo cego, estes copilotos de código arriscam-se a ser a nova superfície de ataque favorita. A indústria está com pressa de vender agentes autónomos, mas o ritmo a fechar estas brechas ainda vai em beta.

Fonte: The Register

Newsletter

Os artigos que importam, duas vezes por semana.

Terça e sexta, cinco minutos de leitura. Sem spam, cancelas quando quiseres.

Comentários · 0