Shai-Hulud 2.0: Segunda Ola de Ataque de Cadena de Suministro
Desde septiembre del 2025 el ataque de cadena de suministro Shai-Hulud ha ganado notoriedad por infectar paquetes Node Package Manager (NPM) usados por desarrolladores de proyectos en JavaScript Node.js. En su primera ola, infecto más de 180 paquetes NPM y expuso credenciales de AWS, Google Cloud, GitHub, Altassian y Datadog. A finales de noviembre del 2025 se observó una variante más agresiva y destructiva de este ataque que, a diferencia de la primera ola, para propagarse depende de los scripts preinstalados de los paquetes npm, lo que amplía drásticamente el radio de explosión entre las máquinas de desarrollo y las canalizaciones CI/CD, infectando ahora más de 800 paquetes npm y 25,000 repositorios en GitHub.
El método de ataque de Shai-Hulud es aprovechar cuentas comprometidas y publicar versiones manipuladas de paquetes npm para así robar credenciales y exfiltrar información durante la instalación. Esta nueva ola usa scripts de ciclo de vida de instalación para su ejecución y crea los archivos: cloud.json, contents.json, environment.json y truffleSecrets.json en directorios de usuarios Linux, Windows y MacOS.
Para lograr esto, los atacantes incluyeron dos nuevos payloads “setup_bun.js” y “bun_environment.js”, que contienen un loader y el payload real, respectivamente. Además de inyectar dos workflows maliciosos: uno que registra la máquina de la víctima como un self-hosted runner llamado 'SHA1HULUD' y habilita la ejecución arbitraria de comandos cada vez que se abre una discusión en GitHub, y el otro está diseñado para extraer todas las credenciales y guardarlas en el archivo actionsSecrets.json.
El DNS del sistema podría ser secuestrado tras la infección y, en caso de no existir tokens de GitHub o NPM comprometidos, ejecuta una función que elimina todos los datos del usuario en Windows y todos los archivos y directorios vacíos en sistemas basados en Unix. El malware también ejecuta contenedores Docker con privilegios elevados y modifica los archivos sudoers para obtener acceso root y así escalar privilegios.
Esta campaña infecta principalmente paquetes de código abierto que tienen cientos de paquetes dependientes. Los paquetes más relevantes debido a que se encuentran en múltiples entornos son: @postman/tunnel-agent, posthog-node, @asyncapi/specs, @asyncapi/openapi-schema-parser, posthog-js, get-them-args, shell-exec y kill-port. Además, se observó que también se infectó un paquete del ecosistema Maven/Java: org.mvnpm:posthog-node:4.18.1.
Indicadores de Compromiso
|
IOC |
Tipo |
|
d60ec97eea19fffb4809bc35b91033b52490ca11 |
FileHash-SHA1 |
|
3d7570d14d34b0ba137d502f042b27b0f37a59fa |
FileHash-SHA1 |
|
d1829b4708126dcc7bea7437c04d1f10eacd4a16 |
FileHash-SHA1 |
Versiones Afectadas
|
Paquete |
Versiones afectadas |
Versiones parcheadas |
|
@postman/tunnel-agent |
Versiones 0.6.5 a 0.6.7 |
Versiones anteriores al 21 de noviembre de 2025 |
|
posthog-node |
Versiones 5.13.3, 5.11.3 y 4.18.1 |
|
|
@asyncapi/specs |
Versiones 6.9.1, 6.10.1, 6.8.3 y 6.8.2 |
|
|
@asyncapi/openapi-schema-parser |
Versiones 3.0.25 y 3.0.26 |
|
|
posthog-js |
Versión 1.297.3 |
|
|
get-them-args |
Versión 1.3.3 |
|
|
shell-exec |
Versiones 1.1.3 y 1.1.4 |
|
|
kill-port |
Versiones 2.0.2 y 2.0.3 |
|
|
org.mvnpm:posthog-node |
Versiones 4.18.1 |
Para ver la lista completa de los 800 paquetes consultar el apartado de Appendix en: https://www.wiz.io/blog/shai-hulud-2-0-ongoing-supply-chain-attack
Recomendaciones
-
Borrar la caché de NPM.
-
Fijar dependencias a versiones limpias conocidas o vuelve a versiones anteriores al 21 de noviembre de 2025.
-
Revocar y regenerar tokens npm, PATs de GitHub, claves SSH y credenciales de proveedores de nube.
-
Aplicar MFA resistente al phishing para las cuentas de desarrollador y CI/CD.
-
Buscar repositorios recién creados con "Shai-Hulud" en la descripción.
-
Restringir o desactivar los scripts del ciclo de vida (postinstalación, preinstalación) en CI/CD.
-
Limitar el acceso a la red saliente desde los sistemas de compilación solo a dominios confiables.
-
Utilizar tokens de automatización de corta duración y con alcance definido.
-
Establecer controles de acceso SSH basados en la red para minimizar el riesgo de ataque
-
Auditar herramientas de acceso remoto. (NIST CSF, 2024)
-
Revisar logs para de ejecución de software de acceso remoto. (NIST CSF, 2024)
-
Limitar estrictamente el uso de los protocolos SMB y RDP.
-
Realizar auditorías de seguridad. (NIST CSF, 2024)
-
Deshabilitar los servicios y procesos no requeridos para reducir los vectores de ataque. (NIST CSF, 2024)
-
Tener filtros de correo electrónico y spam.
Referencias
- Ramati, Hila. (2025, Noviembre 24). Shai-Hulud 2.0 Supply Chain Attack: 25K+ Repos Exposing Secrets. WIZ. Recuperado el 28 de Noviembre del 2025, en: https://www.wiz.io/blog/shai-hulud-2-0-ongoing-supply-chain-attack
- Lakshmanan, R. (2025, Noviembre 26). Shai-Hulud v2 Spreads From npm to Maven, as Campaign Exposes Thousands of Secrets. The Hacker News. Recuperado el 28 de Noviembre del 2025, en: https://thehackernews.com/2025/11/shai-hulud-v2-campaign-spreads-from-npm.html
- Toulas, B. (2025, Noviembre 24). Shai-Hulud malware infects 500 npm packages, leaks secrets on GitHub. Bleeping Computer. Recuperado el 28 de Noviembre del 2025, en: https://www.bleepingcomputer.com/news/security/shai-hulud-malware-infects-500-npm-packages-leaks-secrets-on-github/
- Arghire, I. (2025, Noviembre 25). 640 NPM Packages Infected in New ‘Shai-Hulud’ Supply Chain Attack. Security Week. Recuperado el 28 de Noviembre del 2025, en: https://www.securityweek.com/640-npm-packages-infected-in-new-shai-hulud-supply-chain-attack/