Ciberinteligencia · Análisis
El compromiso de axios en npm: anatomía del ataque de cadena de suministro que ESET atribuye a BlueNoroff
28 de mayo de 2026 · 5 min de lectura · Por Redacción Cubix Academia · Nivel profesional
ESET documenta en su APT Activity Report Q4 2025–Q1 2026 el secuestro de la cuenta de un mantenedor de axios para publicar versiones troyanizadas de una librería con decenas de millones de descargas semanales, en una campaña ligada al clúster norcoreano Lazarus.
El 28 de mayo de 2026, ESET publicó su APT Activity Report correspondiente al periodo Q4 2025–Q1 2026, firmado por el investigador Jean-Ian Boutin, que resume la actividad de un conjunto de grupos de amenaza persistente avanzada entre octubre de 2025 y marzo de 2026. Entre los casos documentados hay uno que merece lectura detenida por su alcance potencial: el compromiso de axios, uno de los clientes HTTP más utilizados del ecosistema JavaScript, atribuido a un clúster norcoreano dentro del paraguas Lazarus.
El incidente
A finales de marzo de 2026, la cuenta de npm del mantenedor principal de axios fue secuestrada. Con ese control, el atacante publicó versiones troyanizadas del paquete, según los análisis técnicos posteriores las etiquetadas como 1.14.1 (marcada como latest) y 0.30.4 (rama legacy), que introducían una dependencia fantasma inexistente hasta ese día. Esa dependencia ejecutaba un script postinstall que desplegaba un troyano de acceso remoto multiplataforma con capacidad para macOS, Windows y Linux.
ESET describe axios como una librería con del orden de 100 millones de descargas semanales en npm. La ventana de exposición fue corta (en torno a tres horas antes de la retirada de los paquetes), pero la escala del paquete convierte incluso ese intervalo en un problema serio: otras estimaciones, como la de Wiz Research recogida por Cloud Security Alliance Labs (y citada también por Joshua Wright, del SANS Institute), calculan del orden de 600.000 descargas de las versiones comprometidas, y contactos con la infraestructura de mando y control desde endpoints en redes de organizaciones afectadas.
Conviene ser preciso sobre el mecanismo de daño. El código malicioso no residía en la lógica de axios que un desarrollador invoca, sino en una dependencia transitiva que solo existía para ejecutarse durante la instalación. Es un patrón que evade la revisión superficial del código de la librería y se apoya en que npm install ejecuta scripts de instalación por defecto.
El vector: ingeniería social, no un exploit
El detalle que sostiene la atribución es cómo se obtuvo el acceso. Según ESET, los atacantes no explotaron una vulnerabilidad de npm ni del paquete. Montaron un espacio de trabajo de Slack fraudulento, suplantaron a un fundador de empresa y manipularon al mantenedor principal. Durante una interacción por Microsoft Teams le hicieron llegar un fichero troyanizado presentado como una actualización de software, y a partir de ahí obtuvieron un token de npm con el que publicar las versiones corrompidas.
Es la misma familia de tácticas que ESET agrupa bajo las operaciones norcoreanas dirigidas a desarrolladores: Operation DreamJob (que en este periodo apuntó también a fabricantes europeos de drones) y Operation DangerousPassword, bajo la que se enmarca este caso. El objetivo no era el mantenedor como fin, sino su posición de confianza en la cadena de suministro.