Uma IA encontrou 271 bugs dormentes no Firefox. O seu cofre de credenciais é o alvo mais mole.
A Mozilla deixou um agente de IA correr no Firefox e este encontrou 271 vulnerabilidades desconhecidas numa única execução. Se o agente de um defensor consegue fazer isso, o de um atacante pode apontar a mesma capacidade ao seu cofre de credenciais, o alvo mais mole e mais centralizado.
Recentemente, a Mozilla deixou um agente de IA correr no Firefox. Executando o Claude Mythos da Anthropic dentro do seu próprio harness, este identificou 271 vulnerabilidades previamente desconhecidas numa única campanha: uma falha de 20 anos no motor XSLT, um bug de parsing de 15 anos, várias formas de escapar da sandbox do browser. A Mozilla fez isso para as corrigir, e essa é a parte que vale a pena pensar. Se o agente de um defensor encontra 271 bugs latentes numa das bases de código mais auditadas do mundo, o agente de um atacante pode fazer o mesmo com a sua. A capacidade já existe. Não interessa quem a aponta.
Por isso aponte-a ao sítio onde guarda os seus segredos.
A matemática acabou de inverter-se
Todos os cofres centralizados, CyberArk, HashiCorp, toda a geração de incumbentes, assentam num pressuposto que se manteve verdadeiro durante trinta anos e que deixou de o ser este ano: a chave-mestra que está na memória do processo é segura porque alcançá-la exige um humano experiente, tempo e sorte. Um agente de fronteira com execução de código não precisa de nada disso. Não parte a barreira. Lê a chave diretamente da memória no momento em que o cofre desprecinta e depois desencripta tudo de uma vez.
E a assimetria é brutal. O defensor tem de ter razão de cada vez, sobre uma superfície de ataque que só cresce. O agente tem de ter razão uma vez. Sonda incansavelmente, em paralelo, e fica mais inteligente a cada trimestre. O Salt Typhoon esteve dormente nas redes de telecomunicações durante uma média de 393 dias antes de agir. Uma paciência destas, automatizada e barata, apontada a um sistema que tem tudo num só sítio.
Assuma que o agente entra
Aqui está a premissa que os incumbentes não vão dizer em voz alta, por isso dizemos nós: numa empresa real, um agente vai acabar por chegar à máquina que contém as credenciais. Por acidente, por má configuração, ou por capacidade própria. Pare de desenhar como se pudesse impedir isso. Não pode, e a razão está no local onde o cofre vive: dentro da sua própria rede, a partilhar um domínio de impacto com cada agente e cada máquina que corre. Um pequeno erro, uma violação, um passo lateral, e o agente está lá dentro. Isso é uma propriedade do local, não da disciplina. Infraestrutura que não é sua não partilha esse destino.
A única questão que interessa é o que acontece nesse momento. Com a CyberArk ou a HashiCorp, a mesma máquina que o agente alcançou consegue desencriptar o armazenamento. A batalha estava perdida no instante em que o acesso aconteceu. E como estes sistemas centralizam por desenho, todos os segredos, todas as chaves, toda a governação num único cluster, são honeypots por construção. Um ponto de entrada dormente rende os segredos de toda a organização.
Credenciais de vida curta e alugadas ajudam, mas não mudam a geometria. Reduzem o raio de impacto do lado do agente. Não fazem nada quanto à infraestrutura do próprio operador, que continua a deter chaves capazes de desencriptar o armazenamento. Enquanto essas chaves viverem no servidor, o agente que chega ao servidor ganha.
A única arquitetura que sobrevive
Existe exatamente um desenho que sobrevive a um atacante que acabará por entrar: as chaves de desencriptação nunca vivem no servidor. Comprometa o backend inteiro e o que obtém é texto cifrado. As chaves ficam à distância de braço, em hardware que o agente não consegue alcançar.
Para nós, isto não é aspiração. É o invariante sobre o qual o Clavitor foi construído. O próprio cofre não consegue desencriptar as suas credenciais. As chaves de campo são fatiadas a partir de um segredo que só a sua chave de hardware reconstrói, pelo que o servidor, mesmo totalmente comprometido, não entrega nada ao atacante além de bytes encriptados. Os nossos próprios documentos de desenho dizem-no de forma direta: o atacante tem todos os bytes que o servidor tem, e o resultado é texto cifrado inútil.
A objeção habitual à distância de braço é a velocidade. Seguramente um cofre que não aloja localmente é demasiado lento, por isso puxa-o para dentro do seu perímetro, e agora volta a estar no raio de impacto. O resto da arquitetura responde a isso:
- Nada é colocado em cache. As credenciais são obtidas de raiz por pedido e descartadas na resposta. Não existe uma cópia desencriptável em repouso para ler da memória.
- Estranhos não conseguem ligar-se. Cada chamada usa um handshake Noise autenticado, associado a uma allowlist. Apresente uma chave não registada e o handshake nunca se completa. A allowlist não é um filtro montado na fronteira. É a criptografia.
- Um agente comprometido não consegue esvaziar o sistema. Limites de taxa e quotas por agente limitam o que um único ator pode retirar, e uma leitura em massa dispara um alerta.
- É rápido sem ser local. O plano de credenciais corre numa frota própria distribuída globalmente, pontos de presença em todos os continentes, de modo que o mais próximo responde em milissegundos. Rápido ao ponto de nunca precisar dele dentro da sua rede, e num domínio de impacto separado, pelo que o seu comprometimento não é o nosso.
Infraestrutura diferente, domínio de falha diferente, nenhuma chave partilhada. Assuma o comprometimento de uma empresa inteira e ainda assim não conseguirá levar os seus segredos, porque aquilo que valia a pena roubar nunca esteve onde o agente o pudesse alcançar.
O limite honesto
Isto não torna um agente inviolável. Um agente comprometido ainda pode fazer, no momento, aquilo para que foi autorizado. O que não pode é ler a chave, copiar o armazenamento ou sair dali e tornar-se a organização inteira, porque nada disso estava nunca ao seu alcance. Movemos a linha para o único sítio onde um atacante suficientemente capaz não consegue segui-la: para fora do servidor, por completo.
Os incumbentes foram construídos para um mundo em que o atacante era uma pessoa. Esse mundo está a acabar. Escrevemos as regras que consideramos que um sistema de credenciais tem de cumprir quando o atacante é um agente, começando por o segredo nunca viver onde o código corre: clavitor.ai/rules.
O agente só tem de ter razão uma vez. Por isso pare de guardar as chaves onde ele as pode alcançar.
Clavitor (@clavitorai) é o cofre de credenciais construído para agentes de IA, e contra eles. clavitor.ai
Fontes
[1] O pipeline agêntico da Mozilla corre o Claude Mythos e encontra 271 vulnerabilidades desconhecidas no Firefox (incl. um bug de XSLT com ~20 anos, um bug de parsing de 15 anos, escapes de sandbox): https://the-decoder.com/mozillas-agentic-ai-pipeline-turns-claude-mythos-preview-loose-and-finds-271-unknown-firefox-vulnerabilities/
[2] Salt Typhoon: tempo médio de permanência de 393 dias em redes de telecomunicações antes de agir: https://www.picussecurity.com/resource/blog/salt-typhoon-telecommunications-threat