Article
5 ago 2026
Gusano Shai-Hulud compromete más de 1,280 paquetes npm
El gusano Shai-Hulud ha infectado más de 1,280 paquetes npm, afectando sistemas de integración continua y exponiendo credenciales críticas. Este ataque destaca la vulnerabilidad en la cadena de suministro de software.
Ataque a la cadena de suministro de software a través de npm
El ecosistema npm, una plataforma esencial para desarrolladores que buscan gestionar paquetes de software en JavaScript, ha sido el blanco de un ataque significativo. npm es ampliamente utilizado por empresas tecnológicas y desarrolladores independientes para compartir y reutilizar código, facilitando el desarrollo ágil de aplicaciones. Sin embargo, esta dependencia también lo convierte en un objetivo atractivo para los ciberdelincuentes. En este caso, el ataque fue identificado como una variante del gusano Shai-Hulud, un malware conocido por su capacidad para robar credenciales y comprometer sistemas.
El ataque fue descubierto por Aikido Security, quienes rastrearon su origen hasta la cuenta de GitHub de Jared Wray, el mantenedor del paquete Keyv. Keyv es una biblioteca de almacenamiento clave-valor que recibe aproximadamente 127 millones de descargas semanales, subrayando la magnitud del riesgo potencial. El ataque explotó el proceso legítimo de publicación de GitHub Actions para inyectar archivos maliciosos directamente en la rama principal del proyecto, publicando así la versión comprometida 6.0.0 de Keyv.
Detalles del incidente y método de ataque
El gusano Shai-Hulud se infiltró inicialmente en paquetes relacionados con Keyv, incluyendo flat-cache, file-entry-cache, y cacheable-request, entre otros. Cada uno de estos paquetes contenía archivos adicionales denominados setup.mjs y Math_Symbol.js. Además, se añadió un comando de ciclo de vida al archivo package.json: "preinstall": "node setup.mjs". Este comando permite que setup.mjs se ejecute antes de que finalice la instalación en clientes npm que permiten scripts de ciclo de vida de dependencias.
Una vez ejecutado, setup.mjs descarga Bun versión 1.3.13 desde GitHub y lanza Math_Symbol.js, un payload obfuscado que busca tokens de autenticación npm, credenciales de GitHub, claves de AWS, secretos de Kubernetes, y otros datos sensibles. La información recolectada es cifrada y subida a un repositorio público de GitHub o, en caso de fallo, a npm-cache(.)com, como se detalla en el reporte de Hackread.
Alcance e impacto del ataque
Según Aikido Security, al menos 868 paquetes fueron afectados inicialmente, involucrando 1,381 versiones maliciosas. Estos paquetes, que en conjunto reciben más de dos mil millones de descargas mensuales, incluyen nombres vinculados a empresas reconocidas como Deliveroo, OneReach, ServiceTitan, Picsart y Qlik. Aunque la presencia de estos paquetes no confirma una brecha en las redes internas de dichas compañías, sí evidencia el abuso del acceso a la publicación de paquetes asociado a sus nombres.
Consecuencias para las organizaciones
Para las empresas, este incidente representa un riesgo significativo tanto a nivel operativo como reputacional. Las organizaciones que utilizan npm deben revisar sus sistemas para detectar cualquier ejecución de las versiones comprometidas, ya que simplemente eliminar los paquetes no anula las credenciales ya robadas. Es crucial que las empresas roten sus credenciales de npm, GitHub y otros servicios afectados, y examinen sus registros en busca de accesos no autorizados.
Consecuencias para los usuarios
Para los usuarios cuyas aplicaciones podrían depender de los paquetes comprometidos, el riesgo reside en la posible exposición de sus datos personales y credenciales. Se recomienda a los usuarios estar atentos a intentos de phishing o suplantación que puedan surgir a partir de la información robada. La revisión de las aplicaciones instaladas y la actualización a versiones no comprometidas es esencial para mitigar el riesgo.
Recomendaciones de acción
Para empresas:
Inspeccionar lockfiles para identificar versiones exactas de los paquetes afectados.
Rotar todas las credenciales de npm, GitHub, AWS y otros servicios utilizados.
Revisar logs en la nube y repositorios para detectar accesos o commits no autorizados.
Implementar escaneos manuales inmediatos de seguridad en lugar de esperar a escaneos programados.
Para individuos:
Verificar y actualizar las aplicaciones que dependen de los paquetes npm afectados.
Estar atentos a correos electrónicos sospechosos o intentos de acceso no reconocidos a sus cuentas.
Cambiar contraseñas y habilitar autenticación de dos factores en servicios críticos.
Cómo puede ayudar Tracewise
A nivel institucional, el servicio de Análisis de Exposición Digital de Tracewise puede ser crucial para identificar y mitigar riesgos potenciales derivados de este incidente. Las empresas pueden beneficiarse de un análisis exhaustivo que determine el alcance de la exposición de sus credenciales y datos críticos, permitiendo una respuesta informada y oportuna para proteger su reputación y operaciones.
A nivel individual, el mismo servicio permite a los usuarios comprender qué información personal podría estar expuesta debido a este ataque. Saber con precisión qué datos están en riesgo y en qué fuentes puede ayudar a los individuos a tomar medidas proactivas para proteger su información personal de posibles abusos. Escríbenos para más información.
