{"id":51450,"date":"2026-04-01T14:33:29","date_gmt":"2026-04-01T18:33:29","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=51450"},"modified":"2026-05-19T13:33:38","modified_gmt":"2026-05-19T17:33:38","slug":"axios-compromised-on-npm","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2026\/04\/01\/axios-compromised-on-npm\/","title":{"rendered":"axios Compromised on NPM"},"content":{"rendered":"<p><a href=\"https:\/\/www.stepsecurity.io\/blog\/axios-compromised-on-npm-malicious-versions-drop-remote-access-trojan\">Ashish Kurmi<\/a> (<a href=\"https:\/\/news.ycombinator.com\/item?id=47582220\">Hacker News<\/a>):<\/p>\n<blockquote cite=\"https:\/\/www.stepsecurity.io\/blog\/axios-compromised-on-npm-malicious-versions-drop-remote-access-trojan\">\n<p>axios is the most popular JavaScript HTTP client library with over 100 million weekly downloads. On March 30, 2026, StepSecurity identified two malicious versions of the widely used <code>axios<\/code> HTTP client library published to npm: <code>axios@1.14.1<\/code> and <code>axios@0.30.4<\/code>. The malicious versions inject a new dependency, <code>plain-crypto-js@4.2.1<\/code>, which is never imported anywhere in the axios source code. Its sole purpose is to execute a <code>postinstall<\/code> script that acts as a cross platform remote access trojan (RAT) dropper, targeting macOS, Windows, and Linux. The dropper contacts a live command and control server and delivers platform specific second stage payloads. After execution, the malware deletes itself and replaces its own <code>package.json<\/code> with a clean version to evade forensic detection.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/www.theregister.com\/2026\/03\/31\/axios_npm_backdoor_rat\/\">Carly Page<\/a>:<\/p>\n<blockquote cite=\"https:\/\/www.theregister.com\/2026\/03\/31\/axios_npm_backdoor_rat\/\">\n<p>The releases didn&rsquo;t come through the project&rsquo;s usual build process either. Security firm <a href=\"https:\/\/www.stepsecurity.io\/blog\/axios-compromised-on-npm-malicious-versions-drop-remote-access-trojan\">StepSecurity<\/a> found that both versions were published via the compromised npm account of &ldquo;jasonsaayman,&rdquo; the project&rsquo;s primary maintainer, who was <a href=\"https:\/\/socket.dev\/blog\/axios-npm-package-compromised\">reportedly<\/a> locked out of the account while the packages were being pushed.<\/p>\n<p>The attackers swapped the account&rsquo;s email address for an anonymous ProtonMail inbox and pushed the infected packages manually via the npm CLI, completely bypassing the project&rsquo;s GitHub Actions CI\/CD pipeline and the safeguards developers tend to assume are in place.<\/p>\n<\/blockquote>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2025\/12\/04\/npm-supply-chain-attack\/\">NPM Supply Chain Attack<\/a><\/li>\n<\/ul>\n\n<p id=\"axios-compromised-on-npm-update-2026-05-19\">Update (<a href=\"#axios-compromised-on-npm-update-2026-05-19\">2026-05-19<\/a>): <a href=\"https:\/\/safedep.io\/mini-shai-hulud-strikes-again-314-npm-packages-compromised\/\">SafeDep Team<\/a> (via <a href=\"https:\/\/news.ycombinator.com\/item?id=48189368\">Hacker News<\/a>):<\/p>\n<blockquote cite=\"https:\/\/safedep.io\/mini-shai-hulud-strikes-again-314-npm-packages-compromised\/\">\n<p>The npm account <code>atool<\/code> (<code>i@hust.cc<\/code>) was compromised on May 19, 2026. The attacker published 637 malicious versions across 317 packages in a 22-minute automated burst. Affected packages include <code>size-sensor<\/code> (4.2M downloads\/month), <code>echarts-for-react<\/code> (3.8M), <code>@antv\/scale<\/code> (2.2M), <code>timeago.js<\/code> (1.15M), and hundreds of <code>@antv<\/code> scoped packages. The payload is a 498KB obfuscated Bun script that matches the <a href=\"https:\/\/safedep.io\/mini-shai-hulud-and-sap-compromise\">Mini Shai-Hulud toolkit<\/a> used in the SAP compromise three weeks earlier: same scanner architecture[&#8230;]<\/p>\n<\/blockquote>","protected":false},"excerpt":{"rendered":"<p>Ashish Kurmi (Hacker News): axios is the most popular JavaScript HTTP client library with over 100 million weekly downloads. On March 30, 2026, StepSecurity identified two malicious versions of the widely used axios HTTP client library published to npm: axios@1.14.1 and axios@0.30.4. The malicious versions inject a new dependency, plain-crypto-js@4.2.1, which is never imported anywhere [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2026-04-01T18:33:32Z","apple_news_api_id":"54b5c568-773f-4f1e-8608-062e4fccffcd","apple_news_api_modified_at":"2026-05-19T17:33:42Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAAAA==","apple_news_api_share_url":"https:\/\/apple.news\/AVLXFaHc_Tx6GCAYuT8z_zQ","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[4],"tags":[346,504,1136,991,71,48],"class_list":["post-51450","post","type-post","status-publish","format-standard","hentry","category-programming-category","tag-javascript","tag-malware","tag-node-js","tag-open-source-software","tag-programming","tag-security"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/51450","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=51450"}],"version-history":[{"count":2,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/51450\/revisions"}],"predecessor-version":[{"id":51949,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/51450\/revisions\/51949"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=51450"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=51450"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=51450"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}