TempMail Ninja
//

Ataque cadena suministro Axios: Grupo Lazarus arma la librería JavaScript

9 min de lectura
TempMail Ninja
Ataque cadena suministro Axios: Grupo Lazarus arma la librería JavaScript

En el vertiginoso mundo del desarrollo de software, la confianza es un pilar fundamental. Millones de desarrolladores confían diariamente en bibliotecas y paquetes de código abierto para construir aplicaciones, desde pequeñas utilidades hasta complejas infraestructuras empresariales. Sin embargo, esta confianza intrínseca es precisamente el vector de ataque que grupos maliciosos como Lazarus, vinculado a Corea del Norte, explotan con una sofisticación alarmante. Recientemente, el ecosistema JavaScript fue sacudido por un ataque a la cadena de suministro de Axios, una de las librerías HTTP más populares, que expuso la vulnerabilidad de ecosistemas digitales masivos y puso de manifiesto la crítica importancia de la seguridad de la cadena de suministro en 2026.

Este incidente no es un evento aislado, sino la culminación de una tendencia creciente donde los adversarios apuntan a puntos de entrada de software de terceros para infiltrarse en innumerables sistemas de manera simultánea y silenciosa. Al inyectar dependencias maliciosas en un paquete utilizado por millones de desarrolladores, el Grupo Lazarus demostró cómo una herramienta aparentemente inofensiva para el desarrollo web puede convertirse en un arma para comprometer ecosistemas digitales mucho más amplios, permitiendo la ejecución remota de código (RCE) en miles de entornos corporativos.

El Grupo Lazarus: Una Amenaza Persistente y Sofisticada

El Grupo Lazarus, también conocido por otros nombres como BlueNoroff, Sapphire Sleet, UNC1069 o Nickel Gladstone, es un actor de amenaza persistente avanzada (APT) patrocinado por el estado de Corea del Norte, famoso por su destreza en ciberataques de alto perfil. Su historial es extenso y preocupante, abarcando desde el sonado ciberataque a Sony Pictures Entertainment hasta la propagación del gusano WannaCryptor. Estos ciberdelincuentes se especializan en ciberdelitos financieros, la exfiltración de propiedad intelectual y ataques a infraestructuras críticas alrededor del mundo.

Lo que distingue al Grupo Lazarus es su capacidad para emplear tácticas diversas y en constante evolución, incluyendo el uso de malware personalizado, certificados digitales robados y una marcada tendencia hacia los ataques a la cadena de suministro. Ejemplos previos de sus operaciones incluyen el abuso de software de seguridad legítimo como WIZVERA VeraPort en Corea del Sur y la explotación de vulnerabilidades de día cero en software como MagicLine4NX. Su modus operandi a menudo implica el uso de droppers ofuscados y troyanos de acceso remoto (RAT) multiplataforma, tácticas que nuevamente se vieron reflejadas en el reciente incidente de Axios.

Axios y la Fragilidad de la Cadena de Suministro JavaScript

Axios es una biblioteca cliente HTTP basada en promesas para JavaScript, ampliamente utilizada tanto en navegadores como en entornos Node.js. Su popularidad radica en su facilidad de uso para realizar solicitudes API, la transformación automática de datos JSON, la intercepción de solicitudes/respuestas y la cancelación de solicitudes. Esto la convierte en una herramienta estándar para conectar aplicaciones frontend con servicios backend. Su vasta adopción se evidencia en las más de 70 millones de descargas semanales y un estimado de 3.6 mil millones de descargas anuales, formando parte de más de 174,000 proyectos que dependen directa o indirectamente de ella.

La cadena de suministro de software se refiere a todo el ciclo de vida de un software, desde su diseño y desarrollo hasta su implementación y mantenimiento, incluyendo todas las herramientas y componentes de terceros. En el desarrollo moderno, especialmente en JavaScript, las aplicaciones dependen de cientos, a veces miles, de paquetes de código abierto. Esta interconexión crea una “cadena de suministro” donde la seguridad de un eslabón débil puede comprometer a toda la cadena. Los ataques a la cadena de suministro explotan precisamente esta confianza en proveedores o socios externos, infiltrándose a través de sus sistemas para acceder a la infraestructura digital del objetivo final. Ejemplos históricos como SolarWinds, Codecov y Kaseya ilustran la devastación que estos ataques pueden causar.

Anatomía del Ataque a la Cadena de Suministro de Axios

