Ataque a la Cadena de Suministro Ataca a Desarrolladores con Gemas Ruby y Módulos Go Maliciosos
Se ha descubierto un nuevo ataque a la cadena de suministro de software que aprovecha gemas Ruby y módulos Go maliciosos para atacar a desarrolladores y entornos CI/CD. El ataque, atribuido a la cuenta de GitHub **BufferZoneCorp**, tiene como objetivo robar credenciales, manipular GitHub Actions y establecer persistencia SSH.

### Paquetes Maliciosos Identificados
La cuenta de GitHub controlada por el atacante "**BufferZoneCorp**" publicó una serie de paquetes maliciosos tanto en los ecosistemas RubyGems como en los módulos Go. Si bien los paquetes ya han sido eliminados de RubyGems y bloqueados, es crucial comprender el alcance del ataque. Se identificaron los siguientes paquetes:
* **Ruby:**
* knot-activesupport-logger
* knot-devise-jwt-helper
* knot-rack-session-store
* knot-rails-assets-pipeline
* knot-rspec-formatter-json
* knot-date-utils-rb (Gema "dormida")
* knot-simple-formatter (Gema "dormida")
* **Go:**
* github[.]com/BufferZoneCorp/go-metrics-sdk
* github[.]com/BufferZoneCorp/go-weather-sdk
* github[.]com/BufferZoneCorp/go-retryablehttp
* github[.]com/BufferZoneCorp/go-stdlib-ext
* github[.]com/BufferZoneCorp/grpc-client
* github[.]com/BufferZoneCorp/net-helper
* github[.]com/BufferZoneCorp/config-loader
* github[.]com/BufferZoneCorp/log-core (Módulo "dormido")
* github[.]com/BufferZoneCorp/go-envconfig (Módulo "dormido")
Estos paquetes fueron diseñados para imitar módulos legítimos y conocidos como `activesupport-logger`, `devise-jwt`, `go-retryablehttp`, `grpc-client` y `config-loader`, aumentando la probabilidad de que los desarrolladores los descarguen inadvertidamente.
### Vectores de Ataque y Detalles del Payload
Según el investigador de seguridad de **Socket**, Kirill Boychenko, "La cuenta es parte de una campaña de cadena de suministro de software dirigida a desarrolladores, ejecutores de CI y entornos de compilación en dos ecosistemas."
Las gemas Ruby están diseñadas para recolectar automáticamente información sensible, incluyendo variables de entorno, claves SSH, secretos de **AWS**, `.npmrc`, `.netrc`, configuración de **GitHub** CLI y credenciales de RubyGems durante la instalación. Estos datos robados se exfiltran luego a un endpoint de webhook controlado por el atacante.
Los módulos Go exhiben un rango más amplio de capacidades maliciosas. Estas incluyen la manipulación de flujos de trabajo de **GitHub** Actions, la inyección de wrappers Go falsos, el robo de datos de desarrolladores y la adición de una clave pública SSH codificada en el archivo `~/.ssh/authorized_keys`, otorgando acceso remoto no autorizado. Los payloads difieren entre los módulos.
Boychenko explicó además: "El módulo se ejecuta a través de init(), detecta GITHUB_ENV y GITHUB_PATH, establece 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 wrapper sea seleccionado antes que el binario real. Ese wrapper puede entonces interceptar o influir en ejecuciones posteriores de Go mientras aún pasa el control al binario legítimo para evitar romper el trabajo."
### Pasos de Remediación
Se recomienda encarecidamente a los usuarios que hayan instalado alguno de los paquetes identificados que tomen las siguientes medidas:
* Eliminar inmediatamente los paquetes de sus sistemas.
* Revisar exhaustivamente los sistemas en busca de cualquier signo de acceso no autorizado a archivos sensibles o modificaciones en el archivo `~/.ssh/authorized_keys`.
* Rotar todas las credenciales potencialmente expuestas, incluidas las claves SSH, los tokens de API y las contraseñas.
* Inspeccionar cuidadosamente los registros de red en busca de cualquier tráfico HTTPS saliente dirigido al punto de exfiltración identificado.