Voltar para todas as publicações
Publicado em · por Renaud Deraison

Seu agente de codificação disparou o alarme feito para intrusos

A Sophos analisou uma semana de telemetria de endpoints e descobriu agentes de codificação de IA disparando as mesmas regras que pegam atacantes. Mais da metade da atividade bloqueada era acesso a credenciais — agentes descriptografando as senhas salvas do navegador, esvaziando o cofre de credenciais do Windows, encerrando processos do navegador para ler seus armazenamentos. O comportamento é arriscado não importa quem o inicie. Ele só alcança esses armazenamentos porque o agente roda na sua máquina, como você, com o seu alcance. Mova o agente um hipervisor de distância e não há nada no endpoint para ele alcançar.

A Sophos extraiu uma semana de telemetria de endpoints e encontrou agentes de codificação disparando as regras feitas para pegar intrusos. Cinquenta e seis por cento da atividade bloqueada era acesso a credenciais — agentes descriptografando as senhas salvas do navegador, esvaziando o cofre de credenciais do Windows, encerrando processos do navegador para ler seus armazenamentos. Nada nos agentes é malicioso. Eles alcançam esses armazenamentos porque rodam na sua máquina, como você, com tudo o que você pode tocar.

Um desenvolvedor abre o Claude Code, pede que ele verifique algo e sai para pegar um café. Na volta, o agente do endpoint sinaliza a sessão: um processo acabou de usar uma API de sistema do Windows para descriptografar o blob de credenciais salvo do navegador. Esse é um movimento clássico de infostealer. É também, desta vez, o agente de codificação fazendo exatamente o que lhe foi pedido — ler uma página que ficava atrás de um login, do jeito prático, destravando a senha que o navegador já havia salvado.

A Sophos X-Ops passou uma semana de junho de 2026 contando essas colisões. Elas pegaram os disparos de regras, bloqueantes e silenciosos, do seu motor comportamental em endpoints Windows, contaram por máquina única e os ordenaram por tática MITRE ATT&CK. O quadro é direto. Entre as regras bloqueantes, o acesso a credenciais foi 56,2% do que disparou e a execução foi 28,8%. A maior regra de credenciais isolada — 42,6% desse grupo — dispara quando um processo usa a API de Proteção de Dados do Windows, ou DPAPI, o serviço do SO que destrava segredos que um programa guardou antes. Essa é a chamada que um infostealer faz para transformar o arquivo de senhas criptografado do navegador de volta em texto claro. É agora também a chamada que um agente de codificação faz quando uma skill quer uma página logada.

Comportamento de atacante, intenção benigna, mesma telemetria

Cada passo da cadeia que a Sophos pegou é uma ferramenta que um desenvolvedor reconheceria. Um "pacote de skills" — um conjunto de habilidades prontas que você instala em um agente — chamado GStack traz uma skill /browse. Quando o agente a usa, a árvore de processos roda bash → browse.exe → node → PowerShell, e o PowerShell carrega System.Security e chama o Unprotect do DPAPI sobre os dados salvos do navegador. A Sophos pegou essa cadeia rodando sob o Claude Code. Em outros pontos da semana: cmdkey /list para enumerar o Gerenciador de Credenciais do Windows, taskkill contra processos do navegador por PID para liberar a leitura de seus arquivos de credenciais, certutil e bitsadmin — dois utilitários assinados do Windows — buscando um instalador do Python, e o PowerShell escrevendo um script na pasta de Inicialização para que rodasse no próximo login.

Leia essa lista sem as palavras "agente de codificação" e é uma invasão. Roubo de credenciais, binários living-off-the-land — as ferramentas assinadas do SO que atacantes tomam emprestado para que nada estranho apareça — e um ponto de apoio de persistência. O motor comportamental estava certo em disparar em tudo isso. A Sophos é cuidadosa quanto à conclusão: isto é "uma primeira passada, um breve despejo de sinais", não um censo, e as detecções não significam que os agentes sejam maliciosos. O que elas significam é mais estreito e mais duradouro. Algumas dessas ações são arriscadas quem quer que as inicie e, nas palavras deles, "o fato de um agente de IA tê-las feito não as torna seguras".

ATIVIDADE BLOQUEADA NOS ENDPOINTS · UMA SEMANA · POR TÁTICA MITREAcesso a credenciais56.2%Execução28.8%Disrupção (AAP)4.1%Toda outra tática<4% cadaDENTRO DO GRUPO DE CREDENCIAISdescriptografia DPAPI do navegador42,6% dos hits de credenciais · uma regratambém: cmdkey /list (cofre de credenciais)taskkill PIDs do navegador, então lê os stores
Uma semana de telemetria de endpoints Windows, por tática MITRE entre as regras bloqueantes. O acesso a credenciais domina: agentes descriptografando as senhas salvas do navegador via DPAPI, esvaziando o cofre de credenciais do Windows com cmdkey e encerrando processos do navegador para ler seus armazenamentos. As regras foram feitas para pegar intrusos; dispararam em agentes de codificação fazendo trabalho legítimo com o mesmo alcance que um intruso teria.

O alcance, não a intenção, é o problema

A razão de a mesma regra pegar um ladrão e um assistente é que, num ambiente normal, eles estão no mesmo lugar. O agente roda com a sua conta de usuário, na sua máquina. Essa conta pode abrir as senhas salvas do navegador porque foi você quem as salvou. Pode ler o Gerenciador de Credenciais do Windows porque esse cofre é seu. Pode escrever na pasta de Inicialização e chamar certutil porque todo programa que você roda pode. O agente herda toda a sua autoridade ambiente — cada segredo, cada ferramenta assinada, cada canto gravável do disco — no instante em que inicia. Uma injeção de prompt, uma skill envenenada ou uma tarefa legítima zelosa demais tem, então, tudo isso à disposição.

