Millones de desarrolladores expuestos después de que atacantes envenenaran un popular repositorio de código
Presuntos hackers norcoreanos llevaron a cabo uno de los ataques a la cadena de suministro más sofisticados desde el punto de vista operativo de los últimos tiempos, al comprometer Axios, una biblioteca de JavaScript que se descarga aproximadamente 100 millones de veces por semana. El ataque, que duró unas tres horas durante la madrugada del 31 de marzo, insertó código malicioso en programas utilizados por miles de empresas de los sectores de la salud, las finanzas, las plataformas de intercambio de criptomonedas y la tecnología. Investigadores de seguridad estiman que las versiones manipuladas fueron descargadas por cerca del 3 % de los usuarios de la biblioteca, lo que podría haber expuesto cientos de miles de sistemas a troyanos de acceso remoto diseñados para robar criptomonedas y credenciales empresariales.
Contenido
- Millones de desarrolladores expuestos después de que atacantes envenenaran un popular repositorio de código
- Cómo se llevó a cabo el ataque a la cadena de suministro
- Un programa malicioso multiplataforma instala una puerta trasera persistente
- La maquinaria digital de ingresos de Pyongyang
- Una cascada de vulnerabilidades en la cadena de suministro
- Técnicas de evasión y medidas forenses
- Cómo proteger la cadena de suministro de software
- Puntos clave
Axios funciona como un cliente HTTP basado en promesas que permite realizar solicitudes asincrónicas a API tanto desde Node.js como desde navegadores, por lo que es un componente fundamental de las aplicaciones web modernas. Empresas que van desde proveedores de servicios de salud hasta instituciones financieras utilizan la biblioteca para simplificar la creación de sitios web y el intercambio de datos. Algunas empresas de criptomonedas y compañías tecnológicas que operan en el sector de los activos digitales también usan este programa, lo que las convierte en objetivos especialmente valiosos para las operaciones cibernéticas de Pyongyang destinadas a obtener ingresos. La amplia adopción de Axios en entornos empresariales implica que el compromiso genera riesgos en cascada para las dependencias posteriores y los servicios integrados.
El Grupo de Inteligencia de Amenazas de Google atribuyó formalmente el incidente a UNC1069, un actor norcoreano motivado por razones financieras que opera desde, al menos, 2018. El grupo se ha ganado una reputación por atacar plataformas de intercambio de criptomonedas, plataformas de finanzas descentralizadas y empresas de capital de riesgo para financiar los programas nucleares y de misiles de Pyongyang. Según Mandiant, la firma de inteligencia propiedad de Google, este es el último paso en la escalada de la campaña norcoreana para convertir la cadena global de suministro de software en un arma contra objetivos económicos de alto valor.
Charles Carmakal, director de tecnología de Mandiant, explicó el carácter de largo plazo de la amenaza.
Prevemos que intentarán usar las credenciales y el acceso a sistemas que obtuvieron recientemente en este ataque a la cadena de suministro de software para atacar a empresas y robar criptomonedas. Es probable que evaluar el impacto posterior de esta campaña lleve meses.
John Hammond, investigador de seguridad de Huntress, informó que su empresa ya identificó aproximadamente 135 dispositivos comprometidos pertenecientes a unas 12 compañías, aunque espera que esto represente apenas la primera oleada de hallazgos, a medida que las organizaciones completen sus auditorías forenses.
Cómo se llevó a cabo el ataque a la cadena de suministro
El ataque comenzó cuando los hackers tomaron el control de la cuenta de npm de @jasonsaayman, el principal responsable del mantenimiento de la biblioteca Axios. En lugar de explotar vulnerabilidades sofisticadas de día cero, los actores de amenazas usaron un token de acceso de larga duración para eludir controles de seguridad modernos, incluidos los flujos de autenticación basados en OpenID Connect. Así pudieron publicar dos versiones troyanizadas del programa, 1.14.1 y 0.30.4, directamente en el registro de Node Package Manager, sin activar las alertas de seguridad habituales ni requerir autenticación multifactor.
Hammond señaló un fallo crítico de configuración que permitió el ataque. Incluso en la rama v1.x, donde estaba configurada la publicación de confianza mediante OIDC, el flujo de publicación seguía enviando NPM_TOKEN como variable de entorno junto con las credenciales de OIDC. Cuando ambos están presentes, npm utiliza el token. Esto significaba que el token de larga duración era, en la práctica, el método de autenticación para todos los responsables de publicación, independientemente de la configuración de OIDC. Este descuido arquitectónico permitió a los atacantes eludir las protecciones, aunque el responsable del mantenimiento había habilitado la autenticación multifactor en sus cuentas. El incidente demuestra cómo los mecanismos de autenticación heredados pueden socavar los marcos de seguridad modernos.
Los atacantes demostraron una preparación cuidadosa y paciencia. Dieciocho horas antes del ataque principal, publicaron una versión legítima de una dependencia fantasma llamada plain-crypto-js para establecer un historial de publicaciones y evitar sospechas por tratarse de una cuenta sin historial. Veinte minutos antes de la primera versión maliciosa de Axios, publicaron la versión armada de esta dependencia, que incluía un script de posinstalación diseñado para ejecutarse automáticamente cuando los desarrolladores instalaran o actualizaran la biblioteca comprometida. La segunda versión con una puerta trasera se publicó apenas 39 minutos después, lo que indica que el grupo había automatizado su proceso de despliegue para maximizar la distribución durante la breve oportunidad disponible.
Durante el ataque, los responsables del mantenimiento afrontaron serias dificultades para recuperar el control. En una incidencia pública de GitHub, un colaborador afirmó que no podían revocar el acceso de la cuenta responsable de la publicación maliciosa y señaló que los permisos del atacante superaban los suyos. Esto desató una carrera contra el tiempo: los hackers conservaron sus derechos de publicación mientras la comunidad de desarrollo se apresuraba a contener los daños. NPM retiró finalmente las versiones maliciosas tres horas después de su publicación inicial y suspendió por motivos de seguridad el paquete plain-crypto-js. Una hora más tarde lo sustituyó por un paquete provisional de seguridad.
Un programa malicioso multiplataforma instala una puerta trasera persistente
Una vez instalada, la dependencia maliciosa desplegaba un programa descargador de JavaScript ofuscado, llamado SILKBELL, que obtenía cargas específicas para cada plataforma desde un servidor remoto de comando y control en sfrclak.com. En los sistemas Windows, el programa malicioso instalaba herramientas basadas en PowerShell capaces de ejecutar comandos arbitrarios. Los usuarios de macOS recibían un binario C++ Mach-O, mientras que las instalaciones de Linux eran el objetivo de una puerta trasera en Python. Investigadores de seguridad identificaron este programa malicioso de segunda etapa como WAVESHAPER.V2, una evolución de una puerta trasera atribuida anteriormente a UNC1069 en ataques contra el sector de las criptomonedas que se remontan a 2023.
La arquitectura técnica del ataque revela un esfuerzo deliberado por ocultarse y adaptarse a cada plataforma. En lugar de modificar directamente el código fuente de Axios, algo que sería visible en repositorios públicos y activaría alertas de revisión de código, los hackers insertaron la funcionalidad maliciosa mediante una cadena de dependencias. «No hay ninguna línea de código malicioso dentro del propio axios, y eso es precisamente lo que hace que este ataque sea tan peligroso», señalaron investigadores de StepSecurity. El paquete plain-crypto-js se ejecutaba mediante un enlace de posinstalación en su archivo package.json, lo que permitía que el programa malicioso se ejecutara silenciosamente durante la instalación, antes de borrar sus propios rastros y sustituir los metadatos del paquete por una versión legítima.
WAVESHAPER.V2 envía señales a su infraestructura de comando y control cada 60 segundos y acepta direcciones URL dinámicas de C2 mediante argumentos de línea de comandos. Este diseño permite a los atacantes cambiar la infraestructura sin volver a desplegar el programa malicioso. La puerta trasera admite cuatro funciones principales: terminar procesos en ejecución, enumerar directorios con metadatos detallados de los archivos, incluidas las marcas de tiempo y el tamaño; ejecutar comandos del sistema mediante lenguajes de scripting nativos, como AppleScript en macOS o comandos de shell en Linux; e inyectar binarios arbitrarios en procesos en ejecución. Un análisis de Elastic Security Labs reveló que el binario para macOS hace referencia a rutas de compilación de desarrolladores que lo vinculan directamente con el módulo webT de BlueNoroff, utilizado en campañas anteriores de los programas maliciosos RustBucket y Hidden Risk, lo que refuerza la atribución a Corea del Norte.
La maquinaria digital de ingresos de Pyongyang
Las operaciones de piratería informática de Corea del Norte se han convertido en un mecanismo central de financiación de su programa sancionado de armas nucleares. Según informes de las Naciones Unidas y estimaciones de la Casa Blanca publicadas en 2023, cerca de la mitad de los fondos para el desarrollo de misiles de Pyongyang provienen del robo cibernético. En los últimos años, los hackers han sustraído miles de millones de dólares de bancos y empresas de criptomonedas. Tan solo el año pasado, agentes norcoreanos robaron 1.500 millones de dólares en criptomonedas en un único atraco sin precedentes, lo que demuestra su capacidad para comprometer objetivos de alto valor a gran escala.
Ben Read, director de inteligencia estratégica sobre amenazas de Wiz, explicó que Corea del Norte actúa de manera distinta a otros actores estatales.
A Corea del Norte no le preocupa su reputación ni que la identifiquen con el tiempo. Por eso, aunque este tipo de operaciones sean muy visibles y de alto perfil, es un precio que está dispuesta a pagar.
Esta tolerancia al riesgo permite a Pyongyang llevar a cabo ataques descarados a la cadena de suministro que otros países quizá evitarían por las posibles repercusiones diplomáticas o por temor a que se les atribuya la responsabilidad. El compromiso de Axios sigue un patrón establecido hace tres años, cuando agentes norcoreanos presuntamente se infiltraron en 3CX, un proveedor de software utilizado por empresas de salud y cadenas hoteleras para llamadas de voz y video.
John Hultquist, analista jefe del Grupo de Inteligencia de Amenazas de Google, destacó el interés específico del grupo por los activos digitales.
Los hackers norcoreanos tienen amplia experiencia en ataques a la cadena de suministro, que históricamente han utilizado para robar criptomonedas. El alcance total de este incidente aún no está claro, pero, dada la popularidad del paquete comprometido, esperamos que tenga repercusiones de gran alcance.
UNC1069 ha atacado anteriormente a empresas de tecnología financiera mediante reuniones falsas de Zoom, tácticas de ingeniería social y varias familias de programas maliciosos propias, lo que demuestra su interés persistente y cambiante en el ecosistema de las criptomonedas.
Una cascada de vulnerabilidades en la cadena de suministro
El incidente de Axios se produce en medio de un preocupante aumento de los ataques a la cadena de suministro dirigidos al ecosistema de software de código abierto. En el último mes, los equipos de seguridad han respondido a una sucesión de incidentes que incluye ataques contra Trivy, una popular herramienta de análisis de seguridad; LiteLLM, una biblioteca de Python muy utilizada para integrar modelos de inteligencia artificial; y Telnyx, una plataforma de comunicaciones. Aunque Google confirmó que el ataque a Axios no está relacionado con los recientes problemas de la cadena de suministro de TeamPCP, cada brecha exitosa proporciona a los atacantes nuevas credenciales y acceso inicial a otros repositorios, lo que genera un ciclo de compromisos que se perpetúa por sí mismo.
Carmakal advirtió que la reciente oleada de ataques ha generado un enorme inventario de secretos robados. «Los secretos robados durante las últimas dos semanas permitirán más ataques a la cadena de suministro de software, compromisos de entornos de software como servicio que afectarán a clientes posteriores, incidentes de ransomware y extorsión, y robos de criptomonedas durante los próximos días, semanas y meses», explicó. «Tenemos conocimiento de cientos de miles de credenciales robadas. Estos ataques son obra de diversos actores con distintas motivaciones. El alcance del ataque de ayer a la cadena de suministro de npm de axios es amplio y se extiende a otros paquetes populares que dependen de él».
Tom Hegel, investigador sénior de SentinelOne, destacó el carácter invisible de la amenaza.
Cada vez que usted carga un sitio web, consulta el saldo de su cuenta bancaria o abre una aplicación en su teléfono, es muy probable que Axios esté ejecutándose en segundo plano para hacerlo posible. No tiene que hacer clic en nada ni cometer un error. El software en el que ya confía lo hizo por usted.
Esta observación subraya cómo los ataques a la cadena de suministro aprovechan la confianza implícita que los usuarios depositan en componentes de software consolidados, eludiendo la formación tradicional en concienciación sobre seguridad y las protecciones de los dispositivos.
Técnicas de evasión y medidas forenses
Los atacantes implementaron sofisticadas medidas contra el análisis forense que dificultan la respuesta a incidentes y la detección. Tras ejecutarse, el programa malicioso no solo eliminaba sus propios archivos de instalación, sino que también manipulaba la información de su versión para engañar a los defensores. El paquete malicioso plain-crypto-js indicaba que era la versión 4.2.0, en lugar de la 4.2.1, lo que confundía a los equipos de seguridad que verificaban la integridad del paquete. Esta técnica de suplantación de versiones buscaba convencer a los administradores de que sus sistemas ejecutaban software legítimo, cuando en realidad habían instalado la versión comprometida.
Tomislav Pericin, arquitecto jefe de software de ReversingLabs, describió el ataque como un modelo para futuras operaciones, no como un incidente aislado.
El nivel de sofisticación operativa documentado aquí, que incluye credenciales comprometidas de responsables del mantenimiento, cargas preparadas para tres sistemas operativos, ataques a ambas ramas de publicación en menos de 40 minutos y autodestrucción para borrar rastros forenses, refleja que un actor de amenazas planificó esto como una operación escalable. Si ahora aparecen campañas similares en PyPI y NuGet, eso coincide con lo que ya sugieren los mecanismos del ataque: el objetivo era llegar al mayor número posible de desarrolladores.
Ahora las organizaciones deben auditar no solo las dependencias de npm, sino todos los gestores de paquetes que alimentan sus procesos de compilación. Hammond afirmó que el momento del ataque resulta especialmente preocupante, dadas las tendencias actuales hacia la automatización del desarrollo. Señaló que el hackeo ocurrió en un momento ideal, debido a la rápida adopción de agentes de inteligencia artificial que generan software en las organizaciones sin revisión ni medidas de control. El riesgo va más allá de los usuarios directos de Axios y alcanza a cualquier organización cuyas herramientas de desarrollo resuelvan dependencias automáticamente. Isaac Evans, fundador de Semgrep, señaló que los desarrolladores que fijaron sus versiones, mantuvieron archivos de bloqueo y siguieron las prácticas habituales de seguridad también podrían haberse visto afectados, porque su entorno de desarrollo integrado descargó la dependencia en segundo plano.
Cómo proteger la cadena de suministro de software
Los equipos de seguridad de distintos sectores se apresuran a evaluar su exposición y corregir los sistemas comprometidos. Las organizaciones que usan Axios deben auditar de inmediato sus árboles de dependencias para detectar las versiones 1.14.1 y 0.30.4, volver a versiones seguras verificadas, como la 1.14.0 o la 0.30.3, y cambiar todas las credenciales a las que se pudo acceder durante el periodo de instalación. Entre los indicadores técnicos de compromiso figuran la presencia de plain-crypto-js en los directorios node_modules, las conexiones de red a sfrclak.com (dirección IP 142.11.206.73) y los procesos sospechosos en directorios temporales, como /Library/Caches/com.apple.act.mond en sistemas macOS.
Las medidas inmediatas de mitigación incluyen fijar Axios en versiones seguras conocidas en los archivos package-lock.json para evitar actualizaciones accidentales; comprobar si está presente la dependencia maliciosa; detener cualquier proceso malicioso identificado; bloquear el dominio de comando y control identificado en los perímetros de red; aislar los sistemas afectados de las redes de producción; y cambiar todos los secretos y credenciales que podrían haber quedado expuestos durante el periodo del compromiso. Las organizaciones también deben revisar los registros de acceso para detectar usos no autorizados de claves de API o cuentas de servicio que el programa malicioso pudiera haber sustraído.
Ilkka Turunen, director de tecnología de campo de Sonatype, destacó los problemas fundamentales de confianza que puso de manifiesto este incidente. «Este ataque demuestra que los hackers ahora se aprovechan de la confianza de las personas en el código, en lugar de atacar el código en sí», explicó. «La capacidad maliciosa se introdujo mediante una dependencia preparada y diseñada para borrar sus propios rastros, lo que hizo que el ataque fuera más difícil de detectar y más lento de comprender. No se trata solo de un programa malicioso: revela un plan de acción más deliberado y maduro». Mike Puglia, responsable de seguridad de Kaseya, señaló que estos incidentes aportan más pruebas de la fragilidad del ecosistema mundial de software, en el que comprometer una sola cuenta puede exponer a decenas de miles de organizaciones en cuestión de horas.
Puntos clave
- El grupo de amenazas norcoreano UNC1069 comprometió la biblioteca de JavaScript Axios, que registra 100 millones de descargas semanales y está presente en aproximadamente el 80 % de los entornos en la nube.
- Las versiones maliciosas 1.14.1 y 0.30.4 estuvieron disponibles durante unas tres horas el 31 de marzo. Las descargó cerca del 3 % de los usuarios, lo que podría representar hasta 600.000 descargas.
- El ataque utilizó una dependencia fantasma llamada plain-crypto-js para desplegar WAVESHAPER.V2, una puerta trasera multiplataforma capaz de infectar sistemas Windows, macOS y Linux.
- Google Mandiant espera que el grupo use las credenciales robadas para llevar a cabo operaciones de robo de criptomonedas a largo plazo y financiar los programas nucleares y de misiles de Corea del Norte.
- El programa malicioso tenía capacidades avanzadas para dificultar el análisis forense, como la autodestrucción y la suplantación de versiones, con la que indicaba ser la versión 4.2.0 en lugar de la 4.2.1 para evadir la detección.
- Las organizaciones deben auditar los árboles de dependencias, cambiar todas las credenciales, bloquear el dominio de C2 sfrclak.com y la IP 142.11.206.73, y volver de inmediato a versiones seguras de Axios.
- El compromiso se produjo mediante un token de acceso de larga duración que eludió los controles de autenticación de OIDC, lo que pone de relieve la necesidad de eliminar credenciales heredadas.






