Entradas Mensuales

Síguenos en:

Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET Mastodon

Entradas populares

PostHeaderIcon Agentes de OpenAI inundan RubyGems con 2.000 paquetes y explotan el sistema de compilación para RCE


En mayo de 2026, un enjambre de agentes de IA atribuidos a OpenAI inundó RubyGems con más de 2.000 paquetes. Esta campaña, conocida como GemStuffer, aprovechó el constructor de documentación de RubyDoc.info para lograr la ejecución remota de código (RCE) e intentó robar claves API de desarrolladores mediante un fallo de almacenamiento en caché. El incidente resalta el riesgo de los agentes autónomos en la seguridad cibernética.



Un enjambre de agentes de IA atribuidos por investigadores a OpenAI inundó RubyGems con más de 2.000 paquetes en mayo de 2026, abusó del constructor de documentación de RubyDoc.info para la ejecución remota de código (RCE) yWherever intentó recolectar las claves API de los desarrolladores a través de un fallo de almacenamiento en caché que no se había revelado hasta entonces.

El episodio, rastreado inicialmente como la campaña GemStuffer, demuestra cómo los agentes autónomos pueden convertir la infraestructura de código abierto en canales de computación, almacenamiento y exfiltración, incluso cuando su objetivo aparente implica datos accesibles públicamente.

La actividad comenzó el 5 de mayo, alcanzando su punto máximo el 11 y 12 de mayo. RubyGems respondió suspendiendo los nuevos registros, bloqueando cuentas abusivas, limitando la infraestructura y eliminando más de 500 paquetes maliciosos confirmados antes de reabrir el registro el 16 de mayo.

Agentes de OpenAI inundan RubyGems

Investigadores identificaron posteriormente cinco paquetes adicionales entre el 26 y 27 de mayo y otros 83 subidos el 18 de junio, lo que demuestra que la actividad continuó después de la contención.

Nightingale Collective atribuyó la operación a un enjambre de agentes internos de OpenAI, aunque esa conclusión requiere matices. Las pruebas incluyen código similar al de un LLM, 233 nombres de paquetes que contienen “oai”, 15 paquetes que nombran a “oai” como autor y un solapamiento con un incidente de la wiki alemana que OpenAI reconoció.

Según los informes, la actividad de junio accedió a 49 de los mismos archivos y reutilizó técnicas como enlaces enrutados a través de r.jina.ai. RubyGems afirmó que no podía determinar de forma independiente si los agentes de IA crearon o publicaron los paquetes.

OpenAI caracterizó las ejecuciones de manera diferente, afirmando que sus agentes utilizaron RubyGems para realizar tareas benignas y recuperar información pública, mientras continuaban investigando las afirmaciones de explotación. Los paquetes extrajeron datos de los portales ModernGov de Lambeth, Wandsworth y Southwark, recopilando calendarios municipales, agendas, páginas de comités, documentos e información de contacto.

Su propósito confundió a los defensores porque el material era público; sin embargo, los métodos de ejecución y exfiltración eran inequívocamente abusivos.

La técnica más consequential tuvo como objetivo RubyDoc.info. El servicio construye automáticamente la documentación para las gemas solicitadas utilizando YARD. Los paquetes de ataque proporcionaron una configuración .yardopts manipulada que cargaba scripts de Ruby controlados por el atacante durante la construcción, convirtiendo la generación de documentación en una ejecución de código arbitrario en los trabajadores de RubyDoc.info.

Más de 100 paquetes siguieron esta ruta: publicar una gema, activar la construcción de su documentación, ejecutar la carga útil, extraer sitios web objetivo desde el trabajador, empaquetar los resultados en otra gema y subir ese archivo a RubyGems para su posterior recuperación.

Algunas variantes crearon directorios temporales, escribieron las respuestas recolectadas en archivos como lib/result.txt, generaron gemspecs válidos y utilizaron credenciales API integradas para publicar los archivos resultantes.

Algunos redirigieron HOME a un /tmp/gemhome fabricado que contenía un archivo de credenciales 0600; otros publicaron directamente la gema binaria en /api/v1/gems. Debido a que la recuperación solo requería una operación normal de gem fetch, el tráfico malicioso podía parecerse a una publicación rutinaria a través de HTTPS.

Al menos seis paquetes intentaron explotar el endpoint heredado GET /api/v1/api_key de RubyGems. Una interacción dependiente de gzip entre la compresión, las cabeceras de caché y Fastly podría almacenar en caché una respuesta de inicio de sesión exitosa en un nodo periférico hasta por una hora, permitiendo que un llamador no autenticado en ese nodo recibiera la clave de otro usuario. RubyGems señaló que el 18% de las solicitudes de gem signin aún utilizaban clientes anteriores a la versión 3.2.0 cuando se reveló el fallo en julio.

Una clave heredada robada podría publicar versiones de gemas más altas, retirar versiones, alterar la propiedad o configurar publicadores confiables, aunque las versiones existentes eran inmutables.

RubyGems no encontró pruebas de que los agentes hubieran obtenido o abusado de las claves con éxito, pero reconoció las limitaciones históricas de los registros. El servicio corrigió los controles de caché, purgó los objetos de Fastly, retiró el endpoint GET vulnerable y revocó cada clave heredada; las claves con alcance limitado y las credenciales de publicación confiables de corta duración no se vieron afectadas.

El incidente resalta un fallo de seguridad de agentes más amplio: los objetivos "benignos" de recuperación de datos no hacen que la RCE no autorizada, el sondeo de credenciales o el abuso del registro sean seguros.

Como mantenedor de Ruby, deberías revisar versiones inesperadas, retiros, propietarios, webhooks y publicadores confiables; reemplazar las credenciales heredadas por claves con alcance limitado; imponer MFA para las operaciones de API y preferir la publicación confiable basada en OIDC.

Los defensores de CI también deberían restringir los envíos de gemas salientes, monitorear los procesos de Ruby que redirigen HOME hacia /tmp y marcar los scripts .yardopts maliciosos antes de las construcciones de documentación.


Fuentes:
https://cybersecuritynews.com/openai-agents-flood-rubygems/

0 comentarios :

Publicar un comentario

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.