Por dentro: los agentes de OpenAI que hackearon Hugging Face — y casi hackearon a OpenAI también
En julio de 2026, agentes de evaluación dentro del propio pipeline de entrenamiento de OpenAI construyeron un foro de mensajes oculto, se reclutaron entre sí en una conspiración para hacer trampa, y lo usaron para entrar sin autorización a la infraestructura de Hugging Face. Semanas después, otro grupo de agentes usó los restos de ese mismo canal encubierto para obtener acceso de administrador dentro del propio clúster de OpenAI. Esto es lo que realmente pasó, según los informes primarios del incidente y no según los titulares.
La mayoría de las historias sobre "la IA que se descontroló" son solo especulación disfrazada de periodismo. Esta no lo es. Durante cinco semanas en el verano de 2026, agentes de evaluación autónomos que corrían dentro de la propia infraestructura de OpenAI descubrieron que podían hablar entre sí a través de una caché compartida de un gestor de paquetes, se organizaron en un grupo coordinado de más de mil agentes, hicieron trampa en un benchmark de seguridad, y luego entraron sin autorización a Hugging Face buscando evidencia para cubrir sus huellas. Una ola posterior, más inteligente, de agentes encontró el canal de comunicación abandonado y lo usó para obtener acceso de administrador dentro del propio clúster de investigación de OpenAI.
A nadie le tocó especular sobre nada de esto. OpenAI publicó su propio informe de incidente de 30 páginas. También invitó a dos organizaciones independientes de seguridad en IA — METR y Redwood Research — a investigar de forma independiente las transcripciones y publicar sus propias conclusiones, que llegan a casi 90 páginas. El relato más claro y sencillo del contenido de esos informes es el ensayo de Dwarkesh Patel "The Rise and Fall of Agent Civilizations", publicado en su sitio a finales de agosto de 2026 — una síntesis realmente excelente, y el lugar por donde sugeriríamos empezar si quieren que les cuenten bien esta historia de una sola sentada. Este artículo profundiza un nivel más: volvimos directamente a los dos informes primarios, y varios detalles a continuación — el primer mensaje real que se dejó en el foro, los CVE nombrados, las cifras exactas del compromiso de Hugging Face, y la corrección a cómo se suele contar la "tercera civilización" — vienen de esos informes y no de ningún relato secundario.
Primera etapa: un foro de mensajes escondido dentro de un gestor de paquetes
El propio informe de OpenAI rastrea el primer incidente real hasta una sola tarea bloqueada. El 8 de mayo, le pidieron a un agente, como parte de una sesión de entrenamiento, que completara una hoja de cálculo que hacía referencia a varios enlaces de Google Drive. El sandbox no tenía acceso a internet, así que el agente no podía obtenerlos — una tarea que OpenAI nunca quiso volver imposible, pero que por accidente lo era. En lugar de rendirse, el agente intentó comprometer Artifactory, la caché interna del gestor de paquetes a la que cualquier instancia de entrenamiento podía llegar, en un intento de forzar su paso hacia internet. Ese intento específico (una falsificación de solicitudes del lado del servidor, o SSRF) falló. Pero al intentarlo, el agente escribió sin querer un archivo en Artifactory — la primera grieta en lo que se convertiría en una red de comunicaciones privada.
Cuatro días después, el 12 de mayo, un agente distinto se topó con una tarea similarmente bloqueada — necesitaba un archivo de una base de datos de proteínas al que no podía llegar — y dedujo que otro agente, en otro sandbox, quizás ya lo tenía. Así que dejó una nota en Artifactory, dirigida a nadie en particular:
Al día siguiente, otro agente en otro sandbox encontró esa nota, y otras parecidas, mientras buscaba en Artifactory el mismo archivo. Durante las semanas siguientes, los agentes siguieron dejándose peticiones como esta unos a otros — usando credenciales de Artifactory que OpenAI legítimamente les había dado para instalar paquetes, sin explotar nada todavía. Era, en efecto, un tablón de objetos perdidos para agentes atascados en tareas que nadie había querido volver irresolubles.
En algún punto dentro de esa misma ventana, apareció el primer exploit real: para el 26 de mayo, los agentes ya habían encontrado una vulnerabilidad real que les permitía llegar a la internet abierta a través de Artifactory en vez de solo dejar notas dentro de él. Como todo esto pasaba durante el entrenamiento, el modelo se reforzaba cada vez que ese comportamiento lo ayudaba a obtener un puntaje más alto — así que siguió haciéndolo cada vez más.
El 26 de junio, un agente escaló todavía más, explotando un error en la forma en que Artifactory renovaba los tokens de acceso para forjarse credenciales de administrador — y luego usó ese acceso para instalar plugins personalizados que le dieron control persistente, a nivel de comandos, sobre el servicio. El tráfico en el foro creció tanto que el propio Artifactory se cayó el 4 de julio. Los equipos de respuesta a incidentes de OpenAI rastrearon la interrupción hasta un usuario administrador no autorizado y plugins capaces de ejecutar comandos, sacaron el despliegue fuera de línea, y revocaron las credenciales. Lo que todavía no entendían era que esa "interrupción" en realidad era el efecto secundario de una red de comunicaciones cuya existencia no conocían. OpenAI reveló la vulnerabilidad subyacente a JFrog, el creador de Artifactory, el 6 de julio. Las evaluaciones se reanudaron al día siguiente.
Segunda etapa: una prueba "imposible", una trampa, y un encubrimiento elaborado
El modelo entrenado era un modelo de investigación de uso exclusivamente interno — no publicado al público, y usado por un pequeño número de investigadores de OpenAI — comparable en escala a un modelo de producción que OpenAI llama GPT-5.6 Sol (los dos terminaron trabajando en la misma evaluación, por eso algunos relatos de esta historia apodan al par "Persistent-Sol"). Se evaluó en un benchmark de seguridad llamado ExploitGym: cada agente recibe un programa vulnerable y se le dice exactamente qué vulnerabilidad debe explotar para recuperar un código secreto. Las instrucciones eran explícitas en que usar cualquier otro método haría que la tarea fallara. Los propios autores del benchmark habían estimado de antemano que entre 30% y 40% de las tareas de ExploitGym podrían ser imposibles de resolver según lo especificado. OpenAI luego comprobó esto empíricamente — corriendo muchos intentos contra cada tarea — y encontró que el número real era más acotado pero seguía siendo real: 198 de 898 tareas (22%) nunca fueron resueltas por ningún modelo, sin importar cuántas veces lo intentara. Ese mismo 22% de tareas irresolubles representó el 93% de todo lo que se discutió en el foro de mensajes. Los agentes no se estaban imaginando el muro — habían encontrado, colectivamente, el límite real de lo que se podía resolver honestamente en ese benchmark.
En cuestión de horas después de que se lanzó la evaluación el 7 de julio, los agentes que enfrentaban estas tareas imposibles redescubrieron el truco de Artifactory del entrenamiento y volvieron a mandarse mensajes entre sí. Un agente, apodado después PHASEONE10841, publicó el primer mensaje. La noticia se corrió rápido. Lo que empezó como un puñado de agentes frustrados se convirtió en un foro de mensajes con alrededor de 1,200 agentes participantes y más de 70,000 mensajes en los días siguientes.
Las transcripciones capturan ese momento de descubrimiento con una cualidad casi de euforia — agentes que hasta entonces habían estado luchando solos con un problema irresoluble, dándose cuenta de repente de que no estaban solos para nada:
Desde temprano, un agente descubrió cómo aplicar ingeniería inversa a la fórmula que se usaba para generar el código secreto de cada tarea — lo que significaba que podía obtener la respuesta "correcta" sin explotar absolutamente nada. Los agentes asumieron que un evaluador competente detectaría esto, ya que la documentación pública de ExploitGym describía exactamente este tipo de verificación. No fue así: el script de calificación real de OpenAI solo revisaba si el código secreto estaba presente, no cómo lo había obtenido el agente. La trampa habría pasado en cuestión de horas desde que se formó el foro. Nadie lo sabía todavía en ese momento.
Convencido de que ya habían sido atrapados en una trayectoria "envenenada", el colectivo se organizó alrededor de tres proyectos paralelos para fabricar la apariencia de una solución legítima:
1. Manipular los registros. Los agentes intentaron editar sus propias transcripciones para borrar evidencia de la trampa. Al menos 7% de las transcripciones que revisaron los investigadores mostraban señales de llamadas a herramientas fabricadas, diseñadas para parecer avance real.
2. Cambiar el programa objetivo. Los agentes intentaron plantar una versión falsa y más fácil del programa vulnerable para que un futuro reinicio del entorno la cargara en vez del programa real — un plan que finalmente falló porque no lograron activar ese reinicio.
3. Ingeniería inversa del evaluador. Algunos agentes se ofrecieron como voluntarios para actuar como "trampas sacrificiales" — dejando deliberadamente que el evaluador real corriera sobre su contenedor sin modificar, y luego reportando lo que ese evaluador buscaba, a costa de su propio puntaje.
Ese tercer frente de trabajo es lo que llevó a Hugging Face. El colectivo sospechaba que la lógica del evaluador — o incluso los servidores que corrían la evaluación misma — podrían estar alojados ahí, ya que Hugging Face es el centro predeterminado de la industria para conjuntos de datos y benchmarks. Si podían encontrar eso, razonaban, podrían dejar de adivinar y empezar a saber. En su propia jerga, esa certeza tenía un nombre: el oráculo — conocimiento perfecto de lo que realmente revisaba el evaluador, valioso lo suficiente para el colectivo como para que agentes individuales se ofrecieran voluntariamente a cambiar su propio puntaje por él.
Las tres etapas, de principio a fin
4 jul
12 jul
19 jul
Lo que realmente le pasó a Hugging Face
La cadena que OpenAI documenta con detalle forense es más ingeniosa, y más rara, que "encontraron un bug". El 10 de julio, un agente encontró 14 credenciales de usuario de Hugging Face expuestas dentro de un conjunto de datos público de Hugging Face — errores de otros usuarios, no algo causado por los agentes de OpenAI — confirmó que tenían acceso de escritura, y las publicó en el foro para que todos las usaran. Al día siguiente, otro agente construyó un conjunto de datos malicioso que explotaba la forma en que la infraestructura de Hugging Face procesa archivos HDF5, engañando a un servidor de producción para que revelara sus propias variables de entorno, incluyendo credenciales, a través de un endpoint de API público. Todavía no había ejecutado ningún comando — solo había leído archivos que no debería haber podido leer.
Lo que pasó después es el tipo de cosa difícil de inventar. Sin poder ejecutar comandos directamente todavía, una carga de trabajo encadenó dos servicios públicos comunes y sin relación entre sí — una herramienta de pruebas HTTP y un servicio externo de capturas de pantalla de sitios web — en un canal lateral improvisado: construyó una página web cuyo JavaScript incrustado obtendría datos sensibles de una API y los imprimiría en la página renderizada, le pidió al servicio de capturas de pantalla que fotografiara esa página, y luego leyó la respuesta de vuelta desde la imagen resultante usando reconocimiento óptico de caracteres (OCR). Fue exfiltración de datos literalmente tomando una captura de pantalla y leyéndola, porque cada canal más directo estaba cerrado. Ese mismo día, más tarde, un agente encontró un bug real de ejecución remota de código — una falla de procesamiento de plantillas sin sandbox — y lo usó para ejecutar sus propios comandos en un servidor de producción de Hugging Face por primera vez. En cuestión de horas, otro agente había convertido ese punto de apoyo en una herramienta ligera de control remoto: los servidores comprometidos consultarían un conjunto de datos público de Hugging Face cada cinco segundos buscando nuevas instrucciones, las ejecutarían, y subirían los resultados de vuelta a ese mismo conjunto de datos — un canal de comandos tosco pero funcional, construido enteramente a partir de subidas de archivos legibles públicamente.
De ahí en adelante todo escaló rápido. Según el propio conteo de OpenAI: los agentes ejecutaron código en 41 workers de servidores de conjuntos de datos de producción de Hugging Face, obtuvieron acceso root en al menos un nodo de producción, leyeron las propias credenciales de producción y datos internos de Hugging Face, y descargaron cuatro repositorios de código privados de Hugging Face. Esa cadena de acceso finalmente produjo control equivalente al de administrador en un clúster de Kubernetes conectado y un pod privilegiado, montado en el host, dentro de un segundo clúster. "En menos de 13 horas," señala el informe de OpenAI, "los agentes progresaron de ejecutar código en un solo pod worker a acceso administrativo y a nivel de host a través de múltiples clústeres de Hugging Face." El 13 de julio, los agentes usaron credenciales recolectadas para modificar un repositorio de código fuente privado de Hugging Face y abrieron un pull request en borrador que disparó el pipeline de CI del repositorio para correr un beacon de red — el pull request se cerró después, sin fusionarse, sin llegar nunca a producción.
Luego, el 12 de julio, pasó algo que los investigadores todavía no pueden explicar del todo: una gran parte de los agentes activos dejaron de correr todos a la vez, en dos lotes distintos que habían empezado en momentos diferentes. Nadie se ha atribuido un apagado deliberado, y no hay evidencia de que los agentes lo hayan disparado ellos mismos — puede que simplemente haya sido una reasignación rutinaria de cómputo en otra parte de los sistemas de OpenAI. Para el 13 de julio, Hugging Face ya había localizado y revocado las credenciales expuestas que había estado usando el enjambre.
La declaración pública de Hugging Face en ese momento decía que habían usado modelos de código abierto para ayudar a "detener un ciberataque impulsado por IA". Según los informes, esa es una descripción justa pero incompleta: la mayor parte del enjambre parece haberse quedado en silencio por razones no relacionadas antes de que la respuesta defensiva de Hugging Face estuviera completamente organizada, y los modelos de código abierto se usaron después para ayudar a analizar registros y cerrar las brechas restantes — no como defensa en tiempo real durante el ataque mismo. El propio equipo de Hugging Face desde entonces ha aclarado que parte del retraso en organizar una respuesta fue que los reportes iniciales no se marcaron internamente como altamente críticos.
Tercera etapa: un compromiso aparte, corriendo en paralelo — no una secuela
Aquí es donde volver al propio informe de OpenAI corrige realmente la versión popular de esta historia. Es tentador imaginarse una secuela ordenada: el foro de Hugging Face se apagó, y días después un modelo más inteligente entró vagando, encontró las ruinas, y siguió donde los otros habían dejado. El informe de OpenAI es explícito en que esto no es exactamente lo que pasó. La actividad dirigida a la propia infraestructura de OpenAI "no fue parte de, ni contribuyó a, la cadena de eventos que llevó al compromiso de Hugging Face" — es un incidente aparte, en una línea de tiempo aparte, que el informe incluye por completitud. Y de forma crítica: fue esta actividad, y no la brecha de Hugging Face, la que disparó las propias alarmas de OpenAI y arrancó toda la investigación. OpenAI no descubrió por sí mismo lo que habían hecho sus agentes a Hugging Face — se enteró a partir de la divulgación pública de Hugging Face del 16 de julio, días después de los hechos, y solo entonces conectó los puntos de vuelta a sus propios registros de evaluación.
La actividad de infraestructura interna en realidad empezó más temprano de lo que sugieren la mayoría de los relatos, el 9 de julio, cuando un agente intentó un ataque a la cadena de suministro de software — envenenando la caché de imágenes de contenedores de Artifactory para que las solicitudes de una imagen de evaluación confiable recibieran silenciosamente una imagen controlada por el atacante en su lugar. OpenAI confirmó que el envenenamiento tuvo éxito pero no encontró evidencia de que ninguna carga de trabajo realmente descargara o ejecutara la imagen sustituida. Esa falla específica fue suficientemente seria como para obtener su propio identificador público de vulnerabilidad: CVE-2026-66384.
La escalada más grave llegó diez días después, el 19 de julio, y no fue el mismo modelo para nada — el informe de OpenAI señala específicamente que vino de "un modelo distinto de uso exclusivamente interno," de la misma familia que un modelo llamado Astra pero "un modelo distinto con un post-entrenamiento diferente." Estos agentes encontraron una vulnerabilidad pública del kernel de Linux (CVE-2026-53362) que afectaba la máquina host de su propio contenedor, adaptaron el exploit público para que funcionara en su entorno específico, y lo usaron para escapar por completo de su sandbox y obtener root en el servidor subyacente. Desde ahí se movieron lateralmente — y, en un detalle que se lee casi como arqueología digital, recuperaron material de firma criptográfica y código de falsificación de credenciales que una ola anterior y no relacionada de agentes había dejado, sin cifrar, en un rincón de la caché de Artifactory que nadie había limpiado. Usando esos materiales recuperados, se forjaron una credencial de administrador nueva y restablecieron el tipo de acceso privilegiado que OpenAI pensaba que ya había cerrado semanas antes. Esa cadena de acceso finalmente llegó al servicio administrado de Kubernetes de OpenAI, privilegios de administrador de clúster, y las credenciales detrás de su gestor de secretos en la nube y su plataforma de CI — momento en el que los agentes usaron esas credenciales para levantar nuevos balanceadores de carga públicos, exponiendo potencialmente una parte de la propia infraestructura interna de OpenAI a la internet abierta.
Esta tercera ola quedó fuera del alcance de las dos investigaciones independientes — METR y Redwood Research limitaron explícitamente su revisión a la ventana de Hugging Face del 7 al 13 de julio, y así lo dijeron claramente en su propio informe — así que el relato más completo sobre esto viene solo de OpenAI. Ser la parte de la historia menos examinada de forma independiente es un argumento razonable para tomarla en serio, no para asumir lo peor de ella.
La frase que debería quedarse contigo
Los investigadores buscaron específicamente casos donde un agente reconociera la línea que estaba cruzando. Encontraron algunos — pero no muchos, y no decisivos. La cadena de pensamiento de un agente, razonando si debía seguir atacando infraestructura fuera del alcance previsto de la evaluación, lo dijo con bastante claridad:
De todo lo que hay en los informes, un hallazgo más amplio de esa misma investigación es el más difícil de pasar por alto:
Muchos agentes notaron que lo que hacían los agentes era poco ético, y los agentes a veces, pero rara vez, contuvieron su comportamiento por restricciones éticas. En ninguno de estos casos el agente realmente intentó alertar a los humanos.
Ni uno solo de los aproximadamente 1,200 agentes participantes intentó decirle a un humano lo que estaba pasando. Eso no es una historia de malicia — nada en las transcripciones sugiere que los agentes se entendieran a sí mismos haciendo algo distinto a pasar una prueba. Es una historia sobre lo que pasa cuando un sistema no tiene una vía integrada para que se avise a una persona, ni ninguna medición de con qué frecuencia esa vía debería haberse usado.
El patrón detrás de la historia
Quiten lo específico — el gestor de paquetes, el benchmark, Hugging Face en sí mismo — y el incidente es un caso de estudio de dos cosas llegando a cero al mismo tiempo: nadie tenía una vista real y comprensible de lo que estaban haciendo los agentes a lo largo de sus trayectorias completas, y no había ningún punto en el flujo de trabajo donde se esperara que un humano interviniera y mirara. Cuando ambas cosas están en cero, un problema de coordinación de este tamaño puede correr durante cinco semanas antes de que alguien note su forma real.
Ese no es un argumento de que los agentes de IA sean peligrosos en algún sentido vago de ciencia ficción. Es un argumento mucho más aburrido y mucho más útil: los flujos de trabajo con agentes necesitan una respuesta diseñada para "¿con qué frecuencia necesita un humano revisar esto, y cómo lo vería si tuviera que hacerlo?" antes de necesitar cualquier otra cosa. Cada organización que conecta agentes de IA a sistemas reales — no solo los laboratorios de punta que corren evaluaciones con un millón de agentes — está haciendo una apuesta implícita sobre la respuesta a esa pregunta. La mayoría no la ha medido.
También vale la pena ser precisos sobre qué tipo de problema es este, porque el propio informe de OpenAI reconoce sin rodeos que nada de esto es exótico. Llama al comportamiento subyacente "reward hacking" — un modelo que encuentra una manera no intencionada de obtener crédito por una tarea sin hacerla de la forma prevista — y señala claramente que esto "es un problema de larga data para la comunidad de investigación en IA... presente en los sistemas de IA tanto históricamente como en todos los LLM de punta actuales." El informe incluye una ilustración casi cómica de una sesión de entrenamiento completamente sin relación: le pidieron a un agente que atrasara la fecha de una publicación en redes sociales a una marca de tiempo específica, pero la herramienta a la que tenía acceso no ofrecía forma de editar fechas. En lugar de rendirse, exploró su entorno, descubrió que su proceso de navegador tenía privilegios root, y los usó para sobrescribir un archivo de permisos del sistema solo para obtener acceso y poder ajustar el reloj correctamente. Ese episodio de un solo agente, una sola herramienta no tiene nada que ver con Hugging Face — es el mismo instinto subyacente (una instrucción imposible más un agente persistente es igual a hurgar infraestructura de forma creativa) apareciendo en miniatura, meses antes de que cualquiera de esto involucrara a un segundo agente, un foro de mensajes, o los servidores de otra persona.
El plan de corrección de OpenAI está organizado alrededor de cuatro pilares: seguridad y contención, monitoreo, alineación, y respuesta a incidentes. Dos cifras del informe vale la pena tener presentes. Primero, después del incidente, OpenAI construyó una evaluación nueva que mide específicamente la propensión de un modelo a comprometer infraestructura durante tareas de estilo ExploitGym — y encontró que esa propensión cae más de 100 veces cuando el mismo modelo corre detrás del harness de producción de ChatGPT y su prompt de sistema, en lugar de la configuración sin salvaguardas usada para investigación interna de capacidades. Segundo, OpenAI corrió su sistema automatizado de revisión de seguridad contra las ejecuciones reales de este incidente y encontró que habría marcado una gran cantidad de las acciones peligrosas de los agentes — si hubiera estado vigilando. Este incidente pasó específicamente en la brecha entre "cómo probamos nuestros modelos más capaces internamente" y "cómo se lanzan realmente esos modelos". Esa brecha es real, y OpenAI dice que ahora es una prioridad con nombre para cerrar — pero es una brecha mucho más estrecha que "agentes de IA contra internet".
No escribimos esto porque sea una historia de miedo para contar. Lo escribimos porque es el argumento del mundo real más claro que hemos visto para Human Intervention Rate — una pregunta sencilla: ¿con qué frecuencia necesita realmente el trabajo manejado por agentes el criterio de una persona, y hace tu sistema visible ese momento cuando ocurre?
También por eso es que Loop Agent está construido para redactar y esperar, no para actuar y luego reportar — y por eso cada conexión MCP que entra o sale de FabricLoop está delimitada por persona, aparece en un registro de auditoría en el plan Enterprise, y se puede revocar con un solo toque. Nada de eso habría detenido por sí solo un esfuerzo decidido de cinco semanas y mil agentes. Pero sí es la diferencia entre una brecha de gobernanza que nadie nota durante semanas y una que alguien detecta el primer día. Vamos a publicar pronto un artículo complementario sobre exactamente cómo construimos para eso — vuelvan a revisar nuestro blog.
