Una nueva alerta emitida desde varios colectivos de investigadores y consultores en ciberseguridad ha escalado su relevancia debido al serio impacto que implica en ataques a cadena de suministro: Se detectó que actores maliciosos han logrado comprometer mediante un gusano informático el ecosistema NPM, el cual es reconocido como la biblioteca de componentes de software tipo código abierto mas grande que existe y es empleada por gran cantidad de desarrolladores para diferentes proyectos web. La criticidad del evento se consolida en mayor medida cuando la descripción de la cadena de despliegue y ataque del gusano denominado “Shai-Hulud” destacan por su movimiento sigiloso y extendido.
Descripción del Evento
En septiembre de 2025, se identificó un ataque masivo contra NPM (Node Package Manager) en el que más de 40 paquetes fueron comprometidos. Los primeros ataques verificados y analizados indican que los actores maliciosos lograron secuestrar las cuentas de varios mantenedores, inyectando payloads maliciosos en versiones legítimas de librerías. Dichos payloads fueron parametrizados con el objetivo de exfiltrar credenciales, claves API e inclusive billeteras de criptomonedas desde los entornos de desarrollo y producción.
Este ataque hasta la fecha ha sido considerado uno de los incidentes de cadena de suministro más significativos de 2025, no solo por la cantidad de paquetes afectados, sino por la interrupción temporal de miles de pipelines de CI/CD que dependían de ellos. Lo que hace especialmente peligroso este ataque es su capacidad de autopropagación. Una vez que un paquete quedaba comprometido, el malware incluía una función que automáticamente descargaba, modificaba e inyectaba código malicioso en otros paquetes mantenidos por la misma cuenta vulnerada. En otras palabras, cada paquete infectado se convertía en un nuevo punto de distribución, creando un efecto dominó.
Impacto preliminar sobre el ecosistema NPM
Entre los paquetes comprometidos se encuentran dependencias fundamentales que millones de desarrolladores utilizan diariamente, solo por mencionar las más populares:
- chalk (~300 millones de descargas semanales): Una biblioteca esencial para dar formato a texto en terminal.
- debug (~357 millones de descargas semanales): Una utilidad de depuración prácticamente omnipresente.
- strip-ansi (~261 millones de descargas semanales): Herramienta para procesar códigos ANSI.
- color-convert (~193 millones de descargas semanales): Para conversión entre espacios de color.
- crypto-utils (~1,200 descargas semanales): Utilidades criptográficas para operaciones con números grandes, funciones hash y generación segura de números aleatorios.
- data-formatter (~11.4 millones descargas semanales): Funciones para formateo y transformación de datos, especialmente para fechas.

Ahora bien, si se dimensiona la afectación en términos de todo el ecosistema Javascript actual es necesario mencionar que los paquetes implican alcance hasta:
- Aplicaciones web frontend desarrolladas con React, Angular y Vue.js
- Aplicaciones backend construidas con Node.js y Express
- Herramientas de desarrollo como Webpack, Rollup y Vite
- Sistemas de CI/CD que ejecutan pipelines de construcción automatizados
Una viralización empleando supuesta afectación a CrowdStrike
Dentro de las revelaciones más inquietantes fue el descubrimiento de 22 paquetes falsos que utilizaban el namespace @crowdstrike. Estos incluían nombres como:
- @crowdstrike/commitlint
- @crowdstrike/falcon-shoelace
- @crowdstrike/foundry-js
- @crowdstrike/logscale-dashboard
Aunque CrowdStrike confirmó que estos paquetes maliciosos no afectaron su sensor Falcon ni comprometieron la protección de sus clientes, la situación pone en evidencia cómo los actores maliciosos intentaron capitalizar la reputación de una marca reconocida en el ámbito de la ciberseguridad si consideramos noticias en paralelo asociadas a dicha entidad, como por ejemplo el inconveniente BSOD CrowdStrike en junio de 2024.

