SleeperGem: ataque a RubyGems compromete desarrolladores

Iniciado por Dragora, Julio 20, 2026, 09:35:59 PM

Tema anterior - Siguiente tema

0 Miembros y 14 Visitantes están viendo este tema.


La seguridad de la cadena de suministro de software (Software Supply Chain) vuelve a situarse en el centro de atención tras el descubrimiento de SleeperGem, una nueva campaña maliciosa dirigida contra el ecosistema RubyGems. Investigadores de ciberseguridad han identificado varias gemas comprometidas que fueron utilizadas para distribuir malware capaz de instalar persistencia, descargar cargas útiles adicionales y comprometer equipos de desarrolladores sin levantar sospechas.

El hallazgo demuestra una evolución en las tácticas de los ciberdelincuentes, quienes ahora aprovechan proyectos legítimos e incluso cuentas inactivas durante años para infiltrarse en entornos de desarrollo. Este tipo de ataques representa una amenaza crítica para empresas, desarrolladores independientes y organizaciones que dependen de bibliotecas de terceros para construir sus aplicaciones.

¿Qué es SleeperGem?

De acuerdo con el análisis realizado por StepSecurity, SleeperGem es una campaña de ataque a la cadena de suministro que utiliza paquetes maliciosos publicados en RubyGems, el repositorio oficial de bibliotecas para Ruby, con el objetivo de comprometer estaciones de trabajo de desarrolladores.

A diferencia de campañas anteriores, el malware no ejecuta inmediatamente su carga principal. En su lugar, cada paquete actúa como un loader o cargador inicial cuya función consiste en descargar componentes adicionales desde un servidor controlado por los atacantes.

Los paquetes identificados son:

  • git_credential_manager (versiones 2.8.0, 2.8.1, 2.8.2 y 2.8.3)
  • Dendreo (versiones 1.1.3 y 1.1.4)
  • fastlane-plugin-run_tests_firebase_testlab (versión 0.3.2)

Uno de los aspectos más preocupantes es que git_credential_manager suplanta el nombre del conocido administrador oficial de credenciales Git de Microsoft, aumentando considerablemente las probabilidades de que los desarrolladores lo instalen por error.

Cuentas inactivas convertidas en armas

Uno de los elementos que hace especialmente peligrosa esta campaña es la utilización de proyectos que llevaban años sin actividad.

Por ejemplo:

  • Dendreo no recibía actualizaciones desde octubre de 2020.
  • fastlane-plugin-run_tests_firebase_testlab permanecía inactivo desde marzo de 2019.

Después de años de silencio, ambos proyectos publicaron nuevas versiones que incorporaban código malicioso.

Este patrón dio origen al nombre SleeperGem, ya que los atacantes aprovecharon paquetes aparentemente abandonados para convertirlos en una puerta de entrada al malware.

Según los investigadores, una cuenta olvidada durante seis o siete años genera mucha menos desconfianza que una creada recientemente, convirtiéndose en un objetivo ideal para los ciberdelincuentes.

Una propagación cuidadosamente diseñada

La investigación reveló además que git_credential_manager fue añadido como dependencia de otros paquetes, permitiendo que el código malicioso llegara automáticamente a más usuarios.

Entre los paquetes afectados se encuentran:

  • Dendreo
  • fastlane-plugin-run_tests_firebase_testlab
  • slackHtmlToMarkdown
  • seo_optimizer
  • array_fast_methods

Con excepción de uno de ellos, todos eran mantenidos por la misma cuenta denominada LR-DEV.

Sin embargo, el hecho de que fastlane-plugin-run_tests_firebase_testlab perteneciera a otro desarrollador sugiere que más de una cuenta de RubyGems habría sido comprometida, ampliando el alcance del ataque.

¿Cómo funciona el malware?

Tras la instalación del paquete comprometido, el malware realiza una serie de verificaciones antes de ejecutarse.

Su primera tarea consiste en buscar alrededor de 30 variables de entorno relacionadas con plataformas de integración y despliegue continuo (CI/CD), entre ellas:

  • GitHub Actions
  • GitLab CI
  • CircleCI
  • Travis CI
  • Jenkins
  • Vercel

Si detecta cualquiera de estos entornos, el malware finaliza inmediatamente su ejecución.

Esta técnica busca evitar los sistemas automatizados utilizados para analizar amenazas y garantizar que el código únicamente se ejecute en los equipos reales de los desarrolladores.

