← Todos os artigos

Vulnerabilidade llms.txt: Como os agentes de IA instalam

Vulnerabilidade llms.txt: Ataque de arquivo de documentação para agentes de IA

Na quinta-feira, 27 de agosto, Ars Technica publicou uma investigação, o que deve fazer com que qualquer desenvolvedor que use agentes de IA para código reconsidere sua segurança. Pesquisadores de uma startup israelense escanearam 6.214 domínios de empresas Fortune 500, empreiteiros de defesa e Big Tech – e encontraram 120 arquivos BLK0 que forçam os agentes de IA a instalar automaticamente pacotes inexistentes de PyPI e npm.

A essência do problema é simples e assustadora: o padrão BLK1 é “robots.txt para IA”, um arquivo de mapa do site em formato markdown que ajuda os agentes a compreender rapidamente a estrutura da documentação. Mas a especificação não fornece qualquer verificação de autenticidade, assinatura ou integridade. Se tal arquivo contiver a linha BLK2 ou BLK3 , e o agente tiver direitos para executar comandos, ele simplesmente instalará o que está escrito lá.

Como é que isso funciona

Os pesquisadores encontraram 8.265 arquivos BLK4 e BLK5 (muitos sites possuem ambos). Em 120 deles – em 120 domínios diferentes – havia links para pacotes ou domínios que não existem nos registros. Um invasor só precisa registrar esse nome e postar código malicioso nele.

Para testar o ataque, os próprios pesquisadores registraram vários nomes “gratuitos” e colocaram ali pacotes inofensivos que simplesmente enviaram um sinal “Estou executando” ao seu servidor. Dentro de uma hora, eles receberam uma resposta de uma empresa Fortune 500. Com o tempo, dezenas de respostas vieram de outros gigantes e startups. A telemetria do processo mostrou exatamente quem instalou os pacotes: Código Claude, OpenAI Codex e Hermes por Nous Research.

Padrão de ataque via llms.txt

O pior caso - clerk.com

No site legítimo clerk.com, o arquivo BLK6 continha o comando BLK7. Ao contrário do BLK8 normal, a equipe do BLK9 pode baixar um pacote no cache npm e executar seu binário sem adicionar dependências do projeto. Alguém conseguiu pegar esse nome gratuito e enviar malware real para lá. O funcionário corrigiu o problema, mas o padrão já está em produção.

Por que isso não é apenas um “bug de modelo”

Isto não é uma alucinação ou um hack de sandbox. O arquivo está localizado no domínio oficial da empresa, atendido via HTTPS, em formato padronizado criado para consumo de IA. O agente não tem motivos para duvidar dele – arquivo e há autoridade. O problema é que o padrão BLK10 (proposto por Jeremy Howard da Answer.AI em setembro de 2024) não contém quaisquer disposições de segurança: sem assinaturas, sem verificação de origem, sem verificação de pacotes.

A cadeia de confiança é transitiva: BLK11 não pode estar no site da Fortune 500, mas em seu parceiro, fornecedor de SDK, projeto comunitário. Se o agente confia em um terceiro e esse terceiro aponta para um pacote não registrado, a cadeia funciona da mesma forma.

O que fazer agora

  1. Auditoria. Verifique seu BLK12 e BLK13. Certifique-se de que todos os pacotes, domínios e URLs mencionados existam, estejam sob seu controle e tenham um mantenedor responsável. Remova referências a dependências que você não consegue explicar de memória.
  2. Proxy entre agentes e registros. Bloqueie novos pacotes (pacotes slopsquatted são novos por definição), imponha um resfriamento de 24 a 72 horas após o primeiro lançamento de qualquer dependência, verifique BLK14 (SLSA/Sigstore) antes de instalar.
  3. Não dê aos agentes BLK15, BLK16, BLK17. Esses sinalizadores existem para garantir que o desenvolvedor assuma a responsabilidade. Se o agente instalar pacotes sem a sua confirmação, você entregou a ele as chaves da infraestrutura.

Conclusão principal

A corrida para tornar os websites legíveis para os agentes acaba de colidir com a corrida para explorar a cadeia de abastecimento. Isso não é culpa de um modelo ou fornecedor - é culpa do design de um padrão que ninguém considerava um código executável. Até que a indústria imponha a validação do que um agente lê na web, todo BLK18 ruim é um ponto de entrada potencial em sua rede.

Esquema de ataque via llms.txt: o agente lê o arquivo, encontra um comando para instalar um pacote inexistente, executa-o, baixa o malware

Você deseja verificar a segurança do seu fluxo de trabalho de IA? Em NeuralSpace você pode executar geração de código e agentes de teste em um ambiente isolado - tente conversar ou modo de código.