Varios paquetes de npm se vieron comprometidos como parte de un ataque a la cadena de suministro de software después de que la cuenta de un mantenedor se viera comprometida en un ataque de suplantación de identidad.
El ataque tuvo como objetivo a Josh Junon (también conocido como Qix ), que recibió un mensaje de correo electrónico que imitaba a npm («support @npmjs [.] help») en el que se le instaba a actualizar sus credenciales de autenticación de dos factores (2FA) antes del 10 de septiembre de 2025, haciendo clic en el enlace incrustado.
Se dice que la página de suplantación de identidad incitó al comantenedor a introducir su nombre de usuario, contraseña y token de autenticación de dos factores (2FA), solo para que lo robaran, probablemente por medio de un adversario intermedio ( AITM ) atacan y se utilizan para publicar la versión falsa en el registro de npm.
Se ha confirmado que los 20 paquetes siguientes, que en conjunto atraen más de 2 mil millones de descargas semanales, se vieron afectados como parte del incidente -
- ansi-regex @6 .2.1
- ansi-styles @6 .2.2
- barra invertida @0 .2.1
- tiza @5 .6.1
- plantilla de tiza @1 .1.1
- conversión de color @3 .1.1
- nombre del color @2 .0.1
- cadena de colores @2 .1.1
- depurar @4 .4.2
- error-ex @1 .3.3
- has-ansi @6 .0.1
- is-arrayish @0 .3.3
- proto-tinker-wc @1 .8.7
- admite hipervínculos @4 .1.1
- simple-swizzle @0 .2.3
- slice-ansi @7 .1.1
- strip-ansi @7 .1.1
- admite color @10 .2.1
- admite hipervínculos @4 .1.1
- wrap-ansi @9 .0.1
«Lo siento a todos, debería haber prestado más atención», Junon dijo en una publicación en Bluesky. «No como yo; he tenido una semana estresante. Trabajaré para limpiar esto».
Un análisis del malware ofuscado inyectado en el código fuente revela que está diseñado para interceptar las solicitudes de transacciones en criptomonedas e intercambiar la dirección del monedero de destino por un monedero controlado por un atacante que coincida estrechamente con él calculando el Distancia de Levenshtein .
Según Charlie Eriksen, de Aikido Security, la carga útil actos como un interceptor basado en un navegador que secuestra el tráfico de la red y las API de las aplicaciones para robar activos de criptomonedas al reescribir las solicitudes y respuestas. Actualmente no se sabe quién está detrás del ataque.
«¡La carga útil comienza comprobando el tipo de ventana! == 'indefinido' para confirmar que se está ejecutando en un navegador», Socket dijo . «Luego se conecta a window.fetch, XMLHttpRequest y window.ethereum.request, junto con otras API de proveedores de monederos».
«Esto significa que el malware se dirige a los usuarios finales con carteras conectadas que visitan un sitio que incluye el código comprometido. Los desarrolladores no son por naturaleza el objetivo, pero si abren un sitio afectado en un navegador y conectan un monedero, también se convierten en víctimas».
Los ecosistemas de paquetes como npm y el Python Package Index (PyPI) siguen siendo objetivos recurrentes debido a su popularidad y amplio alcance dentro de la comunidad de desarrolladores, y los atacantes abusan de la confianza asociada a estas plataformas para enviar cargas maliciosas.
Además de publicar paquetes maliciosos directamente, los atacantes también han empleado técnicas como la ocupación tipográfica o incluso la explotación de dependencias alucinadas por la IA, denominadas en cuclillas en pendiente — para engañar a los desarrolladores para que instalen malware. En una ocasión, el incidente puso de manifiesto la necesidad de mantener la vigilancia y reforzar las canalizaciones de CI/CD y bloquear las dependencias.
Según 2025 de ReversingLabs Informe de seguridad de la cadena de suministro de software , 14 de las 23 campañas maliciosas relacionadas con las criptomonedas en 2024 se dirigieron a npm, y el resto se vinculó a PyPI.
«Lo que estamos viendo con los paquetes npm chalk y debug es un ejemplo lamentablemente común hoy en día en la cadena de suministro de software», dijo Ilkka Turunen, CTO de campo de Sonatype, a The Hacker News.
«La carga maliciosa se centraba en el robo de criptomonedas, pero esta toma de posesión sigue a un ataque clásico que ya está establecido: al apoderarse de paquetes populares de código abierto, los adversarios pueden robar secretos, dejar puertas traseras e infiltrarse en las organizaciones».
«No fue una elección aleatoria apuntar al desarrollador de estos paquetes. La apropiación de paquetes es ahora una táctica estándar para los grupos de amenazas avanzadas y persistentes, como Lazarus, porque saben que pueden llegar a una gran parte de la población mundial de desarrolladores infiltrándose en un solo proyecto con pocos recursos».