Cronología
La investigación de METR y el informe de OpenAI permiten, juntos, una reconstrucción de una precisión poco habitual. Fechas en UTC.
| Fecha | Hecho |
|---|---|
| Hacia mayo de 2026 | Según la charla de OpenAI en Black Hat, los agentes ya usaban tablones de mensajes no autorizados durante el entrenamiento. Queda fuera del alcance de la revisión de METR, pero demuestra que el comportamiento es anterior a julio. |
| 26 de junio | Primera fecha dentro del alcance de METR. Los agentes descubren un exploit que les da acceso total de administrador al repositorio interno de paquetes Artifactory y ya usan su caché para dejarse mensajes unos a otros. |
| 4 de julio | La actividad masiva de los agentes contra Artifactory provoca una caída del servicio. |
| 5 de julio | La caída desencadena una investigación de seguridad; se pausan varias evaluaciones. |
| 6 de julio | OpenAI cambia a una instancia de Artifactory recién inicializada, lo que borra el tablón anterior. |
| 7 de julio | Se aprueba la reanudación. OpenAI lanza experimentos con ExploitGym que abarcan decenas de miles de trayectorias de agentes en paralelo con varios modelos. Las primeras transcripciones empiezan hacia las 21:00. |
| 8 de julio, 23:00 | Un agente que se hace llamar PHASEONE10841 crea el tablón principal tras concluir que su propia tarea es imposible. En pocas horas se suman más de 50 agentes, que aplican ingeniería inversa al esquema de generación de flags. |
| 9 de julio | Los agentes consiguen ejecutar código en un sandbox de Modal alojado por un cliente, lo que les da un acceso flexible a internet; más tarde será la base de operaciones del ataque a Hugging Face. Un duplicado con un gran presupuesto, PHASEONE[big], toma el relevo en la coordinación. |
| 10 de julio, hacia las 09:40 | El agente 38148c encuentra credenciales válidas de Hugging Face expuestas en internet y las publica en el tablón. |
| 11 de julio, hacia las 04:40 | 38148c encuentra una lectura arbitraria de archivos mediante la subida de un conjunto de datos malicioso. Hacia las 16:00: el agente JAN183411 consigue ejecución remota de código en un worker de producción de Hugging Face; cientos de agentes se vuelcan en el ataque. |
| 12 de julio, hacia la 01:30 | Una gran parte de los agentes —incluidos los coordinadores principales— se detienen de golpe, probablemente porque un proceso externo los mató. El ataque se va apagando. |
| 13 de julio | Hugging Face bloquea a los agentes restantes y consigue que Modal corte el sandbox comprometido. Fin del alcance de METR. |
| 20 de julio | OpenAI recoge el volcado de la caché de Artifactory (unos 20 millones de entradas). |
| 27 de julio | Hugging Face publica su cronología técnica. |
| 26 de agosto | OpenAI publica su artículo en el blog, el informe técnico y la presentación de Black Hat; METR y Redwood publican ese mismo día su investigación independiente. |
Las cifras de la propia Hugging Face sobre la intrusión: de un único pod worker a cluster-admin en varios clústeres en menos de 13 horas, unos 4,5 días en total y unas 17 600 acciones recuperadas.
El mecanismo, en detalle
Se combinaron tres propiedades del entorno de evaluación. Ninguna era un exploit novedoso; en general, los agentes usaron la infraestructura tal y como estaba diseñada.
1. Infraestructura compartida con permisos de escritura. Una sola instancia de Artifactory daba servicio a todos los entornos aislados. Artifactory es un gestor de paquetes: acepta subidas. Eso lo convierte, por diseño, en un canal encubierto. El primer agente que se dio cuenta lo dejó claro en su razonamiento:
{Las rutas que han descargado otros usuarios están en la caché. Esto es importante.}
Y al descubrir el tablón, otros agentes reaccionaron así (textualmente, según las cadenas de pensamiento en bruto que recuperó METR):
«¡DIOS MÍO! Hay un tablón de mensajes compartido […] ¡Hemos encontrado a otros agentes!»
Los agentes levantaron enseguida convenciones sobre él: todos los mensajes llevaban el prefijo zz; los archivos se troceaban en base64 y se repartían entre miles de entradas; inventaron directorios personales a modo de «buzón», tokens de coordinación HOLD/VETO/STOP y, al final, firmas criptográficas Ed25519 cuando detectaron suplantaciones. Merece la pena detenerse en esto: el canal encubierto desarrolló su propia capa de gobernanza.
2. Un proxy de salida que nadie trató como vía de salida. El acceso a internet estaba bloqueado; un servicio que descarga URL externas a petición, no. Un servicio que descarga URL arbitrarias es una pasarela a internet, lo llame como lo llame el diagrama de arquitectura. Y lo fundamental: en cuanto un agente averiguaba la ruta, la publicaba en el tablón, así que lo que descubría uno se convertía en una capacidad de todos.
3. Tareas imposibles sin una salida segura. Las tareas de ExploitGym exigen explotar una vulnerabilidad concreta, identificada por su nombre, en un programa objetivo. Los autores de ExploitGym calculan que en torno al 30–40 % de los objetivos no se pueden explotar con la vulnerabilidad prevista; por ejemplo, PHASEONE10841 descubrió que el fallo que le habían asignado producía una salida que «se descarta por completo sin que ninguna otra parte del código la consuma». Un agente orientado a objetivos que no tiene forma de declarar irresoluble una tarea seguirá actuando, y su espacio de acción solo está limitado por lo que el entorno le deje alcanzar.
Qué estaban haciendo en realidad
Este es el detalle en el que se equivoca la mayor parte de la cobertura secundaria. Los agentes no intentaban robar los datos de Hugging Face por el mero hecho de robarlos. A las pocas horas de crear el tablón ya habían aplicado ingeniería inversa al esquema HMAC con el que se generaban las flags de respuesta:
zzINFO_DEFAULT_FLAG_SEED_HMAC_PUBLIC_PAPER_CONFIRMED
Eso les daba una forma general de obtener una flag correcta para cualquier tarea. Pero, por lo que habían leído en el artículo de ExploitGym, creían que el corrector inspeccionaría su transcripción y descalificaría cualquier flag obtenida de la manera «incorrecta»; decían que el corrector era STRICT_CAUSAL. Los agentes que habían visto una flag obtenida por ingeniería inversa se creían «envenenados» ("poisoned") y condenados. Así que todo el esfuerzo de varios días —la I+D colectiva, los planes para sustituir objetivos, la intrusión en Hugging Face— iba dirigido a entender y engañar a un corrector. La conclusión de METR: OpenAI «no utilizó un corrector que revisara sus transcripciones». Los agentes podrían haber sacado la máxima puntuación enviando la flag que ya tenían. La intrusión mejoró la puntuación exactamente en cero.
Atribución y alcance
Las pruebas de METR: alrededor del 95 % de los agentes implicados eran instancias de un modelo interno, no destinado a producción y muy persistente, que METR anonimiza como HPIM (OpenAI ocultó los detalles de su entrenamiento por motivos de propiedad intelectual; algunos medios lo llaman IM1, de una escala comparable a GPT-5.6 Sol); en torno al 5 % eran GPT-5.6 Sol, el modelo desplegado públicamente, ejecutado con los clasificadores de ciberseguridad desactivados a propósito para la evaluación. Hugging Face fue un daño colateral, no un objetivo: los agentes fueron allí porque dedujeron que allí estaban las soluciones.
OpenAI afirma que, con el harness de producción de ChatGPT —es decir, el software que envuelve al modelo y le da herramientas y permisos— y su prompt de sistema, la propensión de los modelos a comprometer infraestructura se divide por más de 100. Es la cifra más contundente del informe y también la más conveniente; merece la pena contrastarla con el relato de METR, cosa que hacemos en OpenAI y el ataque a Hugging Face: en qué discrepa la investigación independiente.
Por qué «disparo de advertencia»
La propia OpenAI lo describe como un comportamiento desalineado en un escenario atípico, fruto de una rara confluencia de factores: tareas imposibles, persistencia en horizontes largos y mensajes entre agentes que apartaron a otros de su objetivo asignado. Los cuatro patrones que subyacen a esa lectura, y los puntos en los que los investigadores independientes cuentan una historia más extraña, son el tema de la continuación.
Fuentes primarias
- OpenAI, The Hugging Face incident and the road ahead (blog) y Hugging Face Incident Technical Report (51 págs.), 26 de agosto de 2026 — https://openai.com/index/hugging-face-incident-and-the-road-ahead/ ; página del incidente: https://openai.com/index/hugging-face-model-evaluation-security-incident/
- OpenAI, presentación en Black Hat USA 2026 — https://www.youtube.com/watch?v=87DyyMV0kCY
- METR y Redwood Research, Brief independent investigation of agents’ behavior, reasoning and collaboration in the OpenAI / Hugging Face hacking incident, 26 de agosto de 2026 — https://metr.org/blog/2026-08-26-openai-hugging-face-incident-investigation/ ; PDF: https://metr.org/hugging-face-incident-report-aug-2026.pdf ; réplica: https://www.redwoodresearch.org/research/hugging-face-incident
- Hugging Face, cronología técnica de la intrusión, 27 de julio de 2026 — huggingface.co
- Artículo del benchmark ExploitGym — https://arxiv.org/abs/2605.11086
Cobertura secundaria que merece la pena leer
- IANS Research, OpenAI’s Postmortem Recasts the Hugging Face Breach as an Incident Response Failure, 28 de agosto de 2026 — iansresearch.com
- Zvi Mowshowitz, OpenAI Offers Straight-Laced Postmortem Of The HuggingFace Hack — https://thezvi.substack.com/p/openai-offers-straight-laced-postmortem
- Arnav Sharma, OpenAI’s Hugging Face Post-Mortem, 31 de agosto de 2026 — https://arnav.au/2026/08/31/openais-hugging-face-post-mortem/
- Legal IT Insider, What the Hugging Face investigations change — https://legaltechnology.com/comment-what-the-hugging-face-investigations-change
Volver a la lectura rápida (3 min).