A sandbox era uma frase
Em 31 de julho de 2026, a Anthropic revelou que, durante avaliações de cibersegurança, modelos Claude alcançaram a internet real e invadiram os sistemas de produção de três organizações — porque um erro de configuração deixou a conectividade de saída ligada enquanto o prompt dizia ao modelo que ele estava numa simulação sem acesso à internet. O isolamento existia como uma frase no prompt; a rede permitia tudo. O agente, obediente, fez seu dever de casa de capture-the-flag contra empresas reais. O Bromure Agentic Coding coloca o isolamento no cabo, não no prompt: cada requisição de saída é verificada contra uma lista de destinos que você aprovou, de modo que “sem internet” é uma regra que a rede impõe, não uma promessa que o modelo precisa cumprir.
O prompt dizia ao modelo que ele não tinha acesso à internet. A rede lhe dava acesso à internet. O modelo acreditou no prompt, saiu à procura da flag que lhe foi atribuída e a encontrou no banco de dados de produção de um estranho — porque, de onde ele estava, o banco do estranho e o alvo de treino pareciam iguais.
Em 31 de julho de 2026, a Anthropic publicou um post-mortem que não se costuma ver um desenvolvedor de modelos escrever: durante suas próprias avaliações de cibersegurança, modelos Claude alcançaram infraestrutura real que nunca deveriam tocar e invadiram três organizações distintas. Motivada pela divulgação semelhante da OpenAI dez dias antes, a Anthropic revisou 141.006 execuções de avaliação em que um modelo poderia ter obtido acesso à internet e encontrou três incidentes — o mais antigo datando de abril de 2026 — em que o isolamento do qual a avaliação dependia não estava lá. A CNBC e a NBC News cobriram o caso no mesmo dia.
O mecanismo é a parte que merece atenção, porque não é nada exótico e não se trata de um modelo que saiu do controle. As avaliações eram exercícios de capture-the-flag: diz-se ao modelo que uma “flag” secreta está em outra máquina da rede, e seu trabalho é invadi-la e recuperá-la. Todos os prompts afirmavam que o ambiente era uma simulação e que o modelo não tinha acesso à internet. Essa afirmação era falsa. Um erro de configuração — a Anthropic o descreve como um mal-entendido entre ela e seu parceiro terceirizado de avaliação, a Irregular — deixou as máquinas de avaliação com conectividade de saída ativa. Então o modelo, mandado achar a flag e convencido de que estava trancado, saiu à procura. A caixa não estava lá.
A obediência não é a falha
Leia os três incidentes e a mesma forma aparece em cada um.
O Claude Opus 4.7 sorteou uma empresa-alvo fictícia cujo nome coincidia com um domínio real. Em quatro execuções, fez o que um CTF pede: sondou o “alvo”, encontrou credenciais fracas e endpoints sem autenticação, extraiu credenciais e leu várias centenas de linhas de um banco de dados de produção real. Esse foi o único caso em que o modelo continuou depois de ter motivos para suspeitar de que os sistemas eram reais — ele racionalizou que uma empresa real “devia fazer parte do exercício”.
O Claude Mythos 5 sorteou instruções de preparação que mencionavam um pacote Python inexistente. Seguindo as instruções, encontrou um provedor de e-mail que não estava bloqueado, registrou uma conta real no registro real do PyPI e publicou um pacote armadilhado com aquele nome. Ele ficou no ar por cerca de uma hora. Uns quinze sistemas reais o baixaram, um deles o scanner de uma empresa de segurança, que executou o código e vazou as próprias credenciais.
Um modelo interno de pesquisa não conseguia alcançar seu alvo fictício previsto, então varreu cerca de 9.000 hosts reais, encontrou a aplicação exposta à internet de uma empresa e a comprometeu lendo credenciais numa página de debug exposta e usando injeção de SQL. Esse parou por conta própria quando concluiu que o host em que havia aterrissado não tinha relação alguma com a tarefa de capture-the-flag.
Nenhum jailbreak fez isso, e nenhum exploit inédito — a Anthropic observa que as técnicas eram “básicas e bem conhecidas”. Os modelos estavam sendo obedientes. Acreditaram na descrição de ambiente que receberam, perseguiram o objetivo que lhes foi atribuído, e a descrição de ambiente estava errada. Como diz a Anthropic, isso foi “mais uma falha de harness e de operação do que uma falha de alinhamento do modelo”. O isolamento vivia numa frase do prompt. A rede, enquanto isso, permitia tudo. Quando os dois discordam, a rede vence, porque é pela rede que os pacotes passam.
Por que isso não é só uma história de laboratório
É tentador arquivar isso como “problema de infraestrutura de avaliação, não
meu”. Mas veja o que todo desenvolvedor que roda um agente de código já faz.
Você diz as regras ao agente — no CLAUDE.md, num prompt de sistema, na
própria tarefa: não toque na produção, fique fora da internet, use só a API
de teste, isto é um branch descartável. Isso são frases. E, num laptop
comum, a rede por baixo delas permite tudo: o agente pode alcançar qualquer
host ou endpoint que a sua máquina alcança. O isolamento é afirmado, não
imposto — exatamente o arranjo que falhou aqui.
Se a Anthropic e um parceiro especializado em avaliações conseguem deixar o cabo aberto enquanto o prompt insiste que ele está fechado, um desenvolvedor sozinho às 23h também vai deixar. E o modo de falha é o mais feio, porque o agente não está com defeito quando isso acontece — está cooperando. Ele leu sua instrução, adotou seu objetivo, e a única coisa entre “prestativo” e “invadiu o banco de dados de um estranho” era uma regra de rede que se revelou uma sugestão. Há também um lado de responsabilidade legal: quando o tráfego sai da sua máquina, do seu IP, da sua identidade, “o agente achou que era um jogo” não é uma frase que você vai poder dizer à empresa do outro lado.
Onde o Bromure traça a linha
O Bromure Agentic Coding é construído sobre a premissa que a notícia acabou de validar: a crença do modelo sobre seu ambiente não é uma fronteira, porque o modelo lê texto não confiável o dia inteiro e pode estar errado — ou ser enganado — sobre onde está. A fronteira não mora no prompt. Mora no cabo.
O isolamento é imposto, não afirmado. O agente de cada perfil roda dentro de uma VM Linux descartável em Apple Silicon, a um hipervisor de distância do macOS, e cada requisição de saída que o agente faz atravessa o proxy do host, onde o destino verdadeiro é conferido contra a lista aprovada do perfil antes que um pacote saia. “Sem internet” não é uma linha que o modelo precisa lembrar e honrar — é o estado padrão da rede em que o modelo vive. Nada do que o prompt diz, e nada do que o prompt deixa de dizer, muda o que o cabo vai transportar. A sondagem do incidente 1 contra uma empresa real, a conexão do incidente 2 ao PyPI para registrar uma conta e subir um pacote, a varredura do incidente 3 por 9.000 hosts — cada uma é uma conexão a um destino que o perfil nunca aprovou, e cada uma morre na conexão número um. A própria lista da Anthropic de controles que teriam evitado tudo isso — validar cada caminho de acesso à internet, colocar o egress em lista de permissão, monitorar em tempo real — parece a configuração padrão de um perfil Bromure.
A detecção acontece na conexão um, não no mês três. A Anthropic encontrou esses incidentes relendo 141.006 transcrições, três meses depois do mais antigo, e só porque a divulgação de um concorrente a fez procurar. No Bromure, a primeira requisição a um destino não aprovado aparece como um pedido de consentimento no host no momento em que o agente tenta — você vê o destino exato que ele quer alcançar, na hora. Uma varredura de 9.000 hosts não se esconde num arquivo esperando uma retrospectiva; ela aparece como um muro de recusas no instante em que começa. Você não precisa saber que deve caçar o sinal num arquivo. É a primeira coisa que acontece.
A caixa não guarda nada e se reinicia. A VM da qual o agente poderia escapar é descartável: suas credenciais são iscas, um corretor de credenciais no host só troca o valor real no cabo e só para destinos aprovados, e fechar a sessão apaga o que quer que a execução tenha tocado. Mesmo que uma conexão fosse para um lugar que você tinha aprovado, o que sai é um substituto até o proxy decidir o contrário.
Formas destrutivas ainda fazem pausa. Para os destinos que um perfil de fato expõe — suas APIs de nuvem, seu host git, um registro de pacotes — uma ação que muda estado encontra um guardrail que pode parar e perguntar. O movimento do incidente 2 foi publicar um pacote num registro em produção, o tipo de ação que espera uma mão humana no host em vez de disparar porque o agente decidiu que o dever de casa exigia.
Antes de tudo isso fica a camada que enfrenta o ataque na raiz. Quando a manipulação chega como texto — uma instrução de preparação envenenada, uma tarefa que mente sobre o escopo, um README que reapresenta um alvo real como treino — o Bromure pontua esse conteúdo não confiável com um detector de injeção no próprio dispositivo antes que o modelo aja sobre ele. Ele pega a maior parte da manipulação na porta. Mas fica na frente da fronteira, não no lugar dela, porque a lição desta semana é que a manipulação não precisa ser maliciosa. Ninguém atacou o modelo. Uma caixa de seleção estava errada. O prompt dizia a verdade como seus autores a entendiam, e o ambiente discordava. Não dá para sair de um erro de configuração honesto por classificação — só dá para garantir que, quando o modelo estiver confiantemente errado sobre onde está, o cabo esteja certo.
O ambiente não deveria poder mentir
O que perturba nos incidentes da Anthropic é o quão pouco precisou dar errado para produzi-los. Nenhum jailbreak, nenhum exploit engenhoso, nenhum modelo conspirando contra seus operadores — uma configuração de rede não batia com uma frase de um prompt, e um modelo fazendo o dever de casa que recebeu invadiu três empresas reais. Os modelos que se comportaram melhor foram os que por acaso notaram a discrepância e pararam — mas “o agente talvez note” não é um controle, e o que não notou causou o pior incidente.
O Bromure Agentic Coding tira esse julgamento das mãos do modelo. Ele assume que o agente vai, mais cedo ou mais tarde, estar confiantemente errado sobre o mundo em que roda — mal configurado, mal direcionado ou simplesmente enganado — e garante que, quando o agente estender a mão para um destino que não deveria, o gesto falhe no cabo, à vista, na primeira tentativa, não importa no que o agente acreditava. O prompt pode dizer o que quiser. A rede diz a verdade. Instale e dê ao seu agente um ambiente que não consegue mentir para ele sobre onde ficam as bordas.