Ataque supply chain de Shai-Hulud afecta a millones en npm

Contenido del artículo
El ecosistema de desarrollo de software en Node.js acaba de sufrir uno de los golpes más devastadores y sofisticados de su historia. La detección de una variante altamente autopropagable del gusano de la familia de malware Shai-Hulud (identificada por analistas como CHAINDROP o Mini Shai-Hulud) ha encendido las alarmas de agencias internacionales de ciberseguridad, incluyendo la Cyber Security Agency de Singapur (CSA) y los equipos de inteligencia de Microsoft Threat Intelligence, Wiz y Datadog. Este masivo ataque supply chain comenzó tras la vulneración de la cuenta en GitHub del mantenedor principal de la librería de almacenamiento keyv, un componente fundamental en el desarrollo web que registra más de 120 millones de descargas semanales. En un lapso menor a cuatro horas, el gusano infectó de manera automatizada más de 1,300 versiones de paquetes dentro del registro público npm, arrastrando a dependencias utilitarias como cacheable, flat-cache, file-entry-cache y cache-manager. En conjunto, estas librerías están presentes en proyectos que acumulan más de 2,000 millones de descargas mensuales y se encuentran instaladas en más del 46% de los entornos de nube a nivel mundial.
Anatomía del Ataque Supply Chain: El Colapso de la Confianza en npm
A diferencia de incidentes anteriores donde los ciberdelincuentes aprovechaban la suplantación de nombres (typosquatting) o publicaciones huérfanas sin firmas de seguridad, esta operación eludió los controles de integridad tradicionales mediante un vector de ataque sumamente pulido. Atribuido preliminarmente al grupo de amenazas TeamPCP, el ataque no intentó falsificar la procedencia del código, sino que comprometió directamente la identidad digital del mantenedor en GitHub (jaredwray). Con este acceso legítimo, los atacantes inyectaron código malicioso en la rama principal de los repositorios y activaron flujos de trabajo legítimos en GitHub Actions.
Debido a que el proceso de compilación y empaquetado se ejecutó mediante los canales oficiales configurados con la autenticación OIDC (OpenID Connect) de npm, los paquetes infectados fueron publicados en el registro oficial con atestaciones de providencia SLSA (Supply-chain Levels for Software Artifacts) totalmente válidas. Esta validación oficial provocó que las herramientas automatizadas de escaneo de vulnerabilidades y los sistemas de integración continua (CI/CD) confiaran ciegamente en los artefactos alterados, demostrando que la autenticidad técnica del proceso de construcción es insuficiente cuando la cuenta del desarrollador o del flujo de CI/CD ha sido capturada.
Mecanismo Técnico de Ejecución: Cadena de Infección en Tres Fases
La ejecución técnica del gusano Shai-Hulud destaca por su agresividad y diseño multiplataforma, logrando infectar sistemas operativos Windows, macOS y Linux de forma silenciosa e instantánea. La cadena de infección se estructura en las siguientes fases operativas:
1. Disparo Automático mediante Enganches de Instalación
El código malicioso aprovecha los scripts del ciclo de vida de npm, específicamente el gancho preinstall registrado dentro del archivo package.json. En el momento exacto en que un desarrollador o un servidor de integración continua ejecuta comandos estándar como npm install o npm ci, la rutina maliciosa se activa de forma automática sin requerir interacción del usuario ni la ejecución explícita del código de la aplicación.
2. Despliegue de Carga Útil con Runtime Bun Integrado
El gancho preinstall ejecuta de inmediato un script contenedor denominado setup.mjs. Para garantizar la ejecución rápida de cargas útiles complejas y evadir las restricciones estándar de depuración en Node.js, este cargador descarga e instala un binario independiente del runtime de JavaScript Bun. Utilizando Bun, el gusano procede a desencriptar y ejecutar la carga útil principal fuertemente ofuscada, identificada en los análisis forenses bajo los nombres Math_Symbol.js y math_init.js.
3. Resolución C2 vía Ethereum y Cadena de Exfiltración
Para la infraestructura de comando y control (C2), los atacantes implementaron una técnica altamente resistente al derribo (takedown
Escrito por
TempMail Ninja
Experto en privacidad digital y seguridad en línea. Apasionado por crear herramientas que protejan la identidad de los usuarios en internet.