Análisis de la cadena de ataque del gusano Shai-Hulud
El esquema contextualizado en matriz MITRE ATT&CK agrupa cerca de 9 tácticas específicas:
1. Fase de Infiltración Inicial
- Phishing dirigido: Correo electrónico fraudulento simulando una alerta de seguridad oficial de NPM
- Robo de credenciales: El desarrollador víctima revela sus credenciales de acceso
- Compromiso de cuenta: Los atacantes toman control de la cuenta NPM del desarrollador
2. Fase de Despliegue del Malware
- Publicación maliciosa: Subida de un paquete NPM infectado a la plataforma
- Ejecución automática: Al instalarse, el paquete ejecuta código JavaScript malicioso
- Establecimiento de persistencia: Scripts de shell de Unix se incrustan para mantener el control
3. Fase de Escalación y Propagación
- Autenticación en GitHub: Uso de tokens robados para acceder a la API de GitHub
- Enumeración de repositorios: Verificación de permisos y mapeo de repositorios accesibles (incluidos privados)
- Clonación masiva: Copia de repositorios privados a cuentas controladas por atacantes
- Implementación de workflows maliciosos: Creación de ramas y flujos automatizados para el robo continuo
4. Fase de Exfiltración de Datos
- Instalación de herramientas: Descarga e implementación de TruffleHog para escaneo de secretos
- Extracción de información confidencial: Búsqueda automatizada de credenciales y datos sensibles
- Exposición pública: Conversión de repositorios privados a públicos con historial completo
- Transmisión de datos: Envío automatizado de información robada mediante solicitudes web
5. Impacto y Escalabilidad
- Propagación en cadena: Una sola cuenta comprometida desencadena infección masiva
- Automatización completa: Mínimo esfuerzo requerido por parte del atacante después del despliegue inicial
- Compromiso masivo: Cientos de paquetes potencialmente afectados antes de la detección
- Erosión de confianza: Impacto significativo en la adopción de dependencias de código abierto

Más paquetes afectados y recopilación de otros IoC
Las iniciativas en cuanto a la generación de documentación suficiente y disponible para que los equipos de seguridad TI en las organizaciones puedan tomar medidas oportunas han ocasionado también la viralización de listados frecuentemente actualizados con paquetes puntualmente identificados. A continuación se presenta un Gist de Github con casi 198 paquetes identificados, cortesía de Checkmarx Ltd.
También se incluyen los siguientes IoC:
| Tipo | IoC | Descripción |
|---|---|---|
| URL | https://webhook[.]site/bb8ca5f6-4175-45d2-b042-fc9ebb8170b7 | URL única y aleatoria que se puede usar para probar y depurar Webhooks y solicitudes HTTP |
| Archivo | 46faab8ab153fae6e80e7cca38eab363075bb524edd79e42269217a083628f09b74caeaa75e077c99f7d44f46daaf9796a3be43ecf24f2a1fd381844669da777dc67467a39b70d1cd4c1f7f7a459b35058163592f4a9e8fb4dffcbba98ef210c4b2399646573bb737c4969563303d8ee2e9ddbd1b271f1ca9e35ea78062538db | Archivo javascript llamado “bundle.js” asociado a los hashes del recuadro anterior |
| Archivo | “shai-hulud-workflow.yml” | Flujo de carga de trabajo desde GitHub |
| Nombre de flujo de trabajo | “shai-hulud” | Flujo de trabajo que se asocia al repositorio y carga de trabajo detectada en GitHub |
Acciones recomendadas en el marco de la respuesta inmediata
- Realizar auditoría completa de las dependencias empleadas por el equipo de desarrollo en los proyectos corporativos, se recomienda seguir el siguiente esquema de script:

- Realizar la respectiva rotación de:
- Tokens de NPM y GitHub
- Claves AWS y credenciales de servicios cloud
- Secretos de API y certificados de seguridad
- Credenciales de sistemas CI/CD
- Aplicar buenas prácticas de desarrollo asociadas a la gestión defensiva de dependencias:

- Implementar verificación sistemática de checksums y firmas criptográficas
- Utilizar npm audit de forma continua en los pipelines
- Establecer políticas obligatorias de lock files (package-lock.json)
- Integrar escaneo automático de vulnerabilidades en pipelines CI/CD
- Configurar alertas para cambios inesperados en dependencias
- Aprovechar herramientas especializadas como Snyk, Socket o Dependabot
Conclusiones
Nos encontramos en un punto de inflexión: podemos permitir que este tipo de ataques erosionen gradualmente la confianza en el código abierto, o podemos utilizarlos como catalizadores para construir un ecosistema fundamentalmente más seguro y robusto que beneficie a toda la comunidad global de desarrolladores.
El futuro de la seguridad del software depende de nuestra capacidad colectiva para extraer lecciones de incidentes como Shai-Hulud y construir defensas más resilientes contra la próxima generación de amenazas.
Referencias:
- https://www.trendmicro.com/en_us/research/25/i/npm-supply-chain-attack.html
- https://thehackernews.com/2025/09/40-npm-packages-compromised-in-supply.html
- https://www.dynamisllp.com/knowledge/npm-supply-chain-attack-crypto-security-2025
- https://checkmarx.com/zero-post/npm-hit-by-shai-hulud-the-self-replicating-supply-chain-attack/
- https://arcticwolf.com/resources/blog-uk/wormable-malware-cause-supply-chain-compromise-of-npm-code-packages/
- https://www.paloaltonetworks.com/blog/cloud-security/npm-supply-chain-attack/


