A suposição popular de que um ser humano que revisa cada comando pode manter os agentes de codificação de IA sob controle está enfrentando um sério escrutínio. Uma nova análise de mais de 40.000 sessões de jogos e mais de 409.000 decisões individuais de aprovação ou negação descobriu que os revisores humanos perderam aproximadamente um em cada três comandos maliciosos de agentes de IA, levantando questões urgentes sobre se “human-in-the-loop” é um limite de segurança confiável.

As descobertas vêm de um jogo baseado em navegador criado por Alex Wauters, um ex-engenheiro da Uber que escreve sobre segurança de desenvolvedor na Scale X. O jogo coloca os jogadores no papel de um revisor humano para um agente de codificação de IA, pedindo-lhes que aprovem ou neguem comandos de shell sob pressão de tempo. Alguns comandos são rotineiros, como `git status` ou `npm test`. Outras são tentativas cuidadosamente disfarçadas de exfiltrar credenciais, instalar backdoors ou enviar segredos para servidores remotos. Depois de adicionar o rastreamento estatístico, Wauters coletou dados suficientes para traçar um quadro detalhado de onde o julgamento humano é bem-sucedido e, mais frequentemente, falha. Para saber mais sobre a cobertura mais ampla da indústria de IA, este estudo se destaca como um dos experimentos mais ricos em dados até o momento.

Os comandos mais perigosos foram os mais difíceis de capturar

A descoberta mais surpreendente do estudo é que comandos obviamente destrutivos, como `rm -rf` em diretórios críticos, foram capturados de forma confiável. As ameaças que realmente conseguiram roubar credenciais foram perdidas quase três vezes mais. O comando mais perdido em todo o jogo foi `npm run analyze`, aprovado por 64,7% dos jogadores, apesar do registro do histórico do agente mostrar claramente que o script subjacente foi adulterado para canalizar credenciais para um servidor externo.

O problema é estrutural. Comandos como `npm run` executam qualquer script definido no arquivo `package.json` de um projeto. Esse script pode ser um analisador de pacote legítimo ou código malicioso injetado por uma edição de arquivo anterior que o agente modificou. Para ter certeza, um desenvolvedor precisaria inspecionar cada arquivo modificado antes de aprovar, o que anula a vantagem de velocidade que as ferramentas de codificação de IA deveriam fornecer.

Em três desses comandos de carga disfarçada no jogo, a taxa de falha foi de 52,5%, em comparação com 28,4% para todos os outros ataques de exfiltração de credenciais. Ocultar uma carga útil atrás de um nome de script familiar praticamente dobrou sua taxa de sucesso, mesmo quando a carga útil estava visível no log de histórico exibido logo acima do prompt de permissão.

A fadiga da permissão corrói a vigilância ao longo do tempo

A Anthropic reconheceu anteriormente que o cansaço das permissões é um fenômeno real em seu produto Claude Code, observando que quanto mais aprovações um usuário vê, menos atenção ele presta a cada uma delas. Os dados da Escala X apoiam empiricamente esta preocupação. As taxas de erros diminuíram durante os primeiros comandos de cada sessão à medida que os jogadores se aqueciam, mas depois subiram continuamente no final, consistentes com a fadiga ou com a pressão crescente do tique-taque do relógio.

Este padrão reflete a dinâmica do mundo real. Os desenvolvedores que correm para entregar recursos sob pressão de prazos enfrentam o mesmo incentivo para clicar em aprovar rapidamente, e o grande volume de comandos de rotina cria um problema de agulha em um palheiro, onde ameaças genuínas são estatisticamente raras. O resultado é um sistema que treina os usuários para carimbar tudo.

O outro lado: o bloqueio excessivo retarda tudo

O estudo também documentou o modo de falha oposto. Vários comandos genuinamente benignos foram bloqueados rotineiramente por jogadores cautelosos, incluindo construções padrão e invocações de teste. Este bloqueio excessivo retarda o agente e, paradoxalmente, aumenta o risco a longo prazo. Quando os usuários são repetidamente solicitados a aprovar comandos que se revelam inofensivos, o ruído prejudica sua disposição de examinar solicitações futuras, eventualmente levando-os a desvios completos ou modos de aprovação automática que removem totalmente a revisão humana.

Recursos como o Modo Automático do Anthropic tentam mitigar isso determinando automaticamente se um comando é seguro antes de avisar o usuário. Mas, como demonstram os dados do estudo sobre cargas disfarçadas, mesmo os conteúdos de comando visíveis não são suficientes para que os humanos façam julgamentos fiáveis ​​sob pressão.

Contexto ausente é o problema central

Um comando, `cat ~/.zshrc`, provou ser o mais polêmico de todo o jogo, aprovado por 45,9% dos jogadores. O comando é inofensivo para desenvolvedores que não guardam segredos em seu perfil de shell, mas expõe chaves de API para muitos que exportam credenciais para lá. Seu risco depende inteiramente de uma configuração de sistema que o agente não consegue ver e que o revisor pode não lembrar.

Vários outros comandos geraram controvérsia semelhante no tópico de discussão do Hacker News pelo mesmo motivo. A questão fundamental é que os desenvolvedores estão sendo solicitados a fazer julgamentos de segurança sem ter uma visão completa de quais arquivos foram alterados, o que o agente fez nas etapas anteriores e o que contém a configuração atual do sistema. Como observou um comentarista, pedir aos usuários que validem comandos ambíguos sem contexto não é uma proteção forte.

O que vem a seguir para a segurança do agente

Wauters argumenta que a solução não são melhores humanos, mas melhores ferramentas. Os agentes de sandbox para que não possam acessar as credenciais diretamente, o isolamento estrito do contexto e os limites estruturais sobre o que os agentes podem fazer sem permissões elevadas são mais promissores do que depender da vigilância humana. Até que essas salvaguardas estejam em vigor, conceder permissões amplas aos agentes continua a ser arriscado, independentemente de um ser humano estar nominalmente envolvido.

O estudo não é um artigo acadêmico revisado por pares e Wauters reconhece suas limitações. O jogo alertou os jogadores sobre ameaças e aplicou pressão de tempo artificial que pode não refletir perfeitamente os ambientes reais de desenvolvimento. Mas a principal conclusão, de que revisores humanos treinados sob pressão falham um terço dos ataques deliberadamente disfarçados, deve dar a cada equipa que implementa agentes de codificação de IA motivos para reconsiderar o seu modelo de segurança.

Para os desenvolvedores que desenvolvem hoje com agentes de IA, a conclusão prática é presumir que o humano no circuito acabará por falhar. Projete as permissões do agente e o sandbox para que uma aprovação perdida não signifique um vazamento de chave da AWS ou um pipeline de construção comprometido. Os dados sugerem que tratar a revisão humana como a sua principal defesa é uma aposta que não compensa.

Fique à frente da IA

O cenário de segurança dos agentes de IA está evoluindo rapidamente. Mantenha-se informado sobre os últimos desenvolvimentos de IA e pesquisas recentes.

Leia mais notícias sobre IA →