{"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-04-01T14:33:29","modified_gmt":"2026-04-01T18:33:29","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>","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-04-01T18:33:33Z","apple_news_api_revision":"AAAAAAAAAAD\/\/\/\/\/\/\/\/\/\/w==","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":1,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/51450\/revisions"}],"predecessor-version":[{"id":51451,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/51450\/revisions\/51451"}],"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}]}}