- Shai Hulud 2.0 vuelve a atacar el ecosistema de npm, infectando paquetes de proyectos importantes como Zapier, ENS Domains, AsyncAPI, PostHog y Postman
- El malware se ejecuta automáticamente durante la instalación para robar secretos de sistemas de desarrolladores y entornos en la nube
- En los sistemas infectados, usa TruffleHog para buscar claves API, tokens, contraseñas y más, y subirlos a repositorios públicos de GitHub
- Este ataque se amplió respecto al anterior e incluye hasta 100 paquetes infectados y una función para borrar archivos del directorio personal si falla la autenticación
- Se trata de un ataque masivo a la cadena de suministro que amenaza el modelo de confianza del ecosistema npm y resalta la necesidad de revisar y rotar los secretos de todos los equipos de desarrollo
Resumen de la campaña Shai-Hulud
- Shai-Hulud es un malware con forma de gusano autorreplicable dentro del ecosistema npm que se propaga rápidamente a través de entornos de desarrollo infectados
- Al infectar un sistema, usa TruffleHog para buscar secretos expuestos como claves API y tokens
- La información recolectada se envía a repositorios públicos de GitHub y luego se publican nuevos paquetes maliciosos en npm para seguir propagándose
- El atacante llamó a esta ofensiva “Second Coming”
- El ataque se reanudó en el momento en que npm había anunciado la revocación de tokens antiguos el 9 de diciembre
Línea de tiempo del ataque
- 27 de agosto: se publica el reporte de la campaña S1ngularity
- 16 de septiembre: ocurre el primer ataque de Shai-Hulud
- 18 de septiembre: se reporta el análisis técnico y el comportamiento del payload
- 24 de noviembre: ocurre el segundo ataque (Second Coming) justo antes de la revocación de tokens de npm
Cambios en la forma del ataque
- En esta ocasión, el ataque instala el runtime Bun mediante el archivo
setup_bun.js y luego ejecuta bun_environment.js
- Crea repositorios de GitHub con nombres aleatorios para subir los datos robados
- La cantidad de paquetes objetivo infectados aumentó de 20 a 100
- Si falla la autenticación en GitHub o npm, incluye una función para borrar por completo el directorio personal del usuario
Paquetes infectados
- En total, 492 paquetes de npm fueron infectados, con 132 millones de descargas mensuales
- Principales proyectos afectados: Zapier, ENS Domains, AsyncAPI, PostHog, Postman y Browserbase
- Ejemplos de paquetes:
@zapier/zapier-sdk, @ensdomains/ensjs, @asyncapi/cli, posthog-js, @postman/pm-bin-linux-x64 y otros
Filtración de secretos
- El malware sube secretos a repositorios de GitHub con la descripción “Sha1-Hulud: The Second Coming”
- Hasta ahora, se ha confirmado la exposición de más de 26,300 repositorios
Error del atacante
- Algunos paquetes solo incluían
setup_bun.js y no bun_environment.js, por lo que el gusano no llegaba a ejecutarse por completo
- Esto limitó el alcance de la propagación del ataque
Ruta de infección y punto inicial
- La infección inicial comenzó el 24 de noviembre de 2025 a las 03:16:26 GMT+0 en
go-template y 36 paquetes relacionados con AsyncAPI
- Después se propagó a PostHog (04:11:55) y luego a Postman (05:09:25)
- En el repositorio de AsyncAPI CLI se confirmó la presencia de código desplegado tras crear una rama maliciosa
Impacto potencial
- Al ejecutarse automáticamente durante la instalación, puede acceder al entorno local del desarrollador, sistemas de build y credenciales de la nube
- Los secretos robados podrían usarse para comprometer cuentas adicionales y publicar más paquetes maliciosos
- Representa una grave amenaza para la seguridad de la cadena de suministro basada en la confianza del ecosistema npm
Recomendaciones de respuesta de seguridad
- Revisar por completo las dependencias npm relacionadas con Zapier y ENS
- Rotar todos los secretos de GitHub, npm, la nube y CI/CD
- Buscar en GitHub repositorios con la descripción “Sha1-Hulud: The Second Coming”
- Deshabilitar los scripts
postinstall de npm en entornos de CI
- Fijar versiones de paquetes y activar MFA, además de bloquear paquetes maliciosos con herramientas como Safe-Chain
Conclusión
- Shai-Hulud 2.0 es un nuevo ataque masivo contra la cadena de suministro de npm que afectó a
cientos de paquetes populares y miles de repositorios de GitHub
- Todos los equipos de desarrollo deben verificar dependencias, rotar secretos y bloquear scripts de instalación automática de inmediato
Aún no hay comentarios.