Recientemente, la comunidad de Node Package Manager (NPM) sufrió un ataque a gran escala en el que se comprometieron 18 paquetes ampliamente utilizados, todos con millones de descargas semanales. Los paquetes afectados fueron:
- ansi-regex (243,64 M)
- supports-color (287,1 M)
- strip-ansi (261,17 M)
- color-string (27,48 M)
- error-ex (47,17 M)
- color-name (191,71 M)
- is-arrayish (73,8 M)
- slice-ansi (59,8 M)
- color-convert (193,5 M)
- chalk (299,99 M)
- debug (357,6 M)
- ansi-styles (371,41 M)
- has-ansi (12,1 M)
- simple-swizzle (26,26 M)
- backslash (0,26 M)
- chalk-template (3,9 M)
- supports-hyperlinks (19,2 M)
- wrap-ansi (197,99 M)
En conjunto, estos paquetes suman más de 2.000 millones de descargas semanales, lo que refleja la magnitud del impacto.
También te podría interesar: ¿Qué es la Falla Crítica de Amazon ECS y Cómo Mitigarla?
Mecanismo del ataque
Los paquetes se actualizaron para contener un fragmento de código que se ejecutaría en el cliente de un sitio web. Este código intercepta silenciosamente la actividad criptográfica y de web3 en el navegador, manipula las interacciones de la billetera y reescribe los destinos de pago para que los fondos y las aprobaciones se redirijan a cuentas controladas por el atacante, todo ello sin ninguna señal obvia para el usuario.
El ataque se produjo tras un exitoso phishing dirigido a un mantenedor, quien fue inducido a entregar sus credenciales de autenticación de dos factores mediante un dominio falso (npmjs.help). Con este acceso, los atacantes pudieron introducir código malicioso en bibliotecas críticas como Chalk y Debug, que se encuentran profundamente integradas en los árboles de dependencias de miles de proyectos, tanto de front-end como de back-end.
Puntos clave para la seguridad
Expertos en seguridad destacan que este incidente es un punto de inflexión en la seguridad de la cadena de suministro de software:
- Se evidencia la fragilidad de confiar ciegamente en dependencias transitivas y en registros oficiales previamente verificados.
- Subraya la necesidad de gestionar dependencias como activos vivos, con prácticas como el uso de SBOM (Software Bill of Materials), validación continua y monitoreo de comportamiento en tiempo de ejecución.
- Resalta la urgencia de reforzar la protección de identidad de los mantenedores, implementando MFA resistente al phishing, detección de anomalías y mayor gobernanza en los ecosistemas de código abierto.
- Deja claro que la seguridad del código abierto no depende únicamente de su transparencia, sino de la solidez de los controles de identidad, la revisión de cambios y la verificación de la procedencia.
Este ataque expone la vulnerabilidad sistémica del ecosistema de npm: una sola cuenta comprometida puede contaminar la cadena de suministro global de software. El caso obliga a replantear la manera en que las organizaciones gestionan sus dependencias y confirman la procedencia del software, con el fin de reducir la superficie de ataque en futuros incidentes.
Con amenazas tan sofisticadas como los ataques a la cadena de suministro, no basta con la protección tradicional. En E-dea Networks junto a LevelBlue, combinamos inteligencia de amenazas, visibilidad unificada y detección avanzada para ayudar a las organizaciones a blindar sus entornos frente a vulnerabilidades en dependencias y terceros. Nuestro enfoque permite reducir riesgos de forma proactiva y fortalecer la confianza digital en cada etapa del ciclo de desarrollo.
Referencias:
- https://www.securitymagazine.com/articles/101894-2b-weekly-downloads-at-risk-supply-chain-attack-targets-popular-npm-packages-security-leaders-discuss
- https://www.aikido.dev/blog/npm-debug-and-chalk-packages-compromised