noticias

El axios que hackearon no es el periódico: así comprometieron la librería JS con 100 millones de descargas semanales

noticias · 6 min de lectura (actualizado)

El axios que hackearon no es el periódico: así comprometieron la librería JS con 100 millones de descargas semanales

Un ataque de supply chain comprometió axios@1.14.1 y axios@0.30.4 el 31 de marzo de 2026. Qué hace el RAT, cómo saber si te afectó y qué hacer ahorita mismo.

El axios que hackearon no es el periódico: así comprometieron la librería JS con 100 millones de descargas semanales

Antes de que empiece el pánico equivocado: no, no hackearon Axios el medio de noticias. Lo que comprometieron esta madrugada es algo que probablemente tienes instalado en tu proyecto ahorita mismo y ni lo sabes. El paquete npm axios, el HTTP client más usado en el ecosistema JavaScript con aproximadamente 83 millones de descargas semanales (algunos reportes mencioanan el rango 83-100 millones), fue víctima de un ataque de supply chain el día de hoy 31 de marzo de 2026. Si eres developer, deja lo que estás haciendo y lee esto.

Qué pasó, en pocas palabras

Un atacante comprometió la cuenta npm de jasonsaayman, el mantenedor principal de axios. No sabemos exactamente cómo lo hicieron todavía: el propio mantenedor dijo que tiene 2FA activado en casi todo, lo que hace esto aún más raro. Lo que sí sabemos es que el atacante cambió el correo registrado de la cuenta a ifstap@proton.me, consiguió un token de acceso de larga duración y lo usó para publicar versiones maliciosas del paquete saltándose el pipeline de GitHub Actions.

Las versiones comprometidas son:

  • axios@1.14.1 (la que aparece como latest)
  • axios@0.30.4 (la versión legacy)

Estas versiones inyectaron una dependencia falsa llamada plain-crypto-js@4.2.1. Ahí está el payload. Las versiones seguras a las que debes bajar son 1.14.0 o 0.30.3.

El ataque fue planeado con tiempo, no fue improvisado

Esto no fue un wey aburrido que encontró una contraseña en un leak. StepSecurity documentó que el atacante publicó primero una versión limpia de plain-crypto-js@4.2.0 el 30 de marzo, 18 horas antes del ataque real. Al día siguiente, publicó plain-crypto-js@4.2.1 con el malware adentro, y luego las versiones comprometidas de axios. Así evadió sistemas de detección que buscan paquetes nuevos y sospechosos: el paquete ya tenía historial.

Según los investigadores de Huntress, es uno de los ataques de supply chain operacionalmente más sofisticados documentados contra un paquete top-10 de npm. No están exagerando.

Qué hace el malware si lo instalaste

El archivo setup.js que viene dentro de plain-crypto-js@4.2.1 es un dropper con doble capa de ofuscación: base64 invertido con underscores y cifrado XOR con la clave "OrDeR_7077". Cuando corres npm install, se ejecuta automáticamente y detecta tu sistema operativo para soltar el payload correcto:

  • macOS: Escribe un AppleScript en un archivo temporal, descarga el binario del RAT con curl y lo ejecuta. El binario es un Mach-O compilado en C++ que se auto-firma.
  • Windows: Instala un script PowerShell con persistencia mediante una clave de registro llamada MicrosoftUpdate. Clásico.
  • Linux: Instala un script Python.

Una vez activo, el RAT se reporta con el servidor C2 en sfrclak.com:8000 cada 60 segundos. Tiene capacidades de ejecución remota de comandos, exploración de directorios, inyección de binarios y reconocimiento del sistema. Lo más cabrón: se autodestruye después de instalarse para no dejar rastro en el análisis forense.

Las versiones maliciosas estuvieron disponibles entre 2 y 3 horas antes de que npm las retirara. En ese tiempo, Huntress observó que 135 endpoints en su base de partners contactaron la infraestructura C2. Si nuestros proyectos en México corrieron npm install en esa ventana, ya están hablando con el atacante.

