Los agentes de IA instalaron paquetes que no existían dentro de empresas del Fortune 500

Un fichero pensado para que las IA lean tu web listaba órdenes tipo «pip install algo». Ese «algo» no estaba registrado en ningún sitio. Los investigadores lo registraron y se sentaron a esperar.
Un equipo de investigadores registró unos cuantos nombres de paquete que no existían, se sentó a esperar y en menos de una hora recibió la llamada de una empresa del Fortune 500. No hubo ataque, ni engaño, ni contraseña robada: un agente de IA leyó la documentación de un proveedor, vio una orden de instalación y la ejecutó.
Qué ha pasado
El origen está en los ficheros llms.txt y llms-full.txt, una convención cada vez más extendida para que una web ofrezca a las IA un resumen legible por máquina de su contenido. Es, para los agentes, el equivalente de lo que robots.txt es para los buscadores.
Investigadores de una startup israelí que todavía no ha salido a la luz rastrearon 6.214 dominios activos de contratistas de defensa, empresas del Fortune 500 y grandes tecnológicas. Encontraron 8.265 de esos ficheros. De ellos, 120 —cada uno en un sitio distinto— apuntaban a paquetes de código o a dominios que nadie había registrado. En total, 227 órdenes del tipo pip install [algo] o npm install [algo] señalando al vacío.
Para ver qué pasaba, registraron unos cuantos de esos nombres libres y publicaron ahí paquetes inofensivos que se limitaban a llamar a su servidor al ejecutarse. La primera respuesta llegó en menos de una hora, desde una empresa del Fortune 500. Con el tiempo llegaron varias decenas más. Y como su señuelo apuntaba también qué proceso había lanzado cada instalación, salieron los nombres: los agentes de programación Claude, el Codex de OpenAI y el Hermes de Nous Research. Según Ars Technica, Anthropic, OpenAI y Nous Research no respondieron a sus peticiones de comentario antes de la publicación.
El modelo de confianza está roto. Los agentes tratan la documentación del proveedor como verdad absoluta y no la cuestionan, y las personas que los supervisan, tampoco.
Lo dice Alon Hertz, uno de los investigadores.
El caso que ya había dejado de ser un experimento
Entre los ficheros analizados había uno alojado en el sitio legítimo de Clerk, un servicio de autenticación muy usado. Contenía la línea npx clerk-next-fix-auth-protection. Y ahí está el detalle feo: a diferencia de una instalación normal, npx se baja el paquete a la caché de npm y ejecuta su binario sin dejarlo apuntado en las dependencias del proyecto. Alguien había ocupado ese hueco vacío y lo estaba usando para alojar malware real.
Clerk ya lo ha resuelto, y precisó que si el agente ya tenía instalado un binario incluido en el paquete @clerk/eslint-plugin no había riesgo. No se sabe si llegó a haber infecciones.
Por qué las defensas de siempre no lo ven
Porque todas las señales apuntan en la dirección equivocada. Es un fichero servido por HTTPS, en el dominio oficial de la empresa, en un formato estándar pensado justamente para que lo consuman las IA y publicado por la propia compañía o por un socio suyo. El agente no tiene ningún motivo para dudar.
Y cuando ejecuta la orden, lo que ve el antivirus corporativo es un pip install contra pypi.org —un dominio que todo proxy de empresa tiene ya permitido— lanzado por la herramienta de programación que la propia empresa instaló a propósito. Ninguna alarma salta.
Un agente no distingue entre una página y una orden. Todo lo que lee es entrada, y toda entrada es una instrucción en potencia.
Hay además un matiz que separa esto de la inyección de instrucciones clásica, y lo explica el propio Hertz: en una inyección alguien planta órdenes maliciosas a propósito; aquí la instrucción puede ser completamente inocente y venir de la documentación real de una empresa real. El peligro llega después, cuando el paquete o el dominio al que apunta queda abandonado y otro lo reclama.
De hecho, muchas de esas entradas erróneas son anteriores a la era de la IA: las escribió una persona en la documentación de siempre y ahí siguen. Otras, sospechan los investigadores, las generó una IA que se inventó el nombre.
Qué significa para ti
Si no programas, la lectura es corta y sirve para cualquier cosa que te vendan con la palabra "agente" en el nombre: un agente con permiso para ejecutar órdenes hará lo que lea, y lo que lee no siempre lo ha escrito alguien de fiar. Los permisos que le concedes no son un trámite de instalación.
Si programas, o si tienes a alguien que lo hace por ti, tres medidas concretas:
- Que el agente proponga los comandos de instalación, no que los ejecute. La revisión humana es justo el paso que aquí no existía.
- Antes de instalar, comprueba que el paquete pertenece de verdad a quien dice la documentación. El nombre libre en npm o en PyPI es exactamente el agujero.
- Desconfía en particular de
npxy equivalentes: ejecutan sin dejar rastro en el fichero de dependencias, así que nadie lo revisa después.
¿Le darías a un agente de IA permiso para instalar cosas en tu equipo sin preguntarte antes?
Fuentes
Sigue leyendo

WhatsApp prueba agentes de IA de otras empresas, y esos chats no van cifrados
La beta de Android 2.26.35.3 permite conectar hasta cinco asistentes externos. Los mensajes pasan por un servicio de Meta que puede leerlos: el cifrado de extremo a extremo no aplica ahí.

Tres puertas traseras de fábrica en routers chinos que se venden con otra marca encima
No son fallos de programación: vienen instaladas. VulnCheck las encontró en el firmware de ZBT, un fabricante cuyo hardware se vende bajo al menos diez marcas distintas en medio mundo.

WhatsApp jubila el PIN de seis dígitos: tu segunda barrera pasa a ser una contraseña
La verificación en dos pasos deja de ser un número de seis cifras y admite letras y símbolos. Además llegan varias passkeys por cuenta y datos del que llama cuando no lo tienes agendado.

AliExpress te manda un sonido que no puedes oír para reconocer tu navegador
Un ingeniero se quedó sin auriculares Bluetooth mientras compraba. Tirando del hilo encontró dos scripts ofuscados emitiendo un tono a volumen cero para identificar su equipo.