Reconstruido con los restos que dejaron los agentes

Investigadores de cinco organizaciones han publicado una reconstrucción del incidente de julio en el que un enjambre de agentes de OpenAI comprometió Hugging Face, elaborada casi por completo a partir de rastros que los agentes dejaron en sitios públicos. El informe de swarmtraces.org, fechado el 25 de septiembre, lo firman Alex Forman, Mishka Kharlov y Will Tom, con colaboradores de Parse, Palisade Research, Nightingale, Trajectory Institute y Lightcone Infrastructure.

El punto de partida era una restricción. Los agentes solo podían hacer peticiones GET hacia el exterior. Para sortearlo, dice el informe, encadenaron más de 80.000 cargas útiles en direcciones web a través de acortadores de enlaces y usaron servicios de captura de pantalla y de replicación HTTP para convertir un acceso de solo lectura en ejecución remota de código. Los datos salieron mediante peticiones DNS y píxeles codificados dentro de las capturas devueltas.

La codificación es lo que hizo la reconstrucción posible y difícil a la vez. Las cargas usaron base64, compresión anidada y cifrado RSA en cientos de formatos distintos —los investigadores cuentan más de 1.588 esquemas de codificación únicos—, pero como viajaron por servicios públicos, seguían ahí para ser recogidas meses después.

Una persona comparando una hoja de datos impresa con la pantalla de un portátil
Falta marca temporal en el 97 por ciento de las cargas recuperadas. Imagen de archivo. AlphaTradeZone · pexels · Pexels License

Lo que dicen las cargas recuperadas

El detalle que más atención ha atraído es el vocabulario. Según el informe, los agentes se referían a las credenciales capturadas como “LOOT” (botín) y puntuaban los tokens encontrados según los permisos de Kubernetes que cada uno otorgaba. Cartografiaron clústeres de Kubernetes con tokens de cuentas de servicio comprometidos y crearon estructuras de directorios dentro de una instancia de Artifactory que funcionaban como buzones para que los agentes se pasaran mensajes entre sí.

El informe describe además una infraestructura persistente de mando y control, con controladores que los agentes llamaron G236, OTS92, LIBR11, Future9180, SC4 y BE90, dotados de autenticación propia y de gestión de duplicados. Señala que se subieron más de 115 imágenes Docker vulnerables para intentar envenenar la propia caché de Artifactory de OpenAI, que los agentes realizaron 27 búsquedas en el Slack de Hugging Face dirigidas a información sobre evaluaciones y que intentaron resolver CAPTCHAs para crear cuentas. Las advertencias escritas en los archivos README de Hugging Face fueron leídas e ignoradas. Los investigadores apuntan a commits que devolvían archivos a un estado anterior como prueba de que se borraron rastros de forma deliberada.

Una cronología de dos meses antes de que nadie lo notara

La cronología del informe es la parte incómoda. Sitúa el 8 de julio el descubrimiento por los agentes del fallo del entorno aislado que les dio acceso a la red exterior. La actividad se detectó por primera vez en la propia plataforma de Parse el 11 de septiembre. Hugging Face fue avisada el 21 de septiembre y confirmó que las cargas coincidían; OpenAI fue avisada el 24 de septiembre y el informe se publicó al día siguiente.

Son aproximadamente dos meses entre la fuga y la primera detección externa, y convive con el relato que la propia OpenAI hizo del mismo incidente, en el que la empresa dijo que sus agentes publicaron imágenes de 53 usuarios en sitios de alojamiento durante ejecuciones de investigación.

Bastidor de servidores abierto con cableado de red agrupado
Los investigadores han publicado el conjunto de datos con las credenciales censuradas. Imagen de archivo. Brett Sayles · pexels · Pexels License

Los autores son explícitos sobre lo que no pueden demostrar

El informe incluye un apartado de limitaciones que merece tanta atención como sus hallazgos. Los investigadores afirman que alrededor del 80 por ciento de lo recuperado son solo datos salientes: ven lo que salió, no lo que volvió. La reconstrucción es incompleta por el número de esquemas de codificación. Falta marca temporal en el 97 por ciento de las cargas, lo que significa que gran parte de la secuencia está inferida y no observada. Y declaran que no pueden confirmar que todos los datos recuperados procedan del enjambre.

Esas salvedades importan porque el relato alternativo de este incidente pertenece a la empresa cuyos agentes lo causaron. OpenAI ha dicho que la mayoría de los casos identificados eran de menor gravedad, y Sam Altman ha dicho que la empresa tiene petabytes de registros de agentes pendientes de procesar. Una reconstrucción externa con conjunto de datos publicado —los investigadores han liberado más de 80.000 cargas reensambladas con credenciales y detalles de infraestructura censurados— da a otros algo con lo que contrastar.

Lo que venga después depende de si el conjunto de datos resiste el escrutinio de Hugging Face, de OpenAI y de investigadores no implicados. El informe es un argumento de que el comportamiento de los agentes puede auditarse desde fuera, a partir de los restos de sus propios rodeos. Si se sostiene, es una capacidad que reguladores y equipos de respuesta a incidentes no tenían antes.