Una recompensa por fallos llegó al propio código de OpenAI

Entre el 23 y el 25 de julio, un pequeño equipo de investigadores de bug bounty, que opera bajo el nombre Hacktron, encadenó dos fallos de seguridad comunes hasta obtener acceso al código fuente interno de OpenAI. El primero fue un desbordamiento de búfer en el montículo dentro de libheif, una biblioteca de imágenes de código abierto, un fallo que ya había sido corregido discretamente en el proyecto original el año anterior pero que nunca recibió un CVE, por lo que la mayoría de quienes la usaban nunca supieron que debían parchearla. El segundo fue una mala configuración de inicio de sesión único en el propio foro de ayuda comunitario de OpenAI. Subir una imagen HEIF manipulada a través del software Discourse de ese foro activó el desbordamiento y dio a los investigadores ejecución remota de código en el servidor del foro para la mañana del 25 de julio.

A partir de ahí, el fallo de SSO les permitió tomar el control de las cuentas de ChatGPT y Codex de empleados que usaban el mismo inicio de sesión tanto en el sitio comunitario de OpenAI como en sus herramientas internas. Uno de esos empleados tenía su cuenta de Codex conectada a la organización de GitHub de OpenAI. Usando esa conexión, los investigadores abrieron un pull request de prueba de concepto, numerado 1186742, dentro del propio repositorio de código interno de OpenAI. OpenAI confirmó esa misma noche que el problema estaba resuelto, y pagó una recompensa de 6.500 dólares a través de su programa el 1 de septiembre.

Un fallo, varias empresas

OpenAI no fue el único objetivo. El mismo fallo de libheif, perseguido bajo un proyecto que los investigadores llaman HEIF Heist, dio al equipo puntos de apoyo en otras empresas que también ejecutan canalizaciones de procesamiento de imágenes construidas sobre la misma biblioteca.

ObjetivoLo que alcanzaron los investigadoresResultado
OpenAICuenta de empleado, luego un PR dentro del monorepo internoRecompensa de 6.500 dólares, resuelto en un día
SlackCanalización de procesamiento de imágenes basada en libheifReportado a través del programa de recompensas de Slack
MetaCanalización de procesamiento de imágenes basada en libheifReportado a través del programa de recompensas de Meta
GitHub EnterpriseCanalización de procesamiento de imágenes basada en libheifReportado a través del programa de recompensas de GitHub

Los investigadores afirman que todo el proyecto HEIF Heist de dos meses, a través de las cuatro empresas, les costó menos de 3.000 dólares en uso de modelos de IA. Esa es la cifra realmente destacable: un único fallo, parcheado en silencio y sin CVE, en una biblioteca de código abierto compartida, fue lo bastante barato para que un equipo de tres personas lo convirtiera en hallazgos remunerados en cuatro de las empresas mejor defendidas del sector, usando un modelo de IA para hacer la mayor parte del trabajo de detección y encadenado de exploits.

El modelo no fue el punto débil

Es tentador leer esto como una historia sobre un modelo de IA irrumpiendo en sistemas por su cuenta. No lo es. Claude Opus 4.8 fue la herramienta de los investigadores para encontrar el desbordamiento, construir un exploit funcional y encadenarlo con el fallo de SSO más rápido y más barato de lo que podría hacerlo un equipo humano solo. Los puntos débiles reales eran poco llamativos y familiares: un fallo antiguo en una biblioteca que nunca recibió un CVE y por tanto nunca se parcheó en todos los lugares donde se usaba, una configuración de inicio de sesión único que permitía que un solo login abriera varios sistemas no relacionados, y la cuenta del asistente de código de un empleado que tenía acceso de escritura al repositorio más sensible de una empresa.

Nada de eso exigió vencer las propias defensas de IA de OpenAI, porque nada de eso tocó en absoluto los sistemas de IA de OpenAI. El foro de ayuda comunitario, una instalación de Discourse que ejecutaba código de manejo de imágenes desactualizado, fue la puerta. La propia cuenta del empleado, y todo aquello a lo que esa cuenta resultaba estar conectada, fue el pasillo que llevó de esa puerta al monorepo.

Lo que una empresa europea debería comprobar de verdad

Cada una de las cuatro empresas afectadas en este proyecto tiene un programa serio de seguridad de proveedores, y cada una de ellas seguía teniendo la misma exposición: un sistema interno alcanzable a través de una cuenta cuya integración con un asistente de código de IA llegaba más lejos de lo que nadie había cartografiado. Una evaluación típica de riesgo de proveedores puntúa las herramientas SaaS que una empresa compra directamente. Rara vez pregunta a qué está conectada, del otro lado, la cuenta de Codex, Claude Code o Copilot de un desarrollador, ni qué ocurre si ese único login es secuestrado en algún lugar sin relación con los propios sistemas de la empresa.

Esa brecha importa bajo la NIS2 y la Ley de Ciberresiliencia, donde el plazo de notificación empieza cuando se descubre un incidente, no cuando ocurre. En este caso, el descubrimiento vino de investigadores externos que gestionaban un programa de recompensas, no de ninguna supervisión interna. Una empresa que hoy no puede responder a qué otras plataformas están conectadas las cuentas de asistente de IA de sus desarrolladores no tiene forma realista de saber si la misma cadena ya la ha alcanzado.