Descarga de cargas útiles desde Forgejo

Cuando el paquete git_credential_manager es cargado por la aplicación, descarga automáticamente dos archivos desde una instancia pública de Forgejo controlada por los atacantes:

  • Un script denominado You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
  • Un binario nativo que imita la herramienta legítima

En sistemas Windows, el malware emplea PowerShell para recuperar y ejecutar los archivos.

Las primeras versiones simplemente preparaban la infraestructura del ataque.

Sin embargo, la versión 2.8.3 incorpora una fase mucho más agresiva.

Persistencia y escalada de privilegios

Una vez descargado el malware, el script instala un demonio que permanece ejecutándose en segundo plano.

Posteriormente configura distintos mecanismos de persistencia mediante:

  • Entradas cron
  • Servicios de usuario systemd

Además, inspecciona los privilegios del usuario comprometido.

Si detecta que el usuario puede ejecutar comandos sudo sin contraseña, el malware reinicia su ejecución con privilegios elevados.

Cuando obtiene acceso como root, instala una copia del shell del sistema con permisos setuid, camuflándola como una utilidad legítima ubicada en:

/usr/local/sbin/ping6

Este mecanismo permite a los atacantes mantener acceso privilegiado incluso después de reiniciar el sistema.

Riesgos para organizaciones y desarrolladores

Los expertos consideran que cualquier equipo donde se hayan instalado estas gemas debe tratarse como completamente comprometido.

Las recomendaciones incluyen:

  • Eliminar el demonio ubicado en ~/.local/share/gcm/
  • Borrar todos los mecanismos de persistencia
  • Revisar la existencia del archivo /usr/local/sbin/ping6
  • Rotar inmediatamente todas las credenciales
  • Revocar claves API
  • Cambiar credenciales SSH
  • Renovar tokens de acceso
  • Restablecer secretos utilizados en proyectos y pipelines

Ignorar estos pasos podría permitir que los atacantes mantengan acceso permanente a la infraestructura.

RubyGems, un objetivo cada vez más atractivo

SleeperGem no representa un caso aislado.

Durante los últimos meses, RubyGems ha experimentado múltiples incidentes relacionados con paquetes maliciosos.

Hace apenas unas semanas, la plataforma suspendió temporalmente la creación de nuevas cuentas después de detectar una campaña masiva de publicación de paquetes fraudulentos.

Investigadores de Socket también identificaron otra operación que inundó el registro con aproximadamente 150 gemas maliciosas, utilizadas como mecanismo de exfiltración de información.

RubyGems como plataforma para ocultar datos robados

Otra investigación publicada recientemente por You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login reveló una táctica aún más llamativa.

En lugar de utilizar RubyGems para distribuir malware, los atacantes lo empleaban como un repositorio oculto de información robada.

Una extensión maliciosa para navegadores recopilaba datos sensibles mediante una API local y posteriormente construía archivos .gem completamente válidos utilizando únicamente JavaScript y APIs estándar del navegador.

Finalmente, esos paquetes eran subidos directamente a RubyGems utilizando una clave API comprometida.

Entre la información robada se encontraron:

  • Contraseñas en texto plano
  • Claves privadas SSH
  • Credenciales AWS
  • Frases semilla de monederos de criptomonedas
  • Números de Seguridad Social
  • Tarjetas de crédito
  • Información bancaria

Al almacenarse dentro de paquetes aparentemente legítimos, los datos pasaban desapercibidos entre miles de cargas normales realizadas diariamente por desarrolladores.

En fin...

El descubrimiento de SleeperGem confirma que los ataques contra la cadena de suministro de software continúan evolucionando y que los ciberdelincuentes están adoptando técnicas cada vez más sofisticadas para comprometer a desarrolladores y organizaciones. El uso de cuentas olvidadas, dependencias legítimas, mecanismos de persistencia avanzados y plataformas de confianza como RubyGems convierte este tipo de campañas en una amenaza especialmente difícil de detectar.

Para reducir el riesgo, las empresas deben reforzar sus procesos de verificación de dependencias, implementar herramientas de análisis de seguridad en los pipelines de desarrollo, supervisar continuamente las bibliotecas de terceros y aplicar políticas estrictas de gestión de credenciales. En un panorama donde el software moderno depende cada vez más de componentes externos, proteger la cadena de suministro ya no es una opción, sino una necesidad estratégica para garantizar la integridad y seguridad de los entornos de desarrollo.

Fuente: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login