npmの人気パッケージ「axios」で不正公開、サプライチェーン攻撃か

npmの人気パッケージ「axios」で不正公開、サプライチェーン攻撃か

ありがとうございます!

ツイートする

JavaScript向けHTTPクライアントとして広く使われる「axios」で、npm上の一部公開バージョンが侵害されたとみられる問題が起きました。
2026年3月31日、axios の GitHub では axios@1.14.1axios@0.30.4 が侵害されたとするIssue が公開され、別の関連Issue はすでに削除済みになっています。

何が起きたのか

今回ややこしいのは、「axios の本体ソースに露骨な不正なコードが混ざった」わけではない点です。StepSecurity や Socket の分析によると、問題のバージョンでは plain-crypto-js@4.2.1 という新しい依存関係が追加されており、この依存が postinstall を通じて macOS、Windows、Linux 向けのペイロードを落とす仕組みだったとされます。
しかも、この依存はaxios のソースコードからは参照されておらず、インストール時に悪性処理を走らせるためだけに入れられた可能性が高いとみられています。

不自然だったリリース経路

不審さを強めているのが、GitHub上の通常のリリース履歴との食い違いです。確認時点でaxiosのGitHub Releasesにはv1.14.0が最新として表示されており、少なくとも通常の公開履歴としては1.14.10.30.4に対応するリリースが見当たりません。
今回問題になったバージョンは、通常のリリース運用とは異なる形でnpmに公開された可能性があります

侵害の背景については、複数の調査会社がメンテナーのnpm 認証情報、あるいは公開権限のあるアカウントが乗っ取られた可能性が高いとみています。axiosのIssueでも、メンテナーのGitHubやnpmアカウントが侵害された可能性が示唆されており、StepSecurityとAikidoも、乗っ取られたメンテナーアカウントを通じて問題のバージョンが公開されたとの見方を示しています。

これについて、StepSecurity は、攻撃者がメンテナーのアカウント情報を書き換えたうえで、通常の GitHub Actions パイプラインを使わずnpm CLI から手動で公開したと説明しています。
Aikido もほぼ同様の見方を示し、axios@1.14.1 は 3月31日 00時21分 UTC、axios@0.30.4 は 01時00分 UTC に公開されたとしています。

影響が大きい理由

影響の大きさも無視できません。axios はnpm でも特に利用の多い定番パッケージで、週次ダウンロード数についてはSocket が約1億件、StepSecurity や Aikido は3億件超としています。
集計時点や算出方法に差はあるようですが、少なくとも「かなり広域に影響を及ぼすライブラリ」である点は共通しています。普段どおりのnpm installnpm update の延長で踏んでしまう危険があった、というのが今回の怖さです。

利用者が確認すべきこと

利用者側では、まずaxios@1.14.1またはaxios@0.30.4をインストールした形跡がないかを確認する必要があります。Aikidoは、これらのバージョンを取り込んでいた場合は単なる依存更新事故ではなく、システム侵害の可能性を前提に調査すべきだと勧告しています。
具体的には、安全版として 1.14.00.30.3 に固定したうえで、plain-crypto-js@4.2.1 の有無、macOS なら /Library/Caches/com.apple.act.mond、Windows なら %PROGRAMDATA%\wt.exe、Linux なら /tmp/ld.py といった痕跡を確認し、必要に応じて秘密情報のローテーションやクリーンな環境への再構築を検討すべきだとしています。

まとめ

axios の今回の問題は、ライブラリ本体のコードレビューでは防ぎにくい、典型的なサプライチェーン攻撃でした。
現時点で強く疑われている問題となるバージョンは1.14.10.30.4で、攻撃は追加された依存関係を通じてpostinstall時にマルウェアを展開する形だったとみられています。
開発現場では、該当バージョンの混入有無を確認するとともに、インストール済み環境やCI基盤の点検、公開権限の見直しを急いだほうがよさそうです。