{"id":411,"date":"2026-03-31T08:24:00","date_gmt":"2026-03-31T08:24:00","guid":{"rendered":"https:\/\/cybercolombia.co\/index.php\/2026\/03\/31\/el-ataque-a-la-cadena-de-suministro-de-axios-impulsa-rat-multiplataforma-a-traves-de-una-cuenta-npm-comprometida-cyberdefensa-mx\/"},"modified":"2026-03-31T08:24:00","modified_gmt":"2026-03-31T08:24:00","slug":"el-ataque-a-la-cadena-de-suministro-de-axios-impulsa-rat-multiplataforma-a-traves-de-una-cuenta-npm-comprometida-cyberdefensa-mx","status":"publish","type":"post","link":"https:\/\/cybercolombia.co\/index.php\/2026\/03\/31\/el-ataque-a-la-cadena-de-suministro-de-axios-impulsa-rat-multiplataforma-a-traves-de-una-cuenta-npm-comprometida-cyberdefensa-mx\/","title":{"rendered":"El ataque a la cadena de suministro de Axios impulsa RAT multiplataforma a trav\u00e9s de una cuenta npm comprometida \u2013 CYBERDEFENSA.MX"},"content":{"rendered":"<div id=\"articlebody\">\n<p>El popular cliente HTTP conocido como <a href=\"https:\/\/www.npmjs.com\/package\/axios\" rel=\"noopener\" target=\"_blank\">axios<\/a> ha sufrido un ataque a la cadena de suministro despu\u00e9s de que dos versiones recientemente publicadas del paquete npm introdujeran una dependencia maliciosa.<\/p>\n<p>Se ha descubierto que las versiones 1.14.1 y 0.30.4 de Axios inyectan \u00ab<a href=\"https:\/\/www.npmjs.com\/package\/plain-crypto-js\" rel=\"noopener\" target=\"_blank\">cripto-js simple<\/a>\u00bb versi\u00f3n 4.2.1 como una dependencia falsa.<\/p>\n<p>Seg\u00fan StepSecurity, las dos versiones fueron <a href=\"https:\/\/github.com\/axios\/axios\/issues\/10604\" rel=\"noopener\" target=\"_blank\">publicado<\/a> utilizando las credenciales npm comprometidas del mantenedor principal de Axios (\u00abjasonsaayman\u00bb), lo que permite a los atacantes eludir la canalizaci\u00f3n CI\/CD de GitHub Actions del proyecto.<\/p>\n<p>\u00abSu \u00fanico prop\u00f3sito es ejecutar un script posterior a la instalaci\u00f3n que act\u00faa como un gotero de troyano de acceso remoto (RAT) multiplataforma, dirigido a macOS, Windows y Linux\u00bb, dijo el investigador de seguridad Ashish Kurmi. <a href=\"https:\/\/www.stepsecurity.io\/blog\/axios-compromised-on-npm-malicious-versions-drop-remote-access-trojan\" rel=\"noopener\" target=\"_blank\">dicho<\/a>. \u00abEl dropper contacta con un servidor de comando y control en vivo y entrega cargas \u00fatiles de segunda etapa espec\u00edficas de la plataforma. Despu\u00e9s de la ejecuci\u00f3n, el malware se elimina y reemplaza su propio paquete.json con una versi\u00f3n limpia para evadir la detecci\u00f3n forense\u00bb.<\/p>\n<p>Los usuarios que tengan instaladas las versiones 1.14.1 o 0.30.4 de Axios deben rotar sus secretos y credenciales con efecto inmediato y bajar a una versi\u00f3n segura (1.14.0 o 0.30.3). Las versiones maliciosas, as\u00ed como \u00abplain-crypto-js\u00bb, ya no est\u00e1n disponibles para descargar desde npm.<\/p>\n<p>Con m\u00e1s de 83 millones de descargas semanales, Axios es uno de los clientes HTTP m\u00e1s utilizados en el ecosistema JavaScript en marcos frontend, servicios backend y aplicaciones empresariales.<\/p>\n<div class=\"dog_two clear\">\n<div class=\"cf\"><a href=\"https:\/\/thehackernews.uk\/not-fast-enough-d\" rel=\"nofollow noopener sponsored\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"lazyload\" alt=\"Ciberseguridad\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEhlXM830ruQd2xT6M7JNeNRjaFa1onD12WjSCHihTFMTzbyfT9h-irPmXy_h3E1HGSs6sdv7FTmnyNVTM5kmSb7BuUtZe8gKoTQt99P1sSzRcqqXpOJP6eoAOhR3DGb6qHx9kOZ_HBZUMmVnsnd0DM7QfUp81bgzTvvgLww6oqB-EhnDfWXH5pWCYhAsyLs\/s728-e100\/tl-d.jpg\" width=\"729\" height=\"91\"\/><\/a><\/div>\n<\/div>\n<p>\u00abEsto no fue oportunista\u00bb, a\u00f1adi\u00f3 Kurmi. \u00abLa dependencia maliciosa se organiz\u00f3 con 18 horas de anticipaci\u00f3n. Se preconstruyeron tres cargas \u00fatiles separadas para tres sistemas operativos. Ambas ramas de lanzamiento fueron atacadas en 39 minutos. Cada rastro fue dise\u00f1ado para autodestruirse\u00bb.<\/p>\n<p>La cronolog\u00eda del ataque es la siguiente:<\/p>\n<ul>\n<li>30 de marzo de 2026, 05:57 UTC: se publica una versi\u00f3n limpia del paquete \u00abplain-crypto-js@4.2.0\u00bb.<\/li>\n<li>30 de marzo de 2026, 23:59 UTC: se publica una nueva versi\u00f3n (\u00abplain-crypto-js@4.2.1\u00bb) con la carga \u00fatil agregada.<\/li>\n<li>31 de marzo de 2026, 00:21 UTC: se publica una nueva versi\u00f3n de Axios (\u00abaxios@1.14.1\u00bb) que inyecta \u00abplain-crypto-js@4.2.1\u00bb como una dependencia de tiempo de ejecuci\u00f3n utilizando la cuenta comprometida \u00abjasonsaayman\u00bb.<\/li>\n<li>31 de marzo de 2026, 01:00 UTC: se publica una nueva versi\u00f3n de Axios (\u00abaxios@0.30.4\u00bb) que inyecta \u00abplain-crypto-js@4.2.1\u00bb como una dependencia de tiempo de ejecuci\u00f3n utilizando la cuenta comprometida \u00abjasonsaayman\u00bb.<\/li>\n<\/ul>\n<p>Seg\u00fan StepSecurity, se dice que el actor de amenazas detr\u00e1s de la campa\u00f1a comprometi\u00f3 la cuenta npm de \u00abjasonsaayman\u00bb y cambi\u00f3 su direcci\u00f3n de correo electr\u00f3nico registrada a una direcci\u00f3n de Proton Mail bajo su control (\u00abifstap@proton.me\u00bb). El \u00abplain-crypto-js\u00bb fue publicado por un usuario de npm llamado \u00abnrwise\u00bb con la direcci\u00f3n de correo electr\u00f3nico \u00abnrwise@proton.me\u00bb.<\/p>\n<p>Se cree que el atacante obtuvo un token de acceso npm cl\u00e1sico de larga duraci\u00f3n para que la cuenta tomara el control y publicara directamente versiones envenenadas de Axios en el registro.<\/p>\n<p>El malware incrustado, por su parte, se lanza a trav\u00e9s de un dropper ofuscado de Node.js (\u00absetup.js\u00bb) y est\u00e1 dise\u00f1ado para ramificarse en una de las tres rutas de ataque basadas en el sistema operativo:<\/p>\n<ul>\n<li>En macOS, ejecuta una carga \u00fatil AppleScript para recuperar un binario troyano de un servidor externo (\u00absfrclak.com:8000\u00bb), guardarlo como \u00ab\/Library\/Caches\/com.apple.act.mond\u00bb, cambiar sus permisos para hacerlo ejecutable y ejecutarlo en segundo plano a trav\u00e9s de \/bin\/zsh. El archivo AppleScript se elimina despu\u00e9s de la ejecuci\u00f3n para cubrir las pistas.<\/li>\n<li>En Windows, localiza la ruta binaria de PowerShell, la copia en \u00ab%PROGRAMDATA%\\wt.exe\u00bb (disfraz\u00e1ndola de la aplicaci\u00f3n Terminal de Windows), escribe un script de Visual Basic (VBScript) en el directorio temporal y lo ejecuta. VBScript se pone en contacto con el mismo servidor para buscar un script PowerShell RAT y ejecutarlo. El archivo descargado se elimina.<\/li>\n<li>En otras plataformas (por ejemplo, Linux), el dropper ejecuta un comando de shell a trav\u00e9s de execSync de Node.js para recuperar un script Python RAT del mismo servidor y guardarlo en \u00ab\/tmp\/<a href=\"https:\/\/ld.py\" rel=\"noopener\" target=\"_blank\">ld.py<\/a>,\u00bb y ejec\u00fatelo en segundo plano usando el comando nohup.<\/li>\n<\/ul>\n<div class=\"separator\" style=\"clear: both;\"><a href=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiZYI1-U2x1NxniUyNqyOamnEjLToB2HSDCTN_Xm8buVSkf_sO0eQQl5xZmMaNty8X4oAM-drrAaEQvym9MT7Fnmr3aVYhaFrXNNAyIe-pQ53z697lxLBeDGnbLYjQhU3xbJ9VdpYz8iPu13c5Bd5gigvFcz5Z5BTXE50UrXuqQbVgbikRy8vH8CwSAW7Gn\/s1700-e365\/works.jpg\" style=\"display: block;  text-align: center; clear: left; float: left;\"><img decoding=\"async\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiZYI1-U2x1NxniUyNqyOamnEjLToB2HSDCTN_Xm8buVSkf_sO0eQQl5xZmMaNty8X4oAM-drrAaEQvym9MT7Fnmr3aVYhaFrXNNAyIe-pQ53z697lxLBeDGnbLYjQhU3xbJ9VdpYz8iPu13c5Bd5gigvFcz5Z5BTXE50UrXuqQbVgbikRy8vH8CwSAW7Gn\/s1700-e365\/works.jpg\" alt=\"\" border=\"0\" data-original-height=\"1056\" data-original-width=\"1211\"\/><\/a><\/div>\n<p>\u00abCada plataforma env\u00eda un cuerpo POST distinto a la misma URL C2: paquetes.npm.org\/product0 (macOS), paquetes.npm.org\/product1 (Windows), paquetes.npm.org\/product2 (Linux)\u00bb, dijo StepSecurity. \u00abEsto permite que el servidor C2 proporcione una carga \u00fatil apropiada para la plataforma en respuesta a un \u00fanico punto final\u00bb.<\/p>\n<p>El binario de segunda etapa descargado para macOS es un RAT C++ que toma huellas digitales del sistema y env\u00eda se\u00f1ales a un servidor remoto cada 60 segundos para recuperar comandos para su posterior ejecuci\u00f3n. Admite capacidades para ejecutar cargas \u00fatiles adicionales, ejecutar comandos de shell, enumerar el sistema de archivos y finalizar la RAT.<\/p>\n<p>Una vez que se inicia la carga \u00fatil principal, el malware Node.js tambi\u00e9n toma medidas para realizar tres pasos de limpieza forense: eliminando el script postinstalaci\u00f3n del directorio del paquete instalado, eliminando el \u00abpackage.json\u00bb, que hace referencia al gancho postinstalaci\u00f3n para iniciar el cuentagotas, y cambiando el nombre de \u00abpackage.md\u00bb a \u00abpackage.json\u00bb.<\/p>\n<p>Vale la pena se\u00f1alar que el archivo \u00abpackage.md\u00bb est\u00e1 incluido en \u00abplain-crypto-js\u00bb y es un manifiesto \u00abpackage.json\u00bb limpio sin el gancho postinstalaci\u00f3n que desencadena todo el ataque. Al cambiar los manifiestos del paquete, la idea es evitar generar se\u00f1ales de alerta durante la inspecci\u00f3n posterior a la infecci\u00f3n del paquete.<\/p>\n<div class=\"dog_two clear\">\n<div class=\"cf\"><a href=\"https:\/\/thehackernews.uk\/attack-stories-xmcyber-d\" rel=\"nofollow noopener sponsored\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"lazyload\" alt=\"Ciberseguridad\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEi10JhdzuuQKeU6vIJGPRAeffB5FYR9ajRiOfpp6hmgsP5GCmDcMdEKpiEEUZjkua9Y9R__l-63FpqNwAFgZzIdNR5lPIJcvvyBKIAu_nN7Z1TJoVUXrEvfQcWlJ0QhqMshOARvU3_B94NJNDbp-SiKAVfPFPibh_jcBpTfSPmCFxxJkPqL44kIFXL1WGEo\/s728-e100\/fs-d.png\" width=\"729\" height=\"91\"\/><\/a><\/div>\n<\/div>\n<p>\u00abNinguna versi\u00f3n maliciosa contiene una sola l\u00ednea de c\u00f3digo malicioso dentro del propio Axios\u00bb, dijo StepSecurity. \u00abEn cambio, ambos inyectan una dependencia falsa, Plain-crypto-js@4.2.1, un paquete que nunca se importa a ninguna parte del c\u00f3digo fuente de Axios, cuyo \u00fanico prop\u00f3sito es ejecutar un script posterior a la instalaci\u00f3n que implementa un troyano de acceso remoto multiplataforma (RAT)\u00bb.<\/p>\n<p>Se recomienda a los usuarios que realicen las siguientes acciones para determinar el compromiso:<\/p>\n<ul>\n<li>Busque las versiones maliciosas de Axios.<\/li>\n<li>Compruebe si hay artefactos RAT: \u00ab\/Library\/Caches\/com.apple.act.mond\u00bb (macOS), \u00ab%PROGRAMDATA%\\wt.exe\u00bb (Windows) y \u00ab\/tmp\/ld.py\u00bb (Linux).<\/li>\n<li>Cambie a las versiones 1.14.0 o 0.30.3 de Axios.<\/li>\n<li>Elimine \u00abplain-crypto-js\u00bb del directorio \u00abnode_modules\u00bb.<\/li>\n<li>Si se detectan artefactos RAT, asuma un compromiso y rote todas las credenciales en el sistema.<\/li>\n<li>Audite las canalizaciones de CI\/CD en busca de ejecuciones que instalaron las versiones afectadas.<\/li>\n<li>Bloquear el tr\u00e1fico de salida al dominio de comando y control (\u00absfrclak[.]es\u00bb)<\/li>\n<\/ul>\n<p>Socket, en su propio an\u00e1lisis del ataque, dijo que identific\u00f3 dos paquetes adicionales que distribuyen el mismo malware a trav\u00e9s de dependencias proporcionadas:<\/p>\n<p>En el caso de \u00ab@shadanai\/openclaw\u00bb, el paquete malicioso \u00abplain-crypto-js\u00bb est\u00e1 incrustado en lo profundo de una ruta proporcionada. Por otro lado, \u00ab@qqbrowser\/openclaw-qbot@0.0.130\u00bb incluye un \u00abaxios@1.14.1\u00bb manipulado en sus node_modules.<\/p>\n<p>\u00abEl axios real tiene s\u00f3lo tres dependencias (follow-redirects, form-data, proxy-from-env)\u00bb, la empresa de seguridad de la cadena de suministro <a href=\"https:\/\/socket.dev\/blog\/axios-npm-package-compromised\" rel=\"noopener\" target=\"_blank\">dicho<\/a>. \u00abLa adici\u00f3n de Plain-crypto-js es una manipulaci\u00f3n inequ\u00edvoca. Cuando npm procesa este axios suministrado, instala Plain-crypto-js y activa la misma cadena de postinstalaci\u00f3n maliciosa\u00bb.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>El popular cliente HTTP conocido como axios ha sufrido un ataque a la cadena de suministro despu\u00e9s de que dos versiones recientemente publicadas del paquete npm introdujeran una dependencia maliciosa. Se ha descubierto que las versiones 1.14.1 y 0.30.4 de Axios inyectan \u00abcripto-js simple\u00bb versi\u00f3n 4.2.1 como una dependencia falsa. Seg\u00fan StepSecurity, las dos versiones [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":108,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25,5],"tags":[181,1418,249,1420,1419,24,1327,280,277,209,250,76,132],"class_list":["post-411","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-noticias","category-trending","tag-ataque","tag-axios","tag-cadena","tag-comprometida","tag-cuenta","tag-cyberdefensa-mx","tag-impulsa","tag-multiplataforma","tag-npm","tag-rat","tag-suministro","tag-traves","tag-una"],"_links":{"self":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/posts\/411","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/comments?post=411"}],"version-history":[{"count":0,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/posts\/411\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/media\/108"}],"wp:attachment":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/media?parent=411"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/categories?post=411"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/tags?post=411"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}