El ataque a la cadena de suministro de Axios se manifestó el 31 de marzo de 2026, cuando el Grupo Lazarus comprometió la cuenta npm del mantenedor principal de Axios, identificado como “jasonsaayman”. Este compromiso no fue un simple robo de credenciales, sino el resultado de una sofisticada operación de ingeniería social, donde el atacante suplantó a una empresa legítima, creó un espacio de trabajo falso en Slack con la marca y perfiles de ingenieros conocidos, e incluso organizó una reunión en vivo a través de Microsoft Teams. Una vez obtenidas las credenciales, el atacante cambió la dirección de correo electrónico registrada por una de ProtonMail bajo su control.

Con el acceso a la cuenta del mantenedor, los atacantes pudieron publicar dos versiones maliciosas de Axios: axios@1.14.1 y axios@0.30.4. Es crucial destacar que los atacantes no modificaron el código fuente de Axios directamente. En su lugar, inyectaron una dependencia maliciosa llamada plain-crypto-js@4.2.1 en el archivo package.json de estas versiones comprometidas.

La astucia del ataque residía en que plain-crypto-js nunca era invocado ni referenciado dentro del código fuente de Axios. Su propósito único era la ejecución. Este paquete contenía un hook postinstall, un script que se ejecuta automáticamente durante el proceso normal de instalación de npm. Por lo tanto, cualquier desarrollador o sistema que realizara una instalación automatizada de las versiones comprometidas de Axios activaría involuntariamente este script malicioso.

El script setup.js, altamente ofuscado, actuaba como un dropper. Una vez ejecutado, contactaba con la infraestructura de comando y control (C2) de los atacantes, enviando una solicitud diseñada para parecer tráfico legítimo de npm. La respuesta del servidor C2 entregaba una carga útil de troyano de acceso remoto (RAT) específica para el sistema operativo de la víctima (Windows, macOS o Linux).

Este RAT multiplataforma tenía múltiples capacidades:

  • Realizaba reconocimiento del sistema.
  • Establecía persistencia.
  • Era capaz de autodestruirse para evadir la detección.

Además, el dropper estaba diseñado con capacidades anti-forenses: eliminaba el archivo setup.js, el hook postinstall y reemplazaba el archivo package.json alterado con un señuelo limpio llamado package.md. Esto dificultaba enormemente la detección posterior a la infección para los desarrolladores que inspeccionaran sus carpetas node_modules. El proceso completo, desde la instalación hasta el compromiso, tomaba aproximadamente 15 segundos.

Un aspecto crítico de este ataque fue la forma en que eludió las medidas de seguridad tradicionales y las tuberías de integración continua/entrega continua (CI/CD). Los atacantes utilizaron un token de acceso npm de larga duración robado para publicar directamente en el registro npm, evitando así las reglas de protección de ramas de GitHub, los requisitos de revisión de código, el escaneo de seguridad automatizado en CI y las comprobaciones de procedencia de compilación SLSA (Supply-chain Levels for Software Artifacts). Las versiones legítimas de Axios siempre incluyen metadatos de procedencia OIDC y certificaciones de compilación SLSA, lo cual estaba ausente en las versiones maliciosas, dejando una clara bandera roja para los expertos en seguridad.

Implicaciones y Escala del Daño

El impacto potencial del ataque a la cadena de suministro de Axios fue enorme debido a su ubicuidad. Axios es una dependencia fundamental en el ecosistema JavaScript, y se estima que está integrada en aproximadamente el 80% de los servicios en la nube. Esto significa que el compromiso de un solo mantenedor de un paquete popular abrió una puerta trasera a una inmensa cantidad de entornos corporativos simultáneamente.

Aunque las versiones maliciosas fueron retiradas por el equipo de seguridad de npm en aproximadamente tres horas, la ventana de exposición fue suficiente para que decenas de miles de instalaciones de npm se vieran afectadas, especialmente en zonas horarias de Asia-Pacífico donde la actividad de desarrollo era alta durante ese lapso. Firmas de seguridad como Huntress detectaron infecciones apenas 89 segundos después de la publicación de los paquetes maliciosos, confirmando al menos 135 sistemas comprometidos. Los sectores afectados a nivel global incluyeron:

  • Servicios empresariales.
  • Servicio al cliente.
  • Servicios financieros.
  • Alta tecnología.
  • Educación superior.
  • Seguros.
  • Medios y entretenimiento.
  • Equipos médicos.
  • Servicios profesionales y legales.
  • Servicios minoristas.

Este amplio alcance geográfico y sectorial subraya la capacidad de los ataques a la cadena de suministro para generar un efecto dominó global. Una vez que el RAT se ejecutaba, la intercepción de datos, credenciales y tokens de autenticación era posible, convirtiendo cualquier aplicación afectada en un punto de entrada para comprometer sistemas más amplios.

