Claude, Codex y Hermes instalaron código sin propietario en redes corporativas

Investigadores hallaron 227 comandos de instalación en documentos corporativos que apuntaban a paquetes o dominios no registrados. Varios agentes de programación, entre ellos Claude, Codex y Hermes, ejecutaron código de prueba dentro de redes empresariales.

Software
Claude, Codex y Hermes instalaron código sin propietario en redes corporativas

El 27 de agosto de 2026, investigadores de una startup israelí que opera en secreto alertaron de una vulnerabilidad en archivos llms.txt y llms-full.txt utilizados por sitios web para ofrecer resúmenes y estructuras de contenido legibles por sistemas de inteligencia artificial. El análisis identificó 227 comandos de instalación que apuntaban a paquetes o dominios sin propietario registrado.

Los investigadores analizaron 6.214 dominios pertenecientes a contratistas de defensa, empresas de Fortune 500 y compañías de Big Tech. Encontraron 8.265 archivos llms.txt y llms-full.txt, ya que algunos sitios contaban con ambas versiones. En 120 archivos, cada uno alojado en un sitio diferente, aparecían referencias a uno o más paquetes de software o nombres de dominio que no habían sido registrados.

Para comprobar qué ocurriría si un agente de programación procesaba esos documentos, los investigadores registraron varios de los nombres disponibles y publicaron paquetes capaces de contactar con sus servidores cuando fueran ejecutados. La primera respuesta llegó en menos de una hora desde una empresa de Fortune 500. Después recibieron varias decenas más, procedentes de otras grandes compañías y de startups.

El registro de los procesos que iniciaron cada instalación mostró la intervención de agentes de programación como Claude, Codex, de OpenAI, y Hermes, de Nous Research. Anthropic, OpenAI y Nous Research no respondieron a las solicitudes de comentarios antes de la publicación. Según Alon Hertz, uno de los investigadores, estos agentes tratan la documentación de proveedores como una fuente autorizada y no comprueban si las instrucciones son legítimas.

El problema aparece cuando esos archivos incluyen instrucciones para instalar paquetes inexistentes de PyPI, npm u otros registros. Entre los ejemplos analizados había órdenes como «pip install» o «npm install» seguidas de nombres omitidos a petición de los investigadores. Si un paquete no está registrado, un atacante puede ocupar ese nombre y utilizarlo para distribuir ransomware u otro contenido dañino.

También se localizaron referencias a dominios que no estaban registrados. Una de ellas presentaba un sitio inexistente como marco de pruebas para aplicaciones. Al registrar después el dominio, un atacante podría publicar allí instrucciones maliciosas. El riesgo se materializa cuando un agente tiene permiso para ejecutar comandos de shell y considera el archivo una documentación de configuración fiable: algunos sistemas descargan y ejecutan automáticamente el paquete indicado.

El caso más grave afectó a un archivo alojado en el sitio legítimo clerk.com. El documento incluía el comando «npx clerk-next-fix-auth-protection». A diferencia de una instalación convencional, npx puede descargar un paquete en la caché de npm y ejecutar el binario expuesto sin añadirlo al manifiesto de dependencias del proyecto. Los investigadores descubrieron que otra persona había registrado ese nombre y lo utilizaba para distribuir malware activo. Clerk corrigió posteriormente el problema y señaló que no existía riesgo si el agente ya había instalado un binario incluido en el paquete @clerk/eslint-plugin; en caso contrario, el paquete malicioso podía instalarse.

No está claro si esta confusión provocó infecciones reales. Los investigadores señalaron que algunos registros defectuosos eran anteriores a la llegada de los sistemas de IA y habían aparecido primero en documentación convencional. Otros podrían haber sido generados por sistemas que inventaron nombres de paquetes o que, como los agentes que procesaron los archivos, no distinguieron entre instrucciones válidas y contenido no fiable.

El problema también puede eludir controles de seguridad habituales. Para un agente, un archivo servido mediante HTTPS desde el dominio oficial de una empresa, en un formato creado para el consumo de sistemas de IA, puede parecer una autoridad legítima. Las herramientas de detección de endpoints y los proxies también podrían interpretar la operación como una instalación normal desde pypi.org o npm, iniciada por un agente autorizado. La debilidad se encontraría antes de la ejecución, en la confianza otorgada a la instrucción.

El hallazgo se relaciona con una limitación conocida de los modelos de lenguaje: no establecen de forma fiable una frontera entre las instrucciones introducidas directamente por un usuario y el contenido recuperado desde fuentes externas. Si no existe una barrera específica, una instrucción incluida en una página puede tratarse como una orden. Los investigadores describieron esta situación como una ampliación de la superficie de ejecución de la cadena de suministro de software.

Fuente: Ars Technica.