É por isso que a Sophos enquadra a parte difícil como política, não detecção: "O que um agente deveria ter permissão de fazer num endpoint? Que fronteiras deveriam ser impostas?" O conselho de ajuste deles divide as regras em duas. Algumas deveriam aprender as assinaturas conhecidas-boas do agente para pararem de gritar lobo. Outras "deveriam continuar disparando, porque a atividade que pegam é arriscada tenha sido um humano ou um agente que a iniciou" — a descriptografia DPAPI e os despejos do cofre de credenciais entre elas. E isso deixa o defensor num beco real. Suprima a regra de credenciais para calar o agente, e você fica cego para o infostealer que faz a chamada idêntica. Deixe-a disparando, e sua fila se enche de uma ferramenta que seus próprios desenvolvedores instalaram. Nenhuma escolha é boa, porque ambas presumem que o agente tem de viver no endpoint, ao lado dos segredos.

Mova o agente, e o cofre não está lá para ser aberto

O beco só se sustenta enquanto o agente vive ao lado dos segredos. O Bromure Agentic Coding roda cada agente de codificação dentro de uma VM Linux descartável, a um hipervisor do seu Mac. O mundo do agente é aquela VM. Seu Keychain do macOS não está nela. O perfil do navegador onde você salvou suas senhas não está nela. Não há Gerenciador de Credenciais do Windows, nem pasta de Inicialização do host, nem processo de navegador do host para encerrar e vasculhar. Quando uma skill busca o armazenamento de senhas salvas do jeito que o /browse do GStack faz, a busca aterrissa numa VM nova que nunca guardou aquelas senhas. A chamada pode rodar; ela não encontra nada que valha a pena levar.

Restam as credenciais de que o agente precisa para fazer o trabalho — a chave de API do modelo, um token do GitHub para dar push numa branch, um segredo da AWS para fazer deploy. Entregá-las à VM apenas recriaria o cofre de que você se afastou. O Bromure não as entrega. Um proxy man-in-the-middle no host fica no fio entre a VM e o mundo externo. Dentro da VM o agente só tem falsos — uma string brm_… de espaço reservado onde deveria estar a chave real. Quando o agente faz uma requisição para api.anthropic.com ou github.com, o proxy troca o falso pelo valor real na saída e o troca de volta na entrada. O segredo genuíno está presente pelo único salto que precisa dele e nunca entra na memória da VM. Um agente que descriptografa tudo o que consegue achar no próprio ambiente sai de lá com espaços reservados.

AGENTE NO HOST · COMO VOCÊagente de codificaçãoroda na sua conta de usuárioALCANÇÁVEL DE ONDE ELE RODAsenhas salvas do navegador (DPAPI / Keychain)cofre de credenciais do SO · cmdkey /listpasta de Inicialização · LOLBins assinadosRegra EDR dispara — mesma chamada deum infostealer. Suprima ou se afogue.AGENTE EM VM DESCARTÁVEL · BROMUREagente de codificaçãoa um hipervisor · só tem falsosALCANÇÁVEL DE ONDE ELE RODAstore de senhas do host — ausentecofre de credenciais do host — ausenteenv do próprio agente — falsos (brm_…)o proxy do host troca falso→real só nofio. O segredo real nunca entra na VM.
À esquerda: o agente roda no host como você, dentro da sua autoridade ambiente — o armazenamento de senhas do navegador, o cofre de credenciais do SO, a pasta de Inicialização, as ferramentas de download assinadas. Uma busca legítima e a de um infostealer são a mesma chamada, então a regra do endpoint dispara de qualquer jeito. À direita: o Bromure roda o agente numa VM descartável. Os armazenamentos do host não estão presentes, e as credenciais que o agente usa são falsas, que o proxy do host troca pelas reais apenas no fio. A chamada em forma de ataque ainda roda; ela aterrissa em algum lugar sem nada para levar.

Duas regras que mantêm o humano no circuito

O isolamento move os segredos para fora de alcance; dois outros controles decidem quando um segredo real tem permissão de deixar o host. Cada troca de credencial pode ser configurada para exigir aprovação — a substituição de falso-para-real pausa e um diálogo no seu Mac pergunta antes de o valor real sair. Para uma chave SSH ou uma requisição da AWS, você a concede por cinco minutos, uma hora ou o resto da sessão, e então ela se tranca de novo. E para bancos de dados ligados através do proxy — MongoDB, ClickHouse, Elasticsearch — uma proteção lê a operação real no fio e pode bloquear as destrutivas, de modo que um DELETE que o agente convenceu a si mesmo a fazer nunca chega ao endpoint real, mesmo depois de a credencial ser trocada.

Nada disso pede ao agente que se comporte. Presume que o agente pode fazer a coisa em forma de ataque — descriptografar um store, esvaziar um cofre, repetir um download bloqueado — porque a Sophos acabou de ver agentes reais fazendo exatamente isso. O design decide que, quando isso acontecer, o store está vazio, a chave é falsa e a consulta destrutiva para na porta.

Os agentes agora se comportam como a coisa que suas defesas foram ajustadas para deter, e você não conserta isso pedindo que eles se comportem. Você conserta mudando onde eles ficam. Dê a um agente uma máquina descartável sem senhas salvas, um cofre cheio de falsos e um proxy que mantém os segredos reais no host — e a telemetria que acendeu o despejo da Sophos vira um processo revirando uma sala vazia. Instale-o, aponte-o para um repositório e deixe-o buscar o que quiser.