El 31 de marzo de 2026, el grupo de hackers UNC1069 compromete Axios, una de las librerías npm más descargadas del mundo (100+ millones de descargas semanales), mediante un ataque de ingeniería social sofisticada contra Jason Saayman, uno de sus mantenedores principales. Inyectan malware llamado plain-crypto-js en versiones 1.14.1 y 0.30.4 con objetivo de robar criptomonedas. En solo 2-3 horas, 83 millones de máquinas descargan la versión contaminada. Es el ataque más detallado jamás documentado contra la cadena de suministro npm.

El ataque a Axios fue un ataque de suministro dirigido a npm que utilizó ingeniería social individualizada contra los mantenedores del proyecto para comprometer sus credenciales, permitiendo la inyección de código malicioso en versiones del paquete ampliamente distribuidas a millones de desarrolladores en todo el mundo.

  • Ataque dirigido específicamente a mantenedores del repositorio Axios
  • Uso de ingeniería social para obtener acceso a credenciales
  • Inyección de código malicioso con capacidades de ejecución remota
  • Distribución a través de canales confiables de npm
  • Potencial impacto en millones de proyectos dependientes

En 30 segundos

  • UNC1069 suplantó a un fundador real, creó un workspace Slack clonado y una meeting MS Teams falsa para socavar a Jason Saayman
  • El ataque incluyó perfiles falsos de otros mantenedores OSS, posts LinkedIn fake y detalles tan creíbles que casi nadie lo notó
  • Se inyectó malware (plain-crypto-js) en Axios 1.14.1 y 0.30.4 el 31 de marzo a las 00:21 UTC
  • 83 millones de descargas en 2-3 horas antes de que npm retirara las versiones contaminadas
  • El objetivo: robar criptomonedas a empresas, desarrolladores y plataformas que usan Axios

Axios es una librería JavaScript que simplifica las llamadas HTTP. Cualquiera que haya armado un cliente API en los últimos 10 años probablemente la usó: funciona en navegadores, Node.js, React, Angular, Vue. Es tan popular que cuando vos haces un proyecto web medianamente serio, npm install axios termina siendo automático. Esto la convierte en un objetivo perfecto para un ataque en la cadena de suministro, porque miles de aplicaciones la descargan sin verificar nada.

Qué es Axios y por qué fue atacado

Axios es una librería de cliente HTTP basada en promesas que abstrae la complejidad de hacer requests. En lugar de usar fetch o jQuery AJAX, abris Axios, escribís dos líneas, y tenés tu request configurado. Es tan omnipresente que casi 100 millones de desarrolladores la descargan cada semana según npm.

¿Por qué atacarla? Porque si vos eres un hacker sofisticado (ej: UNC1069, un grupo presuntamente norcoreano que Google ha documentado) querés acceso a cuantos más servidores y billeteras posibles. Axios corre en servidores financieros, plataformas de criptomonedas, sistemas de trading, aplicaciones web corporativas. Si inyectás malware en una versión de Axios y esperas que millones de desarrolladores la descarguen sin fiarse mucho, tenés acceso potencial a infraestructura valiosa en todo el mundo.

El ataque: cómo funcionó la ingeniería social contra Jason Saayman

No fue un ataque de «fuerza bruta» ni robo de contraseña. Fue ingeniería social a la medida. Según el relato de Jason Saayman publicado el 3 de abril, los atacantes hicieron lo siguiente:

Primero, investigaron profundamente. Identificaron que Jason era mantenedor de Axios, vieron a qué empresas le importaba esa librería, analizaron su presencia en redes. Luego, seleccionaron a una empresa real (supuestamente un lugar donde Jason quería trabajar o con el que tenía relaciones), clonaron su logo, su sitio web, su visual identity. Crearon una cuenta que parecía ser el fundador legítimo de esa empresa.

