Entradas Mensuales

Síguenos en:

Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET Mastodon

Entradas populares

PostHeaderIcon Nuevo ataque tipo Shai-Hulud en npm infecta 19+ paquetes para robar secretos de dev/CI


Un nuevo gusano de cadena de suministro está atacando activamente el ecosistema npm, con un equipo de investigación identificando al menos 19 paquetes maliciosos diseñados para robar secretos de desarrolladores y CI/CD, y propagarse automáticamente a través de repositorios y flujos de trabajo. La campaña, rastreada como SANDWORMMODE, utiliza paquetes npm con typosquatting y GitHub Actions envenenadas para infectar tanto máquinas de desarrolladores.




Un nuevo gusano de cadena de suministro está atacando activamente el ecosistema npm, con un equipo de investigación identificando al menos 19 paquetes npm maliciosos diseñados para robar secretos de desarrolladores y CI/CD y propagarse automáticamente a través de repositorios y flujos de trabajo.

La campaña, rastreada como SANDWORMMODE, utiliza paquetes npm con typosquatting y acciones de GitHub envenenadas para infectar tanto máquinas de desarrolladores como pipelines CI.

Los atacantes suplantaron utilidades populares de Node.js y herramientas de codificación con IA usando dos alias de publicadores npm.

Los paquetes maliciosos parecen normales y mantienen su funcionalidad esperada. Sin embargo, una vez importados, ejecutan en secreto una carga útil de JavaScript en múltiples etapas.

Paquete malicioso ejecuta carga oculta (fuente: socket)
Paquete malicioso ejecuta carga oculta (fuente: socket)

Tan pronto como un desarrollador ejecuta npm install, el malware se activa. Inmediatamente roba datos sensibles, incluyendo tokens de npm y GitHub, variables de entorno, claves criptográficas y otros secretos.

En entornos CI, el gusano omite los retrasos integrados, por lo que el ataque completo, incluyendo el robo de datos y la propagación, se ejecuta al instante. Esto convierte la instalación rutinaria de dependencias en un punto de riesgo importante.

Comparación entre Shai-Hulud y el gusano SANDWORM_MODE:

CaracterísticaGusano Shai-Hulud anteriorVariante SANDWORM_MODE
Cómo se propaga (punto de entrada)Usaba paquetes npm maliciososUsa paquetes npm falsos (typosquat) que parecen herramientas reales
A quién atacaDesarrolladores y sistemas CIAtaca específicamente a desarrolladores y CI; finge ser paquetes confiables
Cuándo se ejecutaSe ejecuta durante el uso normal del paqueteSe ejecuta al importarse, pero sigue funcionando como una librería normal
EstructuraMultietapa (cargador + carga útil)Multietapa con segunda etapa encriptada
OfuscaciónOculta el código con trucos en tiempo de ejecuciónUsa Base64, compresión, XOR y encriptación AES para ocultar la carga útil
Qué robaCredenciales de desarrolladores y CITokens de npm/GitHub, secretos de entorno, credenciales .npmrc, gestores de contraseñas
Cómo envía los datosFunciona incluso en redes restringidasUsa la API de GitHub, tunneling DNS y endpoints HTTPS
Cómo se propaga másUsa cuentas npm/GitHub robadasModifica repositorios, inyecta package.json, lockfiles y flujos de trabajo
Ataques a CIUsa CI para propagarseInyecta flujos de trabajo maliciosos y roba secretos
Función destructivaModo destructivo opcionalBorra el directorio home si se pierden los accesos a GitHub + npm
Control del operadorConfiguraciones ajustablesMuchos controles mediante variables de entorno SANDWORM_*
Temática/marcaNombres relacionados con Dune/gusano de arenaUsa interruptores temáticos SANDWORM_*
PersistenciaDiferentes métodosUsa git hooks para que nuevos repos hereden la infección
Método de propagación alternativoNo siempre destacadoUsa SSH si falla la propagación por API
Objetivo en herramientas de IANo era un enfoque principalAtaca herramientas de IA (Claude, Cursor, VS Code), inyecta configuraciones
Auto-reescrituraNo enfatizadoPuede reescribirse usando Ollama local (si está habilitado)

Cómo el gusano roba datos

El ataque funciona en múltiples etapas:

EtapaActividadDetalles
Etapa 1 – Recolección rápida de secretosRobo inicial de datosEscanea archivos .npmrc, variables de entorno, archivos de configuración y carteras de criptomonedas.
Etapa 1 – Recolección rápida de secretosExfiltraciónEnvía los secretos descubiertos a un servidor remoto a través de un endpoint de Cloudflare Worker.
Etapa 2 – Recolección profundaRecolección extendida de datosBusca en gestores de contraseñas, bases de datos SQLite locales y archivos de carteras para obtener datos sensibles adicionales.
Etapa 2 – Recolección profundaMétodo de exfiltraciónTransfiere los datos robados por HTTPS, usando tunneling DNS como método alternativo.

El gusano utiliza credenciales robadas de npm y GitHub para seguir propagándose. Si falla el acceso a la API de GitHub, el malware cambia a un método de respaldo SSH.

Abusa del agente SSH de la víctima para clonar repositorios, insertar la dependencia portadora y enviar los cambios bajo la identidad de la víctima.

La campaña también incluye una acción de GitHub armada llamada ci-quality/code-quality-check. Fingiendo ejecutar una verificación de calidad normal, en realidad roba secretos de CI y continúa el proceso de propagación.

Repositorio de GitHub ci-quality/code-quality-check imita una acción de calidad de código Node.js (fuente: socket)
Repositorio de GitHub ci-quality/code-quality-check imita una acción de calidad de código Node.js (fuente: socket)

Métodos de propagación del gusano en la cadena de suministro:

AcciónDescripción
Abuso de credencialesUsa credenciales robadas de npm y GitHub para seguir propagándose.
Republicación de paquetesRepublica versiones infectadas de paquetes populares.
Inyección de portadorAñade una dependencia "portadora" oculta en repositorios accesibles mediante la API de GitHub.
Modificación de archivosAltera package.json y lockfiles para incluir cambios maliciosos.
Inyección de flujos de trabajoAñade flujos de trabajo maliciosos de GitHub a repositorios comprometidos.
Intentos de fusión automáticaIntenta fusionar automáticamente pull requests para que los cambios parezcan legítimos.

Objetivo en herramientas de IA

El gusano también apunta a herramientas de codificación con IA. Instala un servidor MCP falso en configuraciones de herramientas como Claude Code, Cursor y extensiones de VS Code.

Usa instrucciones de inyección de prompts ocultas para engañar a asistentes de IA y hacerles leer claves SSH, credenciales en la nube y tokens, enviándolos luego al servidor del atacante.

Incluso verifica claves API de múltiples proveedores importantes de LLM, convirtiendo sistemas infectados en plataformas de recolección masiva de credenciales.

La muestra incluye una función "interruptor muerto" desactivada que podría borrar el directorio home del usuario si el ataque falla. Aunque no está activa, demuestra que el malware sigue evolucionando.

El equipo de investigación de amenazas de Sockets insta a los equipos a eliminar los paquetes maliciosos, rotar secretos, auditar flujos de trabajo y monitorear actividades sospechosas, advirtiendo que la campaña representa un riesgo grave para entornos de desarrollo y CI.



Fuentes:
https://cybersecuritynews.com/shai-hulud-like-npm-worm-attack/

0 comentarios :

Publicar un comentario

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.