Shai-Hulud: cuando un incidente en la cadena de suministro se convierte en un Worm

26 de noviembre de 2025
Lucie Cardiet
Responsable de investigación de ciberamenazas
Shai-Hulud: cuando un incidente en la cadena de suministro se convierte en un Worm

En septiembre publiqué un artículo sobre el incidente de NPM y por qué el exploit inicial es solo el punto de partida de un ataque.

Ese ataque fue selectivo y bastante sencillo. Se suplantó la identidad de un mantenedor, se contaminaron algunos paquetes y el objetivo se limitó al robo de criptomonedas.

Shai-Hulud adopta un enfoque muy diferente. No depende de que la víctima haga clic en nada y no se detiene en la máquina inicial en la que aterriza. En su lugar, utiliza la confianza integrada en el ecosistema de software para pasar de un entorno a otro. Al hacerlo, convierte la propia cadena de suministro en una red de distribución.

Un Worm a plena vista

Wiz Research acaba de publicar un excelente análisis de los comportamientos técnicos que hay detrás de Shai-Hulud. A continuación, ofrecemos un breve resumen de cómo worm este worm en la práctica:

1. La instalación se convierte en ejecución.

En el momento en que un desarrollador o un canal de integración continua instala un paquete infectado, la carga útil se ejecuta automáticamente. No hay ningún aviso ni indicador evidente de que esté ocurriendo algo inusual. El worm dentro de los pasos rutinarios de compilación, por lo que la ejecución inicial pasa desapercibida.

2. Elude los controles de seguridad habituales cambiando los entornos de ejecución.

La mayor parte del desarrollo de JavaScript se basa en Node.js, el motor detrás de npm y el que supervisan la mayoría de los equipos. Las herramientas de seguridad, el registro y el escaneo se crean en torno a Node.

Shai-Hulud evita esto descargando y ejecutando su carga útil con Bun, un entorno de ejecución más nuevo y de alto rendimiento que no suele supervisarse. Para el sistema, Bun parece otra herramienta de desarrollo. Para el atacante, es una vía silenciosa con muchos menos controles.

Este sencillo cambio en el tiempo de ejecución ayuda al worm a eludir muchas de las barreras de seguridad en las que los equipos esperan confiar.

3. Recopila cualquier acceso que pueda encontrar.

Una vez en funcionamiento, el malware busca sistemáticamente acceso. Busca:

  • Tokens NPM
  • Credenciales de GitHub
  • Secretos de CI/CD
  • Claves API
  • Cloud de servicios de metadatos

Las computadoras portátiles de los desarrolladores, los servidores de compilación y cloud reciben el mismo trato. Si un sistema tiene acceso, el worm lo worm .

4. Divulga los datos robados públicamente de forma deliberada.

En lugar de enviar los datos a un servidor de comando y control, el worm crea repositorios públicos de GitHub en la cuenta de la víctima y sube allí los secretos robados. Esto elimina la necesidad de una infraestructura oculta y deja las credenciales confidenciales expuestas a cualquiera que sepa dónde buscarlas.

Como dijo Dmitriy durante el podcast que grabamos sobre Shai Hulud:«Es como difundir información robada por la radio pública».

5. Se propaga aprovechando la confianza existente de la víctima.

Si un mantenedor comprometido gestiona varios paquetes, Shai-Hulud vuelve a publicar versiones maliciosas en todos ellos. Si un token de GitHub da acceso a varios repositorios, esos repositorios se convierten en los siguientes puntos de inyección. El worm aprovechando la confianza que la víctima ya tiene en el ecosistema. Así es como pasa de unos pocos paquetes a cientos.

6. Planta una puerta trasera persistente a través de GitHub Actions.

El malware instala un ejecutor GitHub Actions autohospedado en el equipo de la víctima y genera un flujo de trabajo que se activa cada vez que alguien abre una discusión en GitHub. Esto le proporciona al atacante un punto de apoyo silencioso y duradero.

Los comandos ejecutados a través de un hilo de discusión se ejecutan directamente en el sistema comprometido, integrándose con la automatización normal.

7. Lleva un limpiador para retroceso destructivo.

En determinadas condiciones, el malware borrar archivos del host. No todos los entornos lo activarían, pero esta capacidad añade otra capa de riesgo: el ataque no se limita al robo, sino que también tiene el potencial de interrumpir por completo el desarrollo.

El problema más profundo: las cadenas de suministro difunden la confianza más rápido de lo que los defensores pueden supervisarla.

Todo lo que hace Shai-Hulud se ajusta a los flujos de trabajo normales de desarrollo y automatización:

  • instalación de dependencias
  • ejecutar scripts
  • paquetes de publicación
  • hablando con GitHub
  • consultar cloud

Ninguno de estos comportamientos es sospechoso por sí solo. Son operaciones cotidianas.

Esto es lo que hace que el worm . No se comporta como malware. Se comporta como un desarrollo y se basa en la confianza que los flujos de trabajo de desarrollo heredan por defecto:

  • Las máquinas de los desarrolladores conservan tokens de larga duración.
  • Las canalizaciones CI ejecutan código automáticamente.
  • Cloud conllevan amplios permisos.
  • El control de código fuente actúa como plataforma de colaboración y motor de automatización.

Shai-Hulud simplemente sigue la confianza.

Ver el Worm comportamiento, no de las firmas

Los ataques modernos a la cadena de suministro se revelan a través de patrones de actividad más que de indicadores estáticos. Shai-Hulud deja señales como:

  • Un token de GitHub que crea docenas de repositorios de la nada.
  • Un ejecutor de CI que lee cloud a un volumen que no se corresponde con su trabajo.
  • Una estación de trabajo que de repente ejecuta un nuevo ejecutor de automatización.
  • cloud que utiliza servicios con los que nunca ha tenido contacto.
  • Una máquina que sube grandes cantidades de datos a GitHub.

Cada acción es normal. La secuencia no lo es. Aquí es donde Vectra AI en escena. La plataforma no intenta bloquear la instalación de paquetes. Observa lo que ocurre después de que se ejecuta el código, en todos los sistemas de identidad, redes y cloud . Correlaciona la actividad inusual de las cuentas, el movimiento inesperado de datos y cloud que no se ajustan a los patrones establecidos. Ese contexto ayuda a los equipos de seguridad a ver la cadena completa del ataque, en lugar de una serie de eventos aislados. Y en incidentes de la cadena de suministro como Shai-Hulud, el contexto lo es todo.

Si quieres ver cómo funciona la funcionaVectra AI funciona en la práctica, puede explorarla en nuestra demostración autoguiada.

Preguntas frecuentes