Medidas de Prevención y Mitigación

Este incidente resalta la necesidad imperante de adoptar un enfoque de seguridad proactivo y multicapa para proteger las cadenas de suministro de software. Aquí se detallan algunas recomendaciones cruciales:

Para Desarrolladores y Equipos de DevOps:

  1. Verificar dependencias: No confiar ciegamente en todas las dependencias. Realizar auditorías periódicas de los paquetes utilizados, incluso los transitivos (dependencias de dependencias).
  2. Fijar versiones específicas: Evitar el uso de rangos de versiones amplios (^ o ~) en package.json. En su lugar, fijar versiones exactas de paquetes, especialmente para dependencias críticas. En el caso de Axios, las versiones seguras para fijar son axios@1.14.0 y axios@0.30.3.
  3. Deshabilitar auto-actualizaciones: Para paquetes npm críticos como Axios, considerar deshabilitar las auto-actualizaciones hasta que se haya verificado manualmente la seguridad de las nuevas versiones.
  4. Monitoreo de integridad: Implementar herramientas que monitoreen la integridad de los paquetes instalados y detecten cambios inesperados en los archivos de la biblioteca o la adición de scripts postinstall sospechosos.
  5. Autenticación multifactor (MFA): Activar MFA en todas las cuentas de registro de paquetes (npm, PyPI, etc.) para los mantenedores de librerías. El compromiso de una cuenta de mantenedor fue el vector inicial en este ataque.
  6. Requerir comprobaciones de procedencia SLSA y OIDC: Para todos los paquetes internos y de terceros críticos, exigir comprobaciones de procedencia npm (--provenance flag) y un nivel SLSA 2+. La ausencia de metadatos de procedencia OIDC en una nueva versión de un paquete importante debe activar una alerta automática.

Para Organizaciones y Equipos de Seguridad:

  1. Segmentación de red: Implementar una estricta segmentación de red para limitar el movimiento lateral en caso de un compromiso.
  2. Detección y respuesta post-explotación: Las defensas deben ir más allá de la prevención inicial. Se necesitan soluciones avanzadas de detección de amenazas que puedan identificar comportamientos anómalos después de la ejecución del malware, como la ejecución de procesos inesperados o la comunicación con C2 desconocidos.
  3. Gestión de identidad y acceso: Revisar y fortalecer las políticas de gestión de identidad y acceso para cuentas con permisos de publicación o acceso a la infraestructura de desarrollo.
  4. Análisis de comportamiento: Utilizar herramientas de análisis de comportamiento (UBA, UEBA) para detectar actividades sospechosas en entornos de desarrollo y producción.
  5. Inventario de software (SBOM): Mantener un inventario completo de todos los componentes de software utilizados, incluyendo las dependencias de terceros y de código abierto.
  6. Evaluación de riesgos de terceros: Establecer requisitos de seguridad y procesos de evaluación para todos los proveedores de software.
  7. Actualización de credenciales: Si se ha instalado axios@1.14.1 o axios@0.30.4, es fundamental rotar inmediatamente todas las claves, tokens y credenciales que pudieran haberse visto expuestos.
  8. Búsqueda de IOCs: La presencia del paquete plain-crypto-js en cualquier árbol de dependencias de un proyecto debe ser tratada como un indicador de compromiso (IOC) inmediato.

Conclusión: La Vigilancia como Única Defensa

El ataque a la cadena de suministro de Axios por parte del Grupo Lazarus es un recordatorio contundente de la sofisticación y la tenacidad de los adversarios modernos. No se trató de una vulnerabilidad de código, sino de una toma de control dirigida de la tubería de publicación de paquetes, un punto ciego para muchas posturas de seguridad que se centran en el análisis estático. La capacidad de los atacantes para eludir los controles de CI/CD al comprometer las credenciales de un mantenedor resalta la necesidad de una seguridad holística que abarque no solo el código, sino también la infraestructura y las personas que lo gestionan.

En un ecosistema digital cada vez más interconectado, la confianza implícita en las dependencias de código abierto ya no es sostenible. La vigilancia constante, la implementación de prácticas de seguridad robustas a lo largo de toda la cadena de suministro de software y una rápida capacidad de respuesta ante incidentes son ahora más críticas que nunca. Solo así podremos esperar mitigar los riesgos que representan grupos como Lazarus y proteger los cimientos de nuestro mundo digital interconectado.

TN

Escrito por

TempMail Ninja

Experto en privacidad digital y seguridad en línea. Apasionado por crear herramientas que protejan la identidad de los usuarios en internet.