Cómo saber si te afectó

Revisa tu package.json, package-lock.json o yarn.lock. Si ves alguna de estas versiones, estás comprometido:

axios@1.14.1
axios@0.30.4
plain-crypto-js@4.2.1

Si las tienes, no basta con actualizar. Los pasos son:

  1. Baja a axios@1.14.0 o axios@0.30.3 de inmediato
  2. Elimina plain-crypto-js de node_modules y de tu lock file
  3. Rota TODOS los secretos y credenciales que estaban en las máquinas o pipelines afectados: API keys, tokens de GitHub, variables de entorno, todo
  4. Bloquea el dominio sfrclak.com en tu firewall
  5. Audita tus pipelines de CI/CD: los corredores de GitHub Actions, Jenkins, GitLab CI, lo que uses

Este tipo de ataques están en aumento, como ya vimos con el mercado negro de claves Steam y cómo los atacantes roban credenciales sin que te des cuenta. La diferencia aquí es que el vector de entrada no eres tú como usuario final: eres tú como developer.

Por qué esto le importa a México y LATAM

La realidad es que axios no es un paquete de nicho. Está en el 80% de los proyectos JavaScript modernos, frontend y backend. Cualquier empresa con un equipo de desarrollo que use Node.js, React, Vue, Next.js o cualquier framework moderno probablemente lo tiene. Eso incluye startups mexicanas, agencias digitales, fintechs, ecommerces, todo.

Los pipelines de CI/CD son el punto más peligroso: si tu runner corrió npm ci o npm install entre las 00:21 y las ~03:00 UTC del 31 de marzo, el build server podría estar comprometido. Y si ese servidor tiene acceso a producción, el daño puede ser mayor que solo un equipo infectado.

Lo que complica más el panorama es que el RAT se autodestruye: no puedes buscarlo en el sistema de archivos y decir “ah sí, aquí está”. Si sospecha que estuviste en la ventana de exposición, tratar la máquina como comprometida y rotar credenciales es la opción más responsable.

Si usas herramientas de IA para programar como las que analizamos en nuestra comparativa de Claude Code vs Cursor vs Copilot, nota que muchas de estas herramientas instalan dependencias automáticamente. Verifica que tu entorno de dev no haya jalado las versiones maliciosas en segundo plano.

La respuesta oficial: corta pero tardía

npm retiró los paquetes maliciosos en cuestión de horas. El repositorio oficial de axios en GitHub está limpio y la versión 1.14.0 es segura. jasonsaayman publicó un comunicado reconociendo el compromiso de su cuenta. No hay atribución pública del atacante todavía, aunque se identificaron dos paquetes relacionados distribuyendo el mismo malware: @shadanai/openclaw y @qqbrowser/openclaw-qbot.

La pregunta que queda en el aire es cómo alguien comprometió una cuenta con 2FA habilitado. SIM swap, phishing sofisticado, código malicioso en el propio equipo del mantenedor… hasta ahora no hay respuesta. Eso es lo que más debería preocuparnos para el futuro.

Qué nos deja esto

Los ataques de supply chain son el vector que más está creciendo y el más difícil de detectar: no hackean tu app directamente, hackean una dependencia que todos confían ciegamente. Y con el tamaño de axios, el daño potencial es enorme.

Revisa tus proyectos hoy. No mañana, hoy. Y si trabajas con un equipo, manda este artículo al grupo de WhatsApp de devs ahorita mismo. Eso es lo más que puedes hacer en las próximas horas.

¿Ya te afectó? ¿Encontraste las versiones maliciosas en algún proyecto? Cuéntanos abajo.

Fuentes

Comentarios

No te pierdas ningún post

Recibe lo nuevo de Al Chile Tech directo en tu correo. Sin spam.

También te puede interesar