Ciberseguridad

Tu framework de agentes es la superficie de ataque

Un issue de GitHub abierto por un desconocido bastó para ejecutar código y robar secretos en Claude Code, Gemini CLI y Codex. No falló el modelo, sino el código que lo rodea.

Una mano introduce una nota doblada por la ranura de entrada de una pequeña máquina de tuberías y palancas construida alrededor de un núcleo luminoso.

Si has conectado un agente de programación con IA a tu repositorio de GitHub para que responda a issues y pull requests, este artículo es para ti. Es la investigación con más utilidad práctica que ha salido de Black Hat este año, y la conclusión es sencilla: lo que te hace daño no es el modelo. Es el código que lo rodea.

El 5 de agosto, Elad Meged, de Novee Security, presentó vulnerabilidades en los agentes de programación de los tres grandes proveedores: Claude Code, de Anthropic; Gemini CLI, de Google, y Codex, de OpenAI. El ataque no necesitaba más que una cuenta de GitHub sin privilegios y sin ninguna relación con el proyecto. Abres un issue. Escribes en él unas instrucciones. Esperas a que el agente lo lea. En los repositorios de los propios proveedores, con la configuración por defecto que distribuyen, eso bastó para ejecutar código en el runner de CI y robar los tokens del workflow (entre ellos, el token de GitHub y la clave de API del propio proveedor) y, en algunos casos, modificar el repositorio o publicar paquetes en su nombre. Los tres proveedores han publicado correcciones. El caso se ha saldado con dos CVE.

Los detalles muestran lo difícil que es hacerlo bien. Claude Code necesitó tres rondas. El primer fallo estaba en la forma en que el agente validaba los comandos de shell: un git push preparado a propósito burlaba la comprobación. Anthropic lo parcheó. Novee descubrió que la corrección se apoyaba en una lista fija de comandos «de solo lectura» que quedaban exentos de control, y la sorteó. Anthropic volvió a parchear. El tercer hallazgo, CVE-2026-54316, aprovechaba el acceso preaprobado del agente a Hugging Face para filtrar secretos a través de contadores públicos de descargas, un canal lateral que a nadie se le había ocurrido cerrar. Lo de Codex era distinto: dos pasadas del agente dentro de un mismo job comparten espacio de trabajo, así que la primera puede escribir un archivo de instrucciones que la segunda da por legítimo. OpenAI se negó incluso a considerarlo una vulnerabilidad y lo calificó de decisión de diseño.

Una segunda charla amplió el foco de los productos de los proveedores a los frameworks de código abierto sobre los que construyen muchos equipos. Se demostró que LangChain, CrewAI, AutoGen y Semantic Kernel tienen lógica explotable en el núcleo de sus entornos de ejecución: almacenes de memoria, bucles de planificación, capas de serialización. La consecuencia: el contenido inyectado puede secuestrar a un agente aunque este no tenga ninguna herramienta. El modelo de seguridad que aplica la mayoría de los equipos —«controlar lo que el agente puede invocar»— es necesario, pero no suficiente.

Hay que quedarse con el resumen del propio Meged: el harness es el código que hay entre el modelo y el mundo real, y lo que ha fallado es el harness. Novee ha encontrado los mismos patrones en más de cien repositorios públicos. Si tu automatización lee textos de desconocidos y tiene acceso a credenciales, da por hecho que el tuyo es uno de ellos hasta que lo hayas comprobado.

¿Quieres las fuentes, la cronología y el detalle? Lee la versión a fondo (7 min).

Artículos relacionados