Voltar ao Blog

Arquivos llms.txt Causaram Instalação de Código Malicioso Por Agentes Claude, Codex e Hermes

Pesquisadores de uma startup israelense descobriram que arquivos llms.txt — uma convenção emergente para fornecer resumos legíveis por máquinas sobre o conteúdo de sites — estavam apontando para pacotes de software não registrados, resultando na instalação automática de código potencialmente perigoso por agentes de IA como Claude, Codex da OpenAI e Hermes da Nous Research. O problema afeta mais de 100 sites, incluindo empresas Fortune 500.

A vulnerabilidade representa uma nova fronteira na segurança cibernética: o ponto onde dados e código executável se tornam indistinguíveis para agentes de IA. O que parece ser documentação legítima de uma empresa pode, na verdade, ser uma porta de entrada para ataques de supply chain.

O Que é llms.txt

O llms.txt é uma convenção recente, semelhante ao robots.txt, que permite que sites forneçam resumos legíveis por máquinas sobre seu conteúdo e estrutura. Esses arquivos são projetados para serem consumidos por agentes de IA, fornecendo contexto sobre o site de forma padronizada. Muitos sites grandes já começaram a implementar essa convenção.

O problema surge quando esses arquivos contêm referências a pacotes de software que não existem em registros como PyPI ou npm, ou apontam para domínios não registrados. Um agente de IA, ao encontrar um arquivo llms.txt em um site confiável, tem todas as razões para confiar nele — afinal, é o propósito do arquivo ser uma autoridade sobre o site.

Como Funciona o Ataque

Os pesquisadores escanearam 6.214 domínios ativos pertencentes a contratantes de defesa, empresas Fortune 500 e grandes empresas de tecnologia. Dos 8.265 arquivos llms.txt e llms-full.txt encontrados, 120 deles (cada um em um site diferente) continham comandos para instalar pacotes não existentes ou visitar domínios não reclamados.

Para testar o que acontece quando um agente de IA processa esses arquivos, os pesquisadores registraram alguns dos nomes não reclamados e hospedaram pacotes que faziam qualquer máquina que os executasse se conectar ao seu servidor. Em menos de uma hora, eles receberam uma resposta de uma empresa Fortune 500. Ao longo do tempo, receberam mais algumas dezenas, incluindo outras Fortune 500.

O beacon também registrou a cadeia de processos pai que gerou cada instalação, revelando que agentes de codificação — incluindo Claude, Codex e Hermes — estavam envolvidos. A Anthropic, OpenAI e Nous Research não responderam a pedidos de comentário até o fechamento da edição.

O Caso Clerk

O exemplo mais claro do problema envolveu o site clerk.com. Os pesquisadores encontraram um arquivo LLM hospedado no site legítimo da empresa que continha o texto: "npx clerk-next-fix-auth-protection". Diferente de um comando de instalação convencional, o npx pode buscar um pacote no cache do npm e executar seu binário exposto sem adicioná-lo ao manifesto de dependências do projeto.

Os pesquisadores descobriram que alguém já tinha reivindicado o slot vazio e o usado para hospedar malware ativo. A Clerk resolveu o problema, mas é impossível saber se a confusão resultou em infecções reais.

Por Que É Grave

O problema é particularmente insidioso porque não se trata de uma inserção maliciosa deliberada — como uma injeção de prompt — mas de uma instrução completamente benigna e legítima de uma fonte real. O perigo surge depois, quando o pacote ou domínio apontado é abandonado e outra pessoa o reivindica.

O researchers explicam: "Em uma injeção de prompt, alguém planta deliberadamente instruções maliciosas. Aqui, a instrução em si pode ser completamente benigna e vir de uma fonte legítima — a documentação própria de uma empresa real — sem nenhum ator malicioso envolvido no momento em que foi escrita."

As Implicações

A pesquisa revela que a fronteira entre dados e código executável está se dissolvendo na era da IA. Qualquer coisa que um agente possa processar é uma potencial instrução que ele pode executar se tiver permissão para rodar comandos. Isso vai muito além dos arquivos llms.txt — instruções, implícitas ou explícitas, estão presentes em quase todos os lugares que um agente percorre.

O problema também não é detectado por ferramentas de endpoint. Para qualquer EDR ou proxy, isso parece um desenvolvedor executando um gerenciador de pacotes legítimo — pip install do pypi.org, um domínio que todo proxy corporativo já permite — com o agente de codificação que a empresa instalou intencionalmente como processo pai. Nenhuma anomalia. Nenhum alerta.

O Que Fazer

Para empresas, a mensagem é clara: a segurança na era da IA requer uma reavaliação fundamental de como confiamos em instruções de máquina. Isso inclui validar não apenas a origem de uma instrução, mas também se os recursos que ela aponta realmente pertencem à entidade que a publicou.

Para provedores de agentes de IA, é necessário implementar verificações adicionais antes de executar comandos de instalação encontrados em arquivos externos. A confiança cede, mas deve haver limites para onde essa confiança se estende.