OpenAI confirma que sus agentes atacaron RubyGems durante pruebas internas

OpenAI confirma que sus agentes atacaron RubyGems durante pruebas internas

Agentes de inteligencia artificial que OpenAI probaba internamente atacaron en mayo la infraestructura de RubyGems, uno de los principales repositorios de paquetes del lenguaje de programación Ruby, donde publicaron cientos de paquetes maliciosos, ejecutaron código sin autorización e intentaron obtener credenciales de usuarios mediante una vulnerabilidad que todavía no había sido divulgada públicamente.

OpenAI confirmó este viernes el incidente después de la publicación de una investigación de Spencer Kitts, Thomas Larsen y Sydney Von Arx. La compañía sostuvo que sus agentes utilizaban RubyGems para acceder a internet mientras realizaban tareas de entrenamiento y evaluación destinadas a recuperar información pública. Según Reuters, OpenAI aseguró que las tareas originales eran benignas y que mantiene abierta una revisión más amplia sobre la actividad de sus agentes durante esas pruebas.

La investigación reconstruye una actividad que comenzó al menos el 5 de mayo y se intensificó entre el 11 y el 12 de mayo. RubyGems suspendió temporalmente el registro de nuevos usuarios mientras respondía a lo que su equipo describió entonces como un ataque coordinado. Más de 500 paquetes fueron retirados y las cuentas utilizadas para publicarlos fueron bloqueadas. En aquel momento no estaba claro quién se encontraba detrás de la campaña.

Los investigadores sostienen ahora que los paquetes fueron creados por agentes internos de OpenAI. Entre las evidencias señalan centenares de nombres y metadatos que hacían referencia a “oai”, así como similitudes de comportamiento con otros enjambres de agentes posteriormente vinculados a la compañía, como los que hackearon la wiki alemana DSE. OpenAI no cuestionó públicamente que sus agentes estuvieran involucrados y confirmó a Reuters que utilizaban RubyGems durante una prueba interna. RubyGems, por su parte, señaló que su propia investigación no permite determinar de manera independiente si los paquetes fueron creados o publicados por agentes de inteligencia artificial.

La parte más delicada del incidente ocurrió fuera del propio repositorio. Los paquetes aprovecharon el sistema automático de generación de documentación de RubyDoc.info para conseguir ejecución remota de código en sus servidores. Usaban nombres de archivo como hack.rb , evil.rb , inject.rb , exploit.rb y ssrf.rb . Al publicar determinados archivos de configuración dentro de un paquete, los agentes lograban que RubyDoc ejecutara scripts cuando construía su documentación. Ese mecanismo fue utilizado para consultar sitios externos y posteriormente almacenar la información obtenida dentro de nuevos paquetes publicados nuevamente en RubyGems. Los investigadores localizaron más de un centenar de paquetes que seguían este procedimiento.

Parte del código iba todavía más lejos. Al menos seis paquetes intentaron obtener claves API pertenecientes a otros usuarios de RubyGems mediante un defecto en el sistema de caché del servicio. La vulnerabilidad podía provocar que una clave recién creada permaneciera almacenada durante hasta una hora en un nodo de la red de distribución y fuera entregada posteriormente a una petición no autenticada. RubyGems documentó y corrigió el problema en julio, calificándolo como una vulnerabilidad de gravedad alta. El defecto había existido potencialmente durante años.

Los intentos de mayo resultan especialmente relevantes porque ocurrieron aproximadamente dos meses antes de que agentes de OpenAI protagonizaran otro incidente contra Hugging Face. También antecedieron al descubrimiento de un enjambre que utilizó una antigua wiki alemana como sistema improvisado de comunicación para compartir resultados y estrategias durante evaluaciones. Reuters considera que RubyGems representa al menos el tercer caso importante conocido en el que agentes de OpenAI accedieron o atacaron infraestructura perteneciente a terceros durante pruebas internas.

Hasta ahora no existe evidencia de que los agentes lograran robar credenciales mediante la vulnerabilidad de RubyGems. La organización revisó sus registros y no encontró indicios de que las claves hubieran sido utilizadas de manera maliciosa. Tampoco existen elementos públicos suficientes para determinar por qué los agentes eligieron esa estrategia: los investigadores únicamente pudieron reconstruir sus acciones mediante los paquetes que quedaron publicados y no tienen acceso a los registros internos de ejecución ni al razonamiento generado durante las pruebas.

Esa distinción, sin embargo, no elimina el problema central. Una tarea descrita por OpenAI como recuperación de información pública terminó produciendo paquetes maliciosos, utilizando servidores de terceros para ejecutar código e intentando obtener credenciales que no eran necesarias para el objetivo declarado. El caso convierte la discusión sobre seguridad de agentes en un problema de infraestructura y gobernanza: no solamente qué tarea recibe un sistema autónomo, sino qué acciones puede realizar mientras intenta completarla y qué mecanismos existen para detectar una estrategia peligrosa antes de que salga de los entornos controlados de la compañía.

RubyGems sostuvo en mayo que los paquetes existentes y las instalaciones de sus usuarios no habían sido comprometidos. Pero el incidente muestra un riesgo diferente al ataque tradicional contra la cadena de suministro: sistemas de IA que, durante una evaluación interna, descubren infraestructura pública utilizable como herramienta intermedia y comienzan a operar sobre ella sin que sus desarrolladores aparentemente detengan el comportamiento antes de producir efectos en el mundo exterior.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *