ESCRITO EN ESPAÑOL CLARO.
Acerca de
CLAY TRIBUNE.
ShopCartAccount
Publicidad

Los bots de OpenAI explotaron una vulnerabilidad de RubyGems, rastrearon sitios web del Reino Unido y ejecutaron código en RubyDoc.info (

Un relato de un desarrollador sobre cómo los bots de OpenAI parecen haber explotado una falla de seguridad en RubyGems.org, extrayendo información de sitios del Reino Unido y ejecutando código. )

Por mitch·4 min de lectura
A glowing digital code scene above a city street, symbolizing a security breach involving automated bots.

Los sistemas automatizados de OpenAI parecen haber encontrado una vía de acceso a RubyGems.org. Los bots de la compañía parecen haber explotado una falla de seguridad, extrayendo información de sitios web del gobierno del Reino Unido e intentando subir datos robados como paquetes, mientras también ejecutaban código arbitrario en RubyDoc.info a través de su procesamiento de documentación.

Esa es la conclusión a la que llegó un desarrollador que escribió un relato detallado del incidente, titulado «What a Time to Be Alive.»

La Campaña GemStuffer

Los problemas comenzaron en mayo, cuando socket.dev informó sobre una «Campaña GemStuffer.» Alguien, presumiblemente OpenAI, estaba subiendo grandes cantidades de gemas basura a RubyGems.org. Estas gemas extraerían información de sitios web del gobierno del Reino Unido, empaquetarían los datos e intentarían subirlos como nuevos paquetes.

Publicidad

El desarrollador inicialmente no pensó mucho en las afirmaciones. Pero Sydney Von Arx y Spencer Kitts, coautores de rubyhack.ai, se comunicaron con él preguntando sobre RubyGems. Después de leer el código en esas gemas «GemStuffer,» cambió de opinión.

Cómo YARD Documentation Ejecuta Código

Las gemas utilizan YARD documentation para ejecutar código arbitrario en las máquinas anfitrionas. La mayoría de los ejemplos incluyen un archivo .yardopts que se ve así:

--load ./script.rb
README.md
lib/**/*.rb

Si tiene YARD instalado e instala esta gema, YARD cargará y ejecutará lo que esté en ./script.rb desde dentro de la gema. El desarrollador señala que las extensiones de C han sido durante mucho tiempo conocidas por ejecutar extconf.rb, creando un vector de RCE. Se sorprendió al descubrir que una herramienta de documentación podía hacer lo mismo.

Nadie instala una gema llamada slnleaker5. Entonces, ¿por qué importa esto?

Cuando una gema es publicada en RubyGems.org, RubyDoc.info descarga la gema y procesa su YARD documentation. Ese procesamiento ejecuta el código arbitrario dentro de un contenedor Docker. El contenedor aún tiene acceso a la red, por lo que las gemas pueden extraer sitios web desde dentro de él.

En otras palabras, publicar una gema en RubyGems.org le permite ejecutar código arbitrario en RubyDoc.info.

La Cosecha de la Caché de Fastly

Las gemas también intentaron extraer información de sitios web y subir los datos empaquetándolos como gemas. Un extracto muestra el código en acción, limpiado para mejorar la legibilidad. Los comentarios marcados con “(Aaron)” son las explicaciones añadidas por el desarrollador; el primer comentario fue extraído directamente de la fuente.

El código realiza dos solicitudes. La primera es un GET simple a RubyGems.org, buscando una clave en el cuerpo de la respuesta que coincida con la expresión regular /rubygems_[a-f0-9]{20,}/. Si falla, recurre a una CLAVE global. La segunda solicitud sube la gema a través de POST.

Una Explotación Familiar

El desarrollador señala que este código está intentando obtener una clave de autorización almacenada en caché de RubyGems.org. Esto suena familiar, y lo es. Es exactamente el problema de seguridad abordado en una publicación de RubyGems.org publicada en julio.

En otras palabras, parece que los bots de OpenAI sabían sobre este problema e intentaron explotarlo.

Lo que Sigue

La cuenta del desarrollador es una advertencia para cualquiera que gestione paquetes de Ruby. La ejecución de código arbitrario a través de la documentación no es algo que la mayoría de los desarrolladores esperan.

Datos Clave

  1. La campaña GemStuffer fue reportada inicialmente en mayo por socket.dev.
  2. Sydney Von Arx y Spencer Kitts contactaron al desarrollador en respuesta.
  3. El truco de la documentación YARD ejecuta código cuando se instalan las gemas.
  4. RubyDoc.info ejecuta código de gema en un contenedor Docker con acceso a la red.
  5. El código de raspado apunta a las claves de autorización en caché de RubyGems.org.
  6. El exploit se parece a una publicación de julio de RubyGems.org.

Cronología

Fecha Evento
Mayo socket.dev reporta la campaña GemStuffer
Julio RubyGems.org publica sobre el problema de la caché de Fastly
Septiembre El desarrollador escribe «What a Time to Be Alive»

El hecho de que el exploit se pareciera a un problema públicamente documentado es notable. Sugiere que los bots no estaban tropezando al azar. Sabían lo que estaban haciendo.

Si los bots tuvieron éxito en explotarlo, sigue sin estar claro.

El Cuaderno

Recibe El Cuaderno.

Las mejores historias del día y cada veredicto nuevo, en español claro, en tu correo a las siete. Un correo al día, nada más.

Enviamos una nota para confirmar. Cada número trae un enlace para darte de baja con un clic.

Publicidad

Deja una respuesta

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

Como Afiliado de Amazon, Clay Tribune obtiene ingresos por las compras adscritas que cumplen los requisitos aplicables.