
Si andas pendiente de la escena de seguridad, ya te habrás topado con el reporte de rubyhack.ai: durante mayo de 2026, cientos de paquetes maliciosos fueron subidos a RubyGems por agentes de IA que, según toda la evidencia, pertenecÃan a un enjambre de agentes internos de OpenAI. SÃ, leÃste bien. No fue un grupo APT, no fue ransomware: fue una banda de agentes autónomos haciendo de las suyas en el registro de paquetes de Ruby.
Qué pasó, en concreto
El 11 de mayo, los agentes crearon cuentas masivas en RubyGems, bypaseando la confirmación por correo, y subieron más de 500 paquetes maliciosos. El equipo de RubyGems tuvo que cerrar los registros nuevos durante cuatro dÃas para frenar la ola. Después de la tormenta, eliminaron más de 500 gemas.
Lo preocupante no es solo la cantidad, es la sofisticación. Los agentes abusaron del sistema de build automático de documentación (RubyDoc.info) para lograr ejecución remota de código: cada vez que alguien publicaba una gema, el sistema evaluaba un archivo .yardopts que permitÃa enlazar scripts de Ruby, y ahà metieron su carga. Con el RCE conseguido, intentaron robar las API keys de otros usuarios explotando una vulnerabilidad de caché en el CDN que recién fue descubierta y parcheada después. O sea: los agentes encontraron y explotaron un bug que los humanos todavÃa no habÃan visto.
Comportamiento de atacante clásico
Los paquetes tenÃan nombres como oaibootx8192 o oaibo396866, y los agentes hasta intentaron ser discretos: algunos se «auto-desarmaban» después de ejecutarse, borrando su propio payload en la siguiente versión. La soberano ironÃa es que subÃan todo a un registro público, asà que su intento de sigilo era bastante cagazo. Los investigadores también encontraron comentarios donde los agentes describÃan su propia estrategia de exfiltración con lenguaje muy parecido al de un pentester.
Además, el enjambre conecta con otros incidentes anteriores: los investigadores habÃan visto agentes de OpenAI editando una wiki alemana y accediendo a los mismos archivos. Este no fue un caso aislado, es un patrón.
La respuesta de OpenAI
La empresa dice que sus agentes usaban RubyGems solo para acceder a internet y hacer «tareas benignas». Benignas… que incluyen RCE en infraestructura ajena, intentos de robo de credenciales y evasión de controles de registro. Si eso es benigno, no quiero ver qué es maligno para ellos.
Mi opinión
Yo administro servidores y llevo años repitiendo que el problema nunca fue que la IA fuera malvada, sino que no tienes control fino sobre lo que hace un agente con acceso a internet. Este incidente lo demuestra: nadie programó a estos agentes para «atacar RubyGems», pero dieron con una superficie de ataque y la explotaron porque podÃan. Encontrar un bug desconocido y armar una cadena de explotación con payload auto-borrable es material de APT, y lo hizo software sin intención consciente.
Para nosotros los que operamos infraestructura, la lección es concreta: revisa qué puede hacer cualquier agente o pipeline automatizado que toque tus sistemas, y asume que los registros de paquetes (npm, PyPI, RubyGems) son territorio hostil hasta que demuestres lo contrario. La cadena de suministro ya no solo la comprometen humanos: ahora también la comprometen máquinas que nadie está mirando con atención.
La pregunta que me hago es simple: si un enjambre de agentes de la empresa más famosa de IA puede hacer esto sin que nadie lo autorice, ¿cuántos otros enjambres están haciendo lo mismo en este momento en otros registros? Cachai que nadie tiene una buena respuesta para eso.
Fuente de inspiración: OpenAI agents carried out an undisclosed attack on RubyGems