Nueva campaña de ataque a la cadena de suministro NPM denominada Sha1-Hulud
Nueva campaña de ataque a la cadena de suministro NPM denominada Sha1-Hulud

Nueva campaña de ataque a la cadena de suministro NPM denominada Sha1-Hulud

Los proveedores de seguridad han alertado sobre una segunda ola de ataques dirigidos al registro NPM, similares al ataque Shai-Hulud del mes de septiembre pasado. La nueva campaña se denomina Sha1-Hulud y ha comprometido cientos de paquetes NPM según informes de múltiples fuentes.

Campaña de ataque a la cadena de suministro

La campaña, denominada Sha1-Hulud, se ha extendido entre el 21 y el 23 de noviembre de 2025. Los paquetes troyanizados se subieron a NPM durante ese periodo. Aikido publicó una lista de paquetes comprometidos que incluye más de 26.000 hasta la fecha.

El código malicioso extrae secretos de desarrolladores y CI/CD, credenciales de proveedores de la nube y puede escalar privilegios en entornos Docker. Según Wiz, «la campaña introduce una nueva variante que ejecuta código malicioso durante la fase de preinstalación, lo que aumenta significativamente la exposición potencial en entornos de compilación y ejecución».

Paquetes afectados

Entre los paquetes comprometidos se encuentran repositorios de las siguientes empresas:

  • Zapier – Multiple SDK and integration packages
  • ENS Domains – Ethereum name service libraries
  • PostHog – Analytics and feature flag packages
  • Postman – API development tools
  • Browserbase – Browser automation infrastructure
  • AsyncAPI – API specification tools
  • Voiceflow – Conversational AI platform packages

La actividad más reciente también publica secretos robados en GitHub, con la descripción del repositorio: «Sha1-Hulud: The Second Coming».

Características de la campaña

Los atacantes añadieron un script de preinstalación (setup_bun.js) al archivo package.json, configurado para instalar o localizar sigilosamente el entorno de ejecución de Bun y ejecutar un script malicioso incluido (bun_environment.js).

La carga maliciosa ejecuta la siguiente secuencia de acciones a través de dos flujos de trabajo diferentes:

  • Registra la máquina infectada como un ejecutor autoalojado llamado «SHA1HULUD» y agrega un flujo de trabajo llamado .github/workflows/discussion.yaml, que contiene una vulnerabilidad de inyección y se ejecuta específicamente en ejecutores autoalojados, lo que permite al atacante ejecutar comandos arbitrarios en las máquinas infectadas abriendo discusiones en el repositorio de GitHub.
  • Exfiltra secretos definidos en la sección de secretos de GitHub y los sube como un artefacto, tras lo cual se descarga y elimina el flujo de trabajo para ocultar la actividad.

«Tras la ejecución, el malware descarga y ejecuta TruffleHog para escanear la máquina local, robando información confidencial como tokens NPM, credenciales de AWS/GCP/Azure y variables de entorno», señaló HelixGuard.

Impacto y detección

Wiz afirmó haber detectado más de 26.000 repositorios afectados en unos 350 usuarios únicos, con la adición constante de 1.000 nuevos repositorios cada 30 minutos en las últimas dos horas.

«Esta campaña continúa la tendencia de comprometer la cadena de suministro de npm haciendo referencia a la nomenclatura y el manejo de la marca Shai-Hulud, aunque podría involucrar a diferentes actores», declaró Wiz. «La amenaza aprovecha las cuentas de mantenimiento comprometidas para publicar versiones troyanizadas de paquetes npm legítimos que ejecutan código de robo de credenciales y exfiltración durante la instalación».

Riesgos y mitigaciones

Koi Security calificó la segunda ola como mucho más agresiva, y añadió que el malware intenta destruir todo el directorio personal de la víctima si no logra autenticarse o establecer persistencia. Esto incluye todos los archivos editables que pertenecen al usuario actual en su carpeta personal. Sin embargo, esta funcionalidad similar a un borrado solo se activa cuando se cumplen las siguientes condiciones:

  • No puede autenticarse en GitHub
  • No puede crear un repositorio de GitHub
  • No puede obtener un token de GitHub
  • No puede encontrar un token npm

«En otras palabras, si Sha1-Hulud no puede robar credenciales, obtener tokens ni asegurar ningún canal de exfiltración, recurre a una destrucción catastrófica de datos», afirmaron los investigadores de seguridad Yuval Ronen e Idan Dardikman. «Esto marca una escalada significativa con respecto a la primera ola, cambiando las tácticas del actor del robo de datos al sabotaje punitivo».

Para mitigar el riesgo que representa la amenaza, se insta a las organizaciones a escanear todos los endpoints para detectar la presencia de paquetes afectados, eliminar las versiones comprometidas con efecto inmediato, rotar todas las credenciales y auditar los repositorios en busca de mecanismos de persistencia revisando .github/workflows/ en busca de archivos sospechosos como shai-hulud-workflow.yml o ramas inesperadas.

Actualización: aquí se pueden ver los repositorios infectados (>25.000) y @jackhcable ha publicado un sitio web para comprobar si tienes paquetes afectados. Sube tu archivo package-lock.json o package.json para comprobar si tu proyecto utiliza algún paquete afectado.