
Múltiples empresas de seguridad han alertado sobre una segunda oleada de ataques que afectan al registro npm, reminiscentes del ataque Shai-Hulud de septiembre de 2025. Esta nueva campaña, denominada Sha1-Hulud, ha comprometido cientos de paquetes npm entre el 21 y el 23 de noviembre de 2025.
Según investigadores de Wiz, la nueva variante del ataque ejecuta código malicioso durante la fase de preinstall, lo que incrementa significativamente la exposición en entornos de construcción y tiempo de ejecución.
La Evolución del Ataque Sha1-Hulud
El ataque Sha1-Hulud comparte similitudes con la ola anterior, que también publicaba secretos robados en GitHub bajo la descripción “Sha1-Hulud: The Second Coming.” La ola previa se caracterizó por comprometer paquetes legítimos para buscar secretos en las máquinas de desarrolladores usando el escáner de credenciales TruffleHog y propagarse de forma autorreplicante.
En la actual oleada, los atacantes han modificado el archivo package.json de los paquetes comprometidos para añadir un script preinstall (setup_bun.js). Este script está configurado para instalar o localizar de forma sigilosa el tiempo de ejecución de Bun y ejecutar un script malicioso empaquetado (bun_environment.js).
Funcionalidad del Payload Malicioso
El payload malicioso de Sha1-Hulud ejecuta una secuencia de acciones a través de dos flujos de trabajo principales:
1. Robo de Credenciales
El malware descarga y ejecuta TruffleHog para escanear la máquina local y robar información sensible. Los objetivos principales incluyen:
- Tokens de NPM.
- Credenciales de AWS, GCP y Azure.
- Variables de entorno.
2. Persistencia y Sabotaje en GitHub
El ataque establece un mecanismo de persistencia y exfiltración de secretos a través de GitHub:
- Registro de Runner: Registra la máquina infectada como un runner autoalojado (“SHA1HULUD”) en el repositorio de GitHub.
- Exfiltración de Secretos: Exfiltra todos los secretos definidos en la sección de secretos de GitHub y los sube como un artefacto (
actionsSecrets.json) a un repositorio controlado por el atacante. Posteriormente, el flujo de trabajo es borrado para ocultar la actividad. - Control Remoto: Añade un flujo de trabajo (
.github/workflows/discussion.yaml) con una vulnerabilidad de inyección que se ejecuta específicamente en runners autoalojados. Esto permite al atacante ejecutar comandos arbitrarios en las máquinas infectadas simplemente abriendo discusiones en el repositorio de GitHub.
Escala del Ataque y Escalada a Sabotaje Punitivo
La campaña Sha1-Hulud ha mostrado una rápida propagación. Wiz ha detectado más de 25,000 repositorios afectados en aproximadamente 350 usuarios únicos, con 1,000 nuevos repositorios añadiéndose consistentemente cada 30 minutos.
La segunda ola de ataques ha introducido una nueva y agresiva funcionalidad de “sabotaje punitivo” reportada por Koi Security. Si el malware falla en la exfiltración de credenciales o la persistencia (por ejemplo, no puede autenticarse en GitHub, crear un repositorio o encontrar tokens), activa una funcionalidad de wiper que destruye el directorio de inicio completo del usuario. Esta táctica marca una escalada significativa, pasando del robo de datos puro al sabotaje catastrófico si el robo no tiene éxito.
Adicionalmente, el malware busca escalar privilegios ejecutando un comando de Docker. Este comando monta el sistema de archivos raíz del host en un contenedor privilegiado para copiar un archivo sudoers malicioso, lo que otorga al atacante acceso de root sin contraseña.
Recomendaciones de Mitigación
Ante la amenaza de Sha1-Hulud, las organizaciones deben tomar medidas inmediatas para proteger sus entornos de desarrollo:
- Escaneo de Endpoints: Analizar todos los endpoints en busca de la presencia de paquetes impactados.
- Eliminación de Versiones Comprometidas: Remover inmediatamente cualquier versión comprometida de los paquetes.
- Rotación de Credenciales: Rotar todas las credenciales y tokens de acceso (NPM, AWS, Azure, GCP) que pudieran haber sido expuestos.
- Auditoría de Repositorios: Revisar los repositorios en busca de mecanismos de persistencia. Esto incluye inspeccionar la carpeta
.github/workflows/para archivos sospechosos comoshai-hulud-workflow.ymlo ramas inesperadas.
Referencias
- Herramienta de escaneo: TruffleHog (usada por el malware para robar credenciales).
- Flujo de trabajo malicioso de persistencia:
.github/workflows/discussion.yaml.