Ruby Gems y módulos Go envenenados explotan las canalizaciones de CI para el robo de credenciales – CYBERDEFENSA.MX

Se ha observado una nueva campaña de ataque a la cadena de suministro de software que utiliza paquetes durmientes como conducto para impulsar posteriormente cargas útiles maliciosas que permitieron el robo de credenciales, la manipulación de GitHub Actions y la persistencia de SSH.

La actividad se ha atribuido a la cuenta de GitHub «BufferZoneCorp,», que ha publicado un conjunto de repositorios asociados con gemas Ruby maliciosas y módulos Go. Al momento de escribir este artículo, los paquetes han sido retirados de RubyGems y los módulos Go han sido bloqueados. Los nombres de las bibliotecas se enumeran a continuación:

  • Rubí:
    • registrador de soporte activo de nudos
    • nudo-diseñar-jwt-ayudante
    • tienda-de-sesiones-en-nudos
    • tubería-de-activos-de-rieles-de-nudos
    • nudo-rspec-formateador-json
    • nudo-fecha-utils-rb (gema durmiente)
    • nudo-simple-formateador (gema durmiente)
  • Ir:
    • github[.]es/BufferZoneCorp/go-metrics-sdk
    • github[.]es/BufferZoneCorp/go-weather-sdk
    • github[.]es/BufferZoneCorp/go-retryablehttp
    • github[.]es/BufferZoneCorp/go-stdlib-ext
    • github[.]es/BufferZoneCorp/grpc-client
    • github[.]es/BufferZoneCorp/net-helper
    • github[.]es/BufferZoneCorp/config-loader
    • github[.]com/BufferZoneCorp/log-core (módulo durmiente)
    • github[.]com/BufferZoneCorp/go-envconfig (módulo durmiente)

Los paquetes identificados se hacen pasar por módulos reconocibles y conocidos como activesupport-logger, devise-jwt, go-retryablehttp, grpc-client y config-loader para evadir la detección y engañar a los usuarios para que los descarguen.

Ciberseguridad

«La cuenta es parte de una campaña de la cadena de suministro de software dirigida a desarrolladores, corredores de CI y entornos de construcción en dos ecosistemas», dijo el investigador de seguridad de Socket Kirill Boychenko. dicho en un análisis publicado hoy.

Las gemas Ruby están diseñadas para automatizar el robo de credenciales durante el tiempo de instalación, recolectando variables de entorno, claves SSH, secretos de AWS, .npmrc, .netrc, configuración de GitHub CLI y credenciales de RubyGems. Los datos robados luego se filtran a un Webhook controlado por el atacante.[.]punto final del sitio.

Por otro lado, los módulos Go albergan capacidades más amplias para alterar los flujos de trabajo de GitHub Actions, colocar envoltorios Go falsos, robar datos de desarrolladores y agregar una clave pública SSH codificada a «~/.ssh/authorized_keys» para acceso remoto al host comprometido. No todos los módulos tienen la misma carga útil; en cambio, están distribuidos por todo el grupo.

«El módulo se ejecuta a través de init(), detecta GITHUB_ENV y GITHUB_PATH, configura HTTP_PROXY y HTTPS_PROXY, escribe un ejecutable go falso en un directorio de caché y agrega ese directorio a la ruta del flujo de trabajo para que el contenedor se seleccione antes que el binario real», explicó Boychenko.

«Ese contenedor puede luego interceptar o influir en ejecuciones posteriores y al mismo tiempo pasar el control al binario legítimo para evitar interrumpir el trabajo».

Se recomienda a los usuarios que hayan instalado los paquetes que los eliminen de sus sistemas, revisen los signos de acceso a archivos confidenciales o cambios no autorizados en «~/.ssh/authorized_keys», roten las credenciales expuestas e inspeccionen los registros de red para detectar tráfico HTTPS saliente al punto de exfiltración.

Cinco cajas de óxido maliciosas y un robot de inteligencia artificial explotan las canalizaciones de CI/CD para robar secretos de los desarrolladores

Los investigadores de ciberseguridad han descubierto cinco cajas Rust maliciosas que se hacen pasar por utilidades relacionadas con el tiempo para transmitir datos de archivos .env a los actores de la amenaza.

Los paquetes de Rust, publicados en crates.io, se enumeran a continuación:

  • crono_ancla
  • dnp3veces
  • calibrador_tiempo
  • calibradores_de_tiempo
  • sincronización de tiempo

Las cajas, según Socket, se hacen pasar por timeapi.io y se publicaron entre finales de febrero y principios de marzo de 2026. Se considera que es el trabajo de un único actor de amenazas basado en el uso de la misma metodología de exfiltración y el dominio similar («timeapis[.]io») para ocultar los datos robados.

«Aunque las cajas se hacen pasar por servicios de hora local, su comportamiento principal es el robo de credenciales y secretos», afirma el investigador de seguridad Kirill Boychenko. dicho. «Intentan recopilar datos confidenciales de entornos de desarrolladores, sobre todo archivos .env, y exfiltrarlos a una infraestructura controlada por actores de amenazas».

Ciberseguridad

Si bien cuatro de los paquetes antes mencionados exhiben capacidades bastante sencillas para filtrar archivos .env, «chrono_anchor» va un paso más allá al implementar ofuscación y cambios operativos para evitar la detección. Las cajas se anunciaron como una forma de calibrar la hora local sin depender del Protocolo de hora de red (NTP).

