Axios Secuestrado en npm — Versiones Maliciosas Instalaron un Troyano en Millones de Máquinas
Un atacante comprometió la cuenta npm del mantenedor principal de Axios y publicó dos versiones envenenadas — 1.14.1 y 0.30.4 — que instalaban un troyano de acceso remoto en macOS, Windows y Linux. Los paquetes estuvieron activos unas tres horas antes de ser retirados.
Dos versiones de Axios — el cliente HTTP presente en prácticamente todo proyecto Node.js — fueron comprometidas esta madrugada. Las versiones 1.14.1 y 0.30.4 incluían una dependencia oculta llamada plain-crypto-js@4.2.1 que instalaba silenciosamente un troyano de acceso remoto en cada máquina que ejecutara npm install.
La librería tiene 83 millones de descargas semanales. Los paquetes maliciosos estuvieron activos entre las 00:21 y las 03:15 UTC del 31 de marzo de 2026.
Cómo funcionó el ataque
El atacante comprometió el token de acceso clásico de npm de Jason Saayman, mantenedor principal de Axios, y lo usó para publicar las dos versiones envenenadas. La dependencia maliciosa ejecutaba un archivo ofuscado setup.js mediante el hook postinstall de npm — el troyano se instalaba en el instante de correr npm install, antes de importar nada en código.
El payload se adaptaba a cada plataforma:
- macOS: AppleScript descargaba un binario C++ desde
sfrclak.com:8000, lo guardaba en/Library/Caches/com.apple.act.mondy lo ejecutaba vía/bin/zsh - Windows: PowerShell descargaba un script RAT, creaba
%PROGRAMDATA%\system.baty añadía una clave en el Registro para persistencia - Linux: Un script RAT en Python aterrizaba en
/tmp/ld.pyy se ejecutaba connohup
Las tres variantes reportaban a un servidor C2 cada 60 segundos, con capacidad de ejecutar comandos arbitrarios, enumerar archivos y procesos, e inyectar binarios en memoria en Windows.
Señales de atribución norcoreana
Elastic Security Labs detectó coincidencias entre el binario de macOS y WAVESHAPER, un backdoor en C++ que Mandiant atribuye a UNC1069 — un grupo de amenazas norcoreano. El atacante usó direcciones de Proton Mail (ifstap@proton.me, nrwise@proton.me) y el malware se autoeliminaba tras la ejecución, reemplazando package.json con una versión limpia para borrar rastros.
Qué hacer ahora mismo
Si ejecutaste npm install entre las 00:21 y las 03:15 UTC de hoy, revisa inmediatamente:
- Fija versiones seguras: baja a
axios@1.14.0oaxios@0.30.3 - Elimina el payload: borra
plain-crypto-jsdenode_modules - Busca artefactos: revisa
/Library/Caches/com.apple.act.mond(macOS),%PROGRAMDATA%\wt.exe(Windows) o/tmp/ld.py(Linux) - Rota todo: tokens de npm, claves AWS, claves SSH, credenciales cloud, secretos de CI/CD, valores de
.env— todo. El RAT tenía acceso total al sistema. - Bloquea tráfico saliente: filtra
sfrclak[.]comen tu infraestructura
Si encuentras cualquiera de esos artefactos, trata esa máquina como totalmente comprometida.
El problema de fondo
Este es el segundo ataque importante a la cadena de suministro npm en 2026. El modelo de confianza del ecosistema JavaScript — donde un solo token comprometido puede inyectar código en millones de máquinas al instante — sigue fundamentalmente roto. Axios no tenía publicación OIDC verificada, ni 2FA obligatorio en la cuenta del mantenedor, ni un periodo de espera que hubiera dado tiempo a la comunidad para detectar esto antes de distribuirse.
La comunidad ahora impulsa la versión 1.14.2 con publicación OIDC verificada. Mientras tanto, fija tus dependencias y audita tus lockfiles.
Lecturas relacionadas
- Ciberseguridad Hackers norcoreanos infiltraron malware en 131 paquetes npm tras hacer ingeniería social a un empleado de Mastra AI en LinkedIn
- Ciberseguridad RCE crítico en SharePoint (CVE-2026-50522, CVSS 9.8) bajo explotación activa — los atacantes roban claves de máquina
- Ciberseguridad El gusano npm de TanStack compromete más de 170 paquetes y vulnera 3.800 repositorios internos de GitHub