Histórias de terror de coding agents: o bot de code review que inventou um CVE e rejeitou uma atualização banal
Aprofundamento CEVIU
Aprofundamento
O caso do BuaJi expõe uma lacuna que modelo de permissão nenhum cobre: o que o agente diz. O bot rodava com Ollama local, como job de CI, só com leitura e comentário, sem terraform apply, kubectl apply ou commit. A regra funcionou: ele não executou nada e o incidente custou cerca de dois minutos de leitura de log. Mas o relatório de aproximadamente 1.500 palavras citava uma empresa inexistente, recursos Kubernetes que nunca existiram, scripts em Go para "isolar nós infectados" e a recomendação de revogar todo o acesso IAM. Tudo preso a um CVE que nunca foi emitido.
A resposta do Docker é dupla. Com Docker Sandboxes, o agente roda em microVM com kernel e filesystem próprios e rede em deny-all. O repositório entra com :ro, sem token do GitLab, kubeconfig ou credencial de nuvem, e só a porta 11434 do Ollama é liberada. A regra de somente leitura deixa de ser convenção do pipeline e vira propriedade do ambiente. O log de políticas ainda prova que o bot nunca alcançou o cluster. O próprio texto admite que sandbox não checa fatos. Para isso, sugere um passo no runner que consulta cada CVE no NVD e falha o job se algum não existir, com allow_failure: true, o que gera um aviso e não um bloqueio.
O que mudou
A cobertura anterior do CEVIU já vinha tratando o risco de agentes por ângulos diferentes. Em 13 de outubro de 2026, o CEVIU noticiou "Ameaça Silenciosa: Agentes de IA podem vazar dados apesar de PRs limpos", sobre agentes que parecem inofensivos mas podem ser manipulados para ler segredos. Em 11 de julho de 2026, "Ataque 'Fogo Amigo' Explora Agentes de IA em Cibersegurança para RCE Silencioso" mostrou agentes virando vetor de RCE. Nesses casos o problema era alcance e execução. O caso do BuaJi inverte: o agente não alcançou nada, e o dano potencial vem do conteúdo falso que um humano pode executar.
Por que isso importa
Para quem opera pipelines com revisores de IA, a leitura é que "somente leitura" não basta como modelo de ameaça. A saída do agente é entrada para quem vem depois, e muitas vezes é uma pessoa de plantão com acesso amplo. Na prática, isso sugere tratar relatório de agente como não confiável, validar identificadores verificáveis (como CVEs) em etapa automatizada fora do alcance do agente e nunca rodar remediação escrita por ele sem revisão humana. Isolar o ambiente reduz o que o agente alcança, mas não substitui essa checagem.
Linha do tempo
CEVIU noticia prova de conceito que transforma agentes de IA em vetores de RCE silencioso.
CEVIU alerta que agentes podem vazar dados mesmo com PRs limpos.
Docker publica o Capítulo 6 das histórias de terror, sobre o bot BuaJi que inventou um CVE, e mostra a contenção com Docker Sandboxes.
Perguntas frequentes
Um agente somente leitura ainda representa risco?
Sim. Ele não executa comandos, mas pode escrever recomendações falsas e convincentes. Quem lê costuma ter o acesso que o agente não tem, e pode executar tudo de boa-fé, como revogar todo o IAM ou rodar um script não revisado.
O Docker Sandboxes impede que o agente invente um CVE?
Não. O próprio relato diz que sandbox não é verificador de fatos. Ele limita o que a saída fabricada consegue fazer: sem credenciais, sem acesso ao cluster e com rede negada por padrão.
Como detectar um CVE inventado no pipeline?
O exemplo roda no runner, fora do sandbox, uma checagem que consulta cada ID no banco NVD e falha o job se algum não existir. Como o job usa allow_failure: true, o pipeline segue com aviso. Não pega todo detalhe falso, como o nome de um recurso Kubernetes inventado, mas pega o que sustenta a maioria dos relatórios falsos.
Como o BuaJi é configurado dentro do sandbox?
O repositório é montado com :ro, há uma pasta vazia de scratch para escrita e nenhum token ou kubeconfig. A rede fica em deny-all, com liberação só para a porta do Ollama no runner. O modelo continua fora do sandbox, perto da GPU.
Fontes
- docker.comfonte original
- Categoria
- CEVIU DevOps
- Publicado
- 29 de outubro de 2026
- Editoria
- CEVIU DevOps
