{"id":11371,"date":"2026-03-31T10:53:28","date_gmt":"2026-03-31T16:53:28","guid":{"rendered":"https:\/\/beaconlab.us\/?post_type=publicacion&#038;p=11371"},"modified":"2026-04-01T10:03:33","modified_gmt":"2026-04-01T16:03:33","slug":"alerta-2026-31-paquetes-maliciosos-en-axios-publicados-por-npm","status":"publish","type":"publicacion","link":"https:\/\/beaconlab.us\/es\/publicacion\/alerta-2026-31-paquetes-maliciosos-en-axios-publicados-por-npm\/","title":{"rendered":"Alerta 2026-31 Paquetes maliciosos en Axios publicados por NPM"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Producto(s) afectado(s):&nbsp;<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Las versiones maliciosas de axios comprometidas en el ataque de cadena de suministro son&nbsp;<strong>1.14.1<\/strong>&nbsp;y&nbsp;<strong>0.30.4<\/strong>.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Descripci\u00f3n<\/h2>\n\n\n\n<p>Un sofisticado ataque a la cadena de suministro ha tenido como objetivo a Axios, uno de los clientes HTTP m\u00e1s utilizados dentro del ecosistema JavaScript, mediante la introducci\u00f3n de una dependencia transitiva maliciosa en el registro oficial de npm.<\/p>\n\n\n\n<p>Las versiones afetadas fueron <strong>1.14.1<\/strong>&nbsp;y&nbsp;<strong>0.30.4<\/strong>. y las mismas se han publicado el 30 de marzo de 2026 mediante la cuenta npm comprometida del mantenedor principal \u00abjasonsaayman\u00bb, quien cambi\u00f3 su email a uno de ProtonMail controlado por el atacante.<\/p>\n\n\n\n<p><br>Inyectan una dependencia oculta \u00abplain-crypto-js@4.2.1\u00bb, que ejecuta un script postinstall para desplegar un RAT (Remote Access Trojan) multiplataforma en macOS, Windows y Linux.<\/p>\n\n\n\n<p><br>El malware contacta un servidor C2, descarga payloads secundarios, se ejecuta y se auto-elimina, reemplazando su package.json para evadir detecci\u00f3n.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Mitigaci\u00f3n:<\/h2>\n\n\n\n<p>Las librer\u00edas comprometidas afectan a quienes ejecutaron \u00abnpm install\u00bb en esas versiones durante ~2 horas; npm las removi\u00f3 despu\u00e9s.<\/p>\n\n\n\n<p><br>La recomendaci\u00f3n es: reviertir axios a 1.14.0 \u00f3 a 0.30.3, revisa lockfiles\/package-lock.json, cambia credenciales y escanea sistemas.<\/p>\n\n\n\n<p>Comandos B\u00e1sicos:<\/p>\n\n\n\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\n<pre class=\"wp-block-preformatted\"># Ver versi\u00f3n instalada de axios<br>npm <strong>list<\/strong> axios<br># Buscar espec\u00edficamente las versiones comprometidas<br>npm <strong>list<\/strong> axios 2&gt;\/dev\/null | <strong>grep<\/strong> -E \"1\\.14\\.1|0\\.30\\.4\"<br># Buscar <strong>en<\/strong> package-lock.json (NPM)<br><strong>grep<\/strong> -A1 '\"axios\"' package-lock.json | <strong>grep<\/strong> -E \"1\\.14\\.1|0\\.30\\.4\"<br># Buscar <strong>en<\/strong> yarn.lock (Yarn)<br><strong>grep<\/strong> -E 'axios@' yarn.lock | <strong>grep<\/strong> -E \"1\\.14\\.1|0\\.30\\.4\"<br># Buscar <strong>el<\/strong> paquete RAT oculto<br><strong>ls<\/strong> node_modules | <strong>grep<\/strong> plain-crypto-js || <strong>echo<\/strong> \"No encontrado\"<br># Verificar postinstall scripts sospechosos<br><strong>grep<\/strong> -r \"postinstall\" node_modules\/axios\/ 2&gt;\/dev\/null || <strong>echo<\/strong> \"Sin scripts postinstall\"<\/pre>\n\n\n\n<p><\/p>\n<\/div>\n\n\n\n<p><br>Monitorea repositorios y usa herramientas como Snyk o npm audit para vulnerabilidades futuras.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td><strong>Paquete comprometido<\/strong><\/td><td><strong>Version<\/strong><\/td><td><strong>Dependencia maliciosa<\/strong><\/td><\/tr><\/thead><tbody><tr><td>Axios<\/td><td>1.14.1<\/td><td>plain-crypto-js@4.2.1&nbsp;<\/td><\/tr><tr><td>Axios<\/td><td>0.30.4<\/td><td>plain-crypto-js@4.2.1&nbsp;<\/td><\/tr><tr><td>plain-crypto-js<\/td><td>4.2.1<\/td><td>Primary Malicious Payload&nbsp;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>A continuaci\u00f3n listamos, algunos de los paquetes mas conocidos que dependen de <strong>axios<\/strong>, es importante revisar el package-lock.json :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>auth0 <\/li>\n\n\n\n<li>alchemy-sdk <\/li>\n\n\n\n<li>@tavily\/core <\/li>\n\n\n\n<li>@slack\/web-api<\/li>\n\n\n\n<li>aws-crt<\/li>\n\n\n\n<li>contentful-management<\/li>\n\n\n\n<li>@coinbase\/cdp-sdk<\/li>\n\n\n\n<li>postmark &#8211;<\/li>\n\n\n\n<li><a href=\"https:\/\/x.com\/SAP\">@sap<\/a>-cloud-sdk\/core<\/li>\n\n\n\n<li>fastmcp<\/li>\n\n\n\n<li>mcp-proxy<\/li>\n\n\n\n<li>swagger-client<\/li>\n\n\n\n<li>wagmi<\/li>\n\n\n\n<li>gatsby<\/li>\n\n\n\n<li>wait-on<\/li>\n\n\n\n<li>posthog-node<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Informaci\u00f3n adicional:<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/cybersecuritynews.com\/axios-npm-packages-compromised\/\">https:\/\/cybersecuritynews.com\/axios-npm-packages-compromised\/<\/a><\/li>\n<\/ul>\n","protected":false},"featured_media":11374,"template":"","class_list":["post-11371","publicacion","type-publicacion","status-publish","has-post-thumbnail","hentry"],"acf":{"activar_pdf_link":false,"pdf":null,"numero_de_boletin":"31","traffic_light_protocol":"Amber"},"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/beaconlab.us\/es\/wp-json\/wp\/v2\/publicacion\/11371","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/beaconlab.us\/es\/wp-json\/wp\/v2\/publicacion"}],"about":[{"href":"https:\/\/beaconlab.us\/es\/wp-json\/wp\/v2\/types\/publicacion"}],"version-history":[{"count":3,"href":"https:\/\/beaconlab.us\/es\/wp-json\/wp\/v2\/publicacion\/11371\/revisions"}],"predecessor-version":[{"id":11383,"href":"https:\/\/beaconlab.us\/es\/wp-json\/wp\/v2\/publicacion\/11371\/revisions\/11383"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/beaconlab.us\/es\/wp-json\/wp\/v2\/media\/11374"}],"wp:attachment":[{"href":"https:\/\/beaconlab.us\/es\/wp-json\/wp\/v2\/media?parent=11371"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}