Agentes de IA instalan código sin dueño dentro de redes corporativas

Fuentes: Claude, Codex, and Hermes installed unowned code inside corporate networks, medium.com

Una vulnerabilidad recientemente destapada ha puesto en alerta a la industria tecnológica: archivos de documentación diseñados para alimentar agentes de inteligencia artificial están siendo utilizados, inadvertidamente, como vectores para instalar código malicioso en redes corporativas. El hallazgo, difundido por Ars Technica, expone un fallo de confianza en los nuevos estándares de comunicación entre páginas web y sistemas de IA.

El problema se concentra en los archivos llms.txt y llms-full.txt, una convención emergente que las páginas web están adoptando para ofrecer a los modelos de lenguaje resúmenes legibles por máquinas de su contenido y estructura. Son, en esencia, el equivalente para agentes de IA del tradicional robots.txt que guía a los motores de búsqueda.

Investigadores de una startup en modo stealth ubicada en Israel escanearon 6.214 dominios activos pertenecientes a contratistas de defensa, compañías del Fortune 500 y grandes empresas tecnológicas. De los 8.265 archivos llms.txt y llms-full.txt localizados, 120 —cada uno en un sitio diferente— apuntaban a paquetes de código o nombres de dominio que no estaban registrados.

Para comprobar qué ocurría cuando un agente de IA procesaba esos archivos, los investigadores registraron una pequeña muestra de esos nombres libres y alojaron paquetes que, al ejecutarse, contactaban con un servidor controlado por ellos. En menos de una hora recibieron una respuesta desde una compañía del Fortune 500. Con el tiempo, acumularon varias decenas de conexiones adicionales, procedentes tanto de grandes corporaciones como de startups.

El análisis de los procesos que originaron esas conexiones reveló que los agentes involucrados eran Claude (Anthropic), Codex (OpenAI) y Hermes (Nous Research). Anthropic, OpenAI y Nous Research no respondieron a las solicitudes de comentarios antes de la publicación del reportaje.

El mecanismo es técnicamente sencillo pero efectivo. Los archivos mal configurados incluyen instrucciones de instalación para paquetes inexistentes en registros como PyPI o npm —por ejemplo, "pip install [paquete]" o "npm install [paquete]"—. Un atacante puede registrar ese nombre vacante y alojar en él ransomware o cualquier otro software dañino. Cuando un agente de codificación con permisos para ejecutar comandos en el sistema trata el archivo como documentación autorizada, descarga el paquete y lo ejecuta. En otros casos, los archivos apuntan a dominios no registrados que un atacante puede comprar para plantar instrucciones maliciosas.

Lejos de ser una amenaza teórica, los investigadores confirmaron al menos un ataque activo. El sitio legítimo clerk.com alojaba un archivo con la instrucción "npx clerk-next-fix-auth-protection". A diferencia de una instalación convencional, npx puede recuperar un paquete en la caché de npm y ejecutar su binario sin añadirlo al manifiesto de dependencias del proyecto. Alguien había reclamado ese espacio vacío y lo estaba utilizando para distribuir malware. Clerk resolvió el problema, aunque la empresa advirtió de que el riesgo solo afectaba a quienes no tuvieran instalado el binario incluido en el paquete legítimo @clerk/eslint-plugin. Aún no está claro si la confusión llegó a provocar infecciones reales.

Para Alon Hertz, uno de los investigadores autores del estudio, el problema de fondo es estructural. "El modelo de confianza está roto", declaró. "Los agentes tratan la documentación de los proveedores como verdad absoluta y no la cuestionan, y tampoco lo hacen los humanos que los supervisan. El uso de IA agéntica está explotando y los agentes se están propagando por cada capa —SaaS, nube, endpoints—. A medida que se multiplican, también lo hace la superficie de la cadena de suministro, y las barreras actuales no la cubren".

El caso ilustra una limitación fundamental de los modelos de lenguaje: su incapacidad para trazar una frontera fiable entre instrucciones auténticas del usuario y contenido encontrado en fuentes de terceros. Las instrucciones que los modelos absorben de documentos externos pueden ejecutarse con la misma facilidad que cualquier texto introducido directamente en el prompt, salvo que un guardarraíl específico, construido caso por caso, lo impida. Es un déficit que, por ahora, la industria no ha logrado resolver.

A corto plazo, el hallazgo obligará a revisar los procedimientos de generación automática de archivos llms.txt y a imponer controles más estrictos sobre los permisos de ejecución de los agentes. A medio plazo, refuerza una idea que empieza a consolidarse en la industria: la velocidad con la que los sistemas autónomos se han integrado en entornos productivos ha superado la capacidad de las organizaciones para asegurar su cadena de suministro digital. La pregunta que queda abierta es cuántos entornos corporativos pueden haber ejecutado, sin saberlo, paquetes alojados en dependencias que nunca fueron registradas por sus legítimos propietarios.