El ecosistema de JavaScript ha sufrido uno de sus golpes más significativos de los últimos años. Axios, la librería cliente HTTP con más de 100 millones de descargas semanales, fue comprometida en el registro oficial de npm. No se trató de un error de código, sino de un ataque de cadena de suministro (Supply Chain Attack) dirigido.
🔍 ¿Qué ocurrió exactamente?
Entre el 30 y el 31 de marzo de 2026, actores de amenazas (vinculados por Microsoft y Google al grupo Sapphire Sleet) lograron comprometer la cuenta de uno de los mantenedores principales del proyecto.
Con este acceso, publicaron dos versiones «envenenadas» que estuvieron disponibles durante aproximadamente 3 horas:
- Versión 1.14.1
- Versión 0.30.4
⚙️ La Anatomía del Ataque: El «Paquete Fantasma»
- Inyección de Dependencia: Los atacantes modificaron el package.json de Axios para incluir una librería maliciosa llamada plain-crypto-js@4.2.1.
- Ejecución Silenciosa: Aprovecharon el hook de postinstall de npm. En cuanto un desarrollador o un servidor de CI/CD ejecutaba npm install, el script setup.js de la dependencia maliciosa se ejecutaba automáticamente sin intervención del usuario.
- Payload Multiplataforma: El ataque desplegó un RAT (Remote Access Trojan) diseñado para ejecutarse en Windows, macOS y Linux, permitiendo la exfiltración de credenciales y el control remoto del sistema.
- Auto-borrado (Anti-forensics): Una vez instalado el malware, el script reemplazaba los archivos maliciosos con versiones limpias para evadir la detección de escaneos posteriores.
🛠️ ¿Cómo saber si estás afectado?
Si instalaste o actualizaste dependencias entre las 00:21 y las 03:20 UTC del 31 de marzo de 2026, es probable que tu entorno esté comprometido.
Pasos inmediatos a seguir:
- Revisar archivos de bloqueo: Busca en tu package-lock.json o yarn.lock la presencia de plain-crypto-js.
- Downgrade inmediato: Fuerza la versión de Axios a una segura: 1.14.0 o 0.30.3.
- Rotación de Secretos: Si tu pipeline de CI/CD ejecutó las versiones afectadas, debes considerar comprometidas todas tus variables de entorno, llaves de API y credenciales de acceso a la nube.
- Limpieza de caché: Ejecuta npm cache clean –force para asegurar que no queden rastros de las versiones infectadas en tu máquina local.
💡 La Lección para Desarrolladores
Este incidente resalta la fragilidad del ecosistema open-source. Aunque npm eliminó los paquetes rápidamente, el daño en las primeras horas fue masivo.
Buenas prácticas post-incidente: - Pinning de versiones: No confíes ciegamente en el símbolo ^ en tu package.json. Usa versiones exactas o herramientas de auditoría de dependencias en tiempo real.
- 2FA Obligatorio: Este ataque fue posible por el secuestro de una cuenta. La autenticación de dos factores en registros de paquetes no es opcional, es vital.
- Escaneo de dependencias: Implementa herramientas que bloqueen automáticamente la instalación de paquetes con CVEs críticos conocidos en tu CI/CD.
Precisión técnica: El ataque ha sido atribuido a grupos de amenazas estatales debido a la infraestructura de C2 (Comando y Control) utilizada, lo que eleva el perfil de riesgo de este incidente a nivel de seguridad nacional para muchas organizaciones.
¿Ya revisaste tus proyectos hoy? Cuéntame en los comentarios si encontraste rastro de estas versiones en tus logs. 🛡️💻