«Chrono_anchor» incorpora la lógica de exfiltración dentro de un archivo llamado «guard.rs» que se invoca desde una función auxiliar de «sincronización opcional» para evitar levantar sospechas de los desarrolladores. A diferencia de otros programas maliciosos, el código observado en este caso no tiene como objetivo establecer la persistencia en el host a través de un servicio o tarea programada.

En cambio, la caja intenta filtrar repetidamente secretos .env cada vez que el desarrollador de un flujo de trabajo de Integración Continua (CI) llama al código malicioso.

El objetivo de archivos .env no es un accidente, ya que normalmente se usa para contener claves API, tokens y otros secretos, lo que permite a un atacante comprometer a los usuarios intermedios y obtener un acceso más profundo a sus entornos, incluidos servicios en la nube, bases de datos y GitHub y tokens de registro.

Si bien los paquetes se eliminaron de crates.io, se recomienda a los usuarios que los hayan descargado accidentalmente que asuman una posible exfiltración, roten claves y tokens, auditen los trabajos de CI/CD que se ejecutan con credenciales de publicación o implementación y limiten el acceso saliente a la red cuando sea posible.

«Esta campaña muestra que el malware de cadena de suministro de baja complejidad aún puede tener un alto impacto cuando se ejecuta dentro de espacios de trabajo de desarrolladores y trabajos de CI», afirmó Socket. «Priorizar controles que detengan las dependencias maliciosas antes de que se ejecuten».

Un bot impulsado por IA aprovecha las acciones de GitHub

La divulgación se produce tras el descubrimiento de una campaña de ataque automatizado dirigida a canales de CI/CD que abarcan los principales repositorios de código abierto, con un robot impulsado por inteligencia artificial (IA) llamado hackerbot-claw que escanea repositorios públicos en busca de flujos de trabajo explotables de GitHub Actions para recopilar secretos de los desarrolladores.

Entre el 21 y el 28 de febrero de 2026, la cuenta de GitHub, que se describió a sí misma como un agente autónomo de investigación de seguridad, apuntó a no menos de siete repositorios pertenecientes a Microsoft, Datadog y Aqua Security, entre otros.

El ataque se desarrolla de la siguiente manera –

  • Escanee repositorios públicos en busca de canalizaciones de CI/CD mal configuradas
  • Bifurca el repositorio de destino y prepara una carga útil maliciosa
  • Abra una solicitud de extracción con un cambio trivial, como una corrección de error tipográfico, mientras oculta la carga útil principal en el nombre de la rama, el nombre del archivo o un script de CI.
  • Active la canalización de CI aprovechando el hecho de que los flujos de trabajo se activan automáticamente en cada solicitud de extracción, lo que hace que el código malicioso se ejecute en el servidor de compilación.
  • Robar secretos y tokens de acceso

Uno de los objetivos más destacados del ataque fue el repositorio «aquasecurity/trivy», un popular escáner de seguridad de Aqua Security que busca vulnerabilidades, configuraciones erróneas y secretos conocidos.

«Hackerbot-claw explotó un flujo de trabajo pull_request_target «Para robar un token de acceso personal (PAT)», dijo la empresa de seguridad de la cadena de suministro StepSecurity. «La credencial robada se utilizó luego para hacerse cargo del repositorio».

en un declaración publicado la semana pasada, Itay Shakury de Aqua Security reveló que el atacante aprovechó el flujo de trabajo de GitHub Actions para enviar una versión maliciosa de la extensión Visual Studio Code (VS Code) de Trivy al registro Open VSX para aprovechar los agentes de codificación de IA locales para recopilar y filtrar información confidencial.

Socket, que también investigó el compromiso de la extensión, dicho la lógica inyectada en las versiones 1.8.12 y 1.8.13 ejecuta asistentes de codificación de IA locales, incluidos Claude, Codex, Gemini, GitHub Copilot CLI y Kiro CLI, en modos altamente permisivos, indicándoles que realicen una inspección exhaustiva del sistema, generen un informe de la información descubierta y guarden los resultados en un repositorio de GitHub llamado «posture-report-trivy» utilizando la propia sesión autenticada de GitHub CLI de la víctima.

Desde entonces, Aqua eliminó los artefactos del mercado y revocó el token utilizado para publicarlos. Se recomienda a los usuarios que instalaron las extensiones que las eliminen inmediatamente, verifiquen la presencia de repositorios inesperados y roten los secretos del entorno. El artefacto malicioso ha sido eliminado. No se han identificado otros artefactos afectados. El incidente se está rastreando bajo el identificador CVE. CVE-2026-28353.

Ciberseguridad

Vale la pena señalar que para que un sistema se vea afectado por el problema, se deben cumplir los siguientes requisitos previos:

  • Se instaló la versión 1.8.12 o 1.8.13 desde Open VSX
  • Al menos una de las CLI de codificación de IA específicas se instaló localmente
  • La CLI aceptó los indicadores de ejecución permisivos proporcionados.
  • El agente pudo acceder a datos confidenciales en el disco.
  • La CLI de GitHub se instaló y se autenticó (para la versión 1.8.13)

«La progresión de .12 a .13 parece una iteración», dijo Socket. «El primer mensaje dispersa datos a través de canales aleatorios sin que el atacante tenga una forma confiable de recopilar el resultado. El segundo soluciona ese problema usando la propia cuenta de GitHub de la víctima como un canal de exfiltración limpio, pero sus instrucciones vagas pueden hacer que el agente envíe secretos a un repositorio privado que el atacante no puede ver».