Después escaló rápido. Lo invitaron a un workspace de Slack «de la empresa» (pero era falso). El workspace estaba diseñado perfectamente: canales con nombres creíbles, posts de LinkedIn que parecían venir de la cuenta real de la empresa (o al menos links que apuntaban ahí), perfiles de otros miembros del equipo, incluso perfiles falsos de otros mantenedores OSS conocidos. Era tan completo que te perdés en los detalles si no estás paranoico.

Programaron una meeting en Microsoft Teams. La meeting tenía «gente» (presumiblemente con nombres/fotos reales robadas). Alguien dijo algo tipo «tenés un software desactualizado en tu máquina» (un pretexto técnico que suena legítimo). Jason, pensando que era un problema técnico legítimo, descargó e instaló lo que creyó era una actualización de Teams. No era Teams.

Las etapas del ataque: del Slack falso a la instalación del malware

Lo que Jason instaló fue un Remote Access Trojan (RAT). Un programa que le da a los atacantes control total sobre su máquina. Una vez adentro, tenían acceso a sus credenciales npm, sus claves SSH, sus archivos locales, todo. Lo interesante es que el ataque no fue impulsivo: tomó semanas de preparación, reconocimiento y construcción de confianza dentro del workspace falso. Complementá con defensa en profundidad con microsegmentación.

Con acceso a la máquina de Jason (y presumiblemente a sus credenciales de npm), los atacantes inyectaron el malware directamente en el repositorio de Axios. No fue un pull request obvio que alguien rechaza. Fue un commit directo que pasó desapercibido, probablemente disfrazado de actualización legítima o refactoring.

El malware deplorado: plain-crypto-js y el acceso remoto

El malware se llamaba plain-crypto-js. Suena inocente (como si fuera una librería de criptografía). Se inyectó como una dependencia fantasma en Axios 1.14.1 y 0.30.4. Cubrimos ese tema en detalle en implementar microsegmentación para contener la brecha.

Versión afectadaFecha de releaseAcción
Axios 1.14.131 de marzo 2026, 00:21 UTCInyección de plain-crypto-js
Axios 0.30.431 de marzo 2026, 00:21 UTCInyección de plain-crypto-js
ataque cadena suministro npm diagrama explicativo

¿Qué hacía plain-crypto-js? Era un RAT moderno: exponía los procesos de JavaScript del usuario, podía acceder a variables de entorno (donde están guardadas las claves API, tokens, etc.), interceptaba requests HTTP, y se comunicaba silenciosamente con servidores de comando y control. El objetivo específico: robar criptomonedas de billeteras que tuvieran integración con Axios. Para más detalles, consultá nuestra fallas RCE como la del PolyShell.

El malware estaba diseñado para ser sigiloso. No mandaba logs a ningún lado, no abría ventanas emergentes, no ralentizaba la máquina. Simplemente se quedaba dormido, monitoreando, escuchando, robando.

Impacto real: 83 millones de descargas en 2-3 horas

Aquí es donde el ataque es especialmente devastador.

El release sucedió el 31 de marzo a las 00:21 UTC. Axios es tan popular que en solo 2-3 horas, antes de que alguien notara algo raro, npm reportó 83 millones de descargas de las versiones contaminadas. Eso no significa que 83 millones de máquinas distintas fueron atacadas (algunos descargan múltiples veces), pero sí significa que un número gigantesco de aplicaciones en producción terminaron con malware corriendo adentro.

El daño potencial: billeteras de criptomonedas comprometidas, claves privadas robadas, acceso a infraestructura de servidores empresariales, potencial robo de millones en stablecoins y criptomonedas. Algunos reportes sugieren que UNC1069 logró robar entre USD 5 y 20 millones antes de que npm retirara las versiones, aunque esos números no están confirmados públicamente. Lo explicamos a fondo en mantener sistemas actualizados contra amenazas.

Quiénes son UNC1069 y su historial de ataques

UNC1069 es un grupo de ciberdelincuentes presuntamente norcoreano, documentado por Google Threat Intelligence. Se especializan en robo de criptomonedas usando ingeniería social. Su historial incluye ataques contra exchanges de crypto, wallets, y desarrolladores individuales en el ecosistema blockchain.

Lo que los diferencia de otros grupos es la paciencia y la sofisticación. No usan exploits de día cero. No hacen fuerza bruta. Gastan semanas creando identidades falsas, investigando objetivos, ganando confianza, para finalmente instalarte un RAT cuando bajés la guardia. Es más parecido a una estafa de romance de lujo que a un ataque de hackers tradicional.

La teoría es que el dinero robado termina financiando al régimen norcoreano. Por eso la dedicación: es dinero real que iba a ir a cuentas estatales.

Lecciones para mantenedores de código abierto

Si sos mantenedor de un paquete popular, ya no estás solo trabajando en código. Ahora sos un objetivo de inteligencia. Eso es lo primero que hay que entender. No es paranoia, es realidad.

La ingeniería social a medida es casi imposible de defender si no sabés que te está pasando. Jason Saayman parecía estar en una conversación legítima con colegas sobre tecnología. Cualquiera hubiera hecho lo mismo. La solución no es «ser más desconfiado» (imposible de escalar), sino:

  • 2FA en npm, GitHub y todas las cuentas de infraestructura (no SMS, autenticadores hardware si es posible)
  • Verificación de identidad offline antes de cualquier comunicación importante. Si alguien de una «empresa» te contacta por Slack, verifica su email directamente en el sitio oficial, no respondas el que te mandó
  • Establecer un canal de comunicación con otros mantenedores del proyecto para alertas de seguridad
  • Code review obligatorio incluso para vos mismo (aunque sea una formalidad, evita commits directos)
  • Comunicar a la comunidad cambios inesperados en el equipo o en el flujo de trabajo

Cómo protegerse: defensas para empresas y desarrolladores

Si usás Axios (y la mayoría lo hace), qué hacés ahora:

Primero, audita. Corre npm audit en todos tus proyectos. Si ves Axios 1.14.1 o 0.30.4 listado, actualizá inmediatamente a cualquier versión publicada después del 31 de marzo (npm retiro las versiones maliciosas el mismo día). Relacionado: blindar tu WordPress contra ataques secundarios.

Segundo, ve a todas tus máquinas de producción. Si corrés procesos Node.js que descargan Axios, revisá qué versión están usando. Si es 1.14.1 o 0.30.4, matá el proceso, actualizá, reiniciá. Cubrimos ese tema en detalle en cuando se compromete la cadena de suministro CICD.

Tercero, asume que si corriste esas versiones en un servidor con acceso a billeteras crypto o cuentas bancarias, eso está comprometido. Rotá credenciales, cambiá contraseñas, monitoreá movimientos sospechosos en cuentas. Si era una wallet, sacá los fondos inmediatamente a una dirección nueva (con contraseña generada en otra máquina limpia).

Cuarto, a nivel organizacional: implementá un escáner de dependencias que verifique cambios inesperados en packages (no solo versión, sino el contenido del código). Herramientas como Snyk, Dependabot o Sonatype ayudan, pero no son suficientes. Necesitás visibilidad real.

Quinto, si tenés aplicaciones críticas, mantené un «whitelist» de versiones conocidas de librerías clave. No descargues latest automáticamente. Esperá un par de días después de cada release antes de actualizar, así capturás estos ataques temprano.

Errores comunes que cometemos

1. Asumir que npm es una fuente «segura» porque tiene millones de descargas

npm no es seguro por default. La plataforma confía en los mantenedores. Si el mantenedor está comprometido (como le pasó a Jason), todo lo que publique es malicioso. Popularidad no significa seguridad.

2. No monitorear cambios en dependencias entre versiones

Si tenías Axios 1.14.0 y saltaste a 1.14.1 sin revisar qué cambió, no viste que plain-crypto-js fue inyectado. Necesitás revisar changelogs, diffs de dependencias, o al menos algún alerta automatizado.

3. Confiar ciegamente en identidades online sin verificación adicional

Si alguien de «una empresa» te contacta por Slack para que instales algo, no le creas solo porque el workspace se ve profesional. Verifica llamando a un número público de la empresa, enviá un email a un dominio oficial, usa otro canal. Jason no tuvo chance porque el ataque fue bien hecho, pero en otros casos vos podés detectarlo. En aislamiento entre ambientes de desarrollo profundizamos sobre esto.

Preguntas Frecuentes

¿Qué es Axios exactamente?

Axios es una librería JavaScript que simplifica las llamadas HTTP. Te permite hacer requests GET, POST, PUT, DELETE sin escribir mucho código. Funciona en navegadores y servidores Node.js. Es tan popular que casi todo proyecto JavaScript moderno la usa.

¿Cómo el malware plain-crypto-js roba criptomonedas?

El malware se ejecuta en el mismo proceso que tu aplicación JavaScript. Puede leer variables de entorno (donde guardás claves privadas), interceptar requests HTTP (si estás consultando una wallet API), acceder a datos en memoria, y comunicarse con servidores remotos. Si tu aplicación tiene acceso a fondos, el malware también. Complementá con protege tus conexiones con plataformas externas.

¿Cómo sé si mi proyecto está afectado?

Corre npm list axios en tu proyecto. Si ves 1.14.1 o 0.30.4, estás afectado. Actualizá a cualquier versión posterior al 31 de marzo de 2026. Idealmente, saltá a la última versión estable (chequea la release date en npm).

¿Qué es UNC1069?

Un grupo de cibercriminales presuntamente norcoreano que se especializa en robo de criptomonedas mediante ingeniería social sofisticada. Google los ha documentado como responsables de múltiples ataques contra exchanges, wallets y desarrolladores en el ecosistema blockchain desde 2020.

¿Debo reescribir el código que usa Axios?

No es necesario. Axios en sí está bien. Lo que pasó fue que una versión específica fue comprometida. Actualizá a una versión posterior al 31 de marzo y seguís igual. El código que escribiste con Axios sigue siendo válido.

Conclusión

El ataque a Axios el 31 de marzo de 2026 cambió algo importante: demostró que la cadena de suministro npm es tan valiosa que vale la pena invertir semanas de ingeniería social sofisticada para comprometerla. No fue un exploit 0-day, no fue un bruteforce. Fue paciencia, creatividad y conocimiento profundo de cómo funcionamos los humanos.

El dato concreto: 83 millones de descargas de código malicioso en 2-3 horas. Eso es escala de daño masiva, incluso si la mayoría de esas descargas no ejecutaron el malware (por ejemplo, en máquinas de desarrollo offline).

Qué hacer: actualizá Axios hoy. Implementá escáneres de dependencias. Rotá credenciales de cualquier servidor que haya corrido 1.14.1 o 0.30.4. Y si sos mantenedor de un paquete popular, invertí en 2FA hardware y en procesos de verificación de identidad. Ya no es paranoia, es operacional.

¿Cómo es posible que 83 millones de máquinas descargaran malware en 2-3 horas?

Axios se descarga 100 millones de veces por semana. Cuando se publica una versión, npm la distribuye automáticamente a cualquiera que corra npm install. La mayoría confía en que npm mantiene la integridad y no verifica qué versión descargan, por eso el ataque alcanzó 83 millones en 2-3 horas.

¿Qué credenciales robaron en la máquina de Jason Saayman?

Con acceso remoto (RAT), los atacantes obtuvieron credenciales de npm, claves SSH privadas, variables de entorno con API keys, y acceso a GitHub. Con esas credenciales inyectaron el malware directamente en el repositorio oficial de Axios sin levantar sospechas.

¿Es seguro usar Axios después del ataque?

Sí, siempre que uses una versión posterior al 31 de marzo de 2026. Npm retiró las versiones maliciosas (1.14.1 y 0.30.4) el mismo día. Actualizá Axios a la última versión y seguí usándola normalmente. El problema fue específico de esas dos versiones.

Fuentes

Categorizado en: