ラボまとめコラムニュース
ブログ/記事一覧/【要確認】axiosにマルウェア混入、週間1億DLのnpmパッケージにRAT
axios-npm-supply-chain-attack-rat-cover

【要確認】axiosにマルウェア混入、週間1億DLのnpmパッケージにRAT

JavaScriptの定番HTTPクライアントaxiosが乗っ取られ、バージョン1.14.1と0.30.4にリモートアクセス型トロイの木馬が混入。北朝鮮UNC1069の犯行とMandiantが帰属。影響確認方法を解説。

ニュース
kkm-horikawa

kkm

Backend Engineer / AWS / Django

2026.04.018 min6 views
この記事のポイント

JavaScriptの定番HTTPクライアントaxiosが乗っ取られ、バージョン1.14.1と0.30.4にリモートアクセス型トロイの木馬が混入。北朝鮮UNC1069の犯行とMandiantが帰属。影響確認方法を解説。

週間1億DLの「axios」にマルウェアが仕込まれた

JavaScriptの定番HTTPクライアントaxiosが、サプライチェーン攻撃によって乗っ取られました。2026年3月31日未明(UTC)に公開されたバージョン1.14.10.30.4に、Windows・macOS・Linux全対応のリモートアクセス型トロイの木馬(RAT)が埋め込まれていたことが判明しています。

axiosは週間ダウンロード数が1億を超えるnpmパッケージで、フロントエンドからバックエンドまで幅広く使われています。Wizの分析によれば、クラウド環境の約80%にaxiosが存在するとされています。汚染されたバージョンがnpm上に存在していたのは約3時間。その間にnpm installを実行した開発マシンが感染対象です。

Google Threat Intelligence Group(GTIG)/ Mandiantは、この攻撃を北朝鮮と結びつくサイバー攻撃グループUNC1069(別名: CryptoCore)によるものと帰属しました。

axiosとサプライチェーン攻撃

axiosはブラウザとNode.jsの両方で動くHTTPクライアントライブラリです。APIとの通信処理を書くとき、ほとんどのJavaScript開発者が真っ先に選ぶ選択肢のひとつで、React・Vue・Expressなど主要フレームワークと組み合わせて使われています。

サプライチェーン攻撃とは、ソフトウェアの開発・配布の過程に介入し、正規のパッケージにマルウェアを混入させる手法です。開発者は信頼しているライブラリをnpm installするだけで感染します。今回は、axiosの正規メンテナーのアカウントが乗っ取られ、公式のnpmレジストリから汚染バージョンが配布されました。

なぜ起きたのか ― メンテナーのアカウント乗っ取りからRAT配布まで

攻撃の起点は、axiosの主要メンテナーであるjasonsaaymanのnpmアカウントの乗っ取りです。Elastic Security Labsの詳細分析によれば、攻撃者は長期間有効なクラシックnpmアクセストークンを使ってアカウントを奪取しました。

厄介なのは、axiosのv1.xブランチではOIDC(OpenID Connect)による安全な公開設定が有効だったにもかかわらず、CIのワークフローがOIDCと同時にNPM_TOKENも環境変数として渡していた点です。npmは両方が存在するとトークンを優先するため、OIDCの保護が実質的に機能していませんでした。

攻撃者はpackage.jsonだけを変更し、plain-crypto-jsという依存パッケージを追加しました。axiosのライブラリ本体(85ファイル)は1バイトも変わっていません。このplain-crypto-jsが本体です。

plain-crypto-jsのpostinstallスクリプト(setup.js)がnpm installの直後に自動実行され、C2サーバー(sfrclak[.]com:8000)に接続します。Huntressの調査では、インストール開始から89秒以内に感染が成立したことが確認されています。C2からOSに応じたRAT(リモートアクセス型トロイの木馬)がダウンロードされ、以降は攻撃者が端末を遠隔操作できるようになります。

OSRATの配置先実行方法
macOS/Library/Caches/
com.apple.act.mond
AppleScript経由で
C++バイナリを実行
Windows%PROGRAMDATA%\wt.exeVBScript + PowerShell
(非表示モード)
Linux/tmp/ld.pyPythonスクリプト
(PID 1に孤立化)

RATは60秒間隔でC2にビーコンを送り、ホスト名・ユーザー名・OS情報・実行中のプロセスを報告します。攻撃者はコマンドひとつでファイルシステムの走査、インメモリでのPE注入(プログラムの実行)、認証情報の窃取を行えます。AWSやGCPのクラウドトークン、SSHキーも窃取対象です。

さらに巧妙なのは証拠隠滅です。setup.jsは実行後に自身を削除し、汚染されたpackage.jsonも消去して、あらかじめ用意しておいたクリーンなバージョン番号が記載されたファイルに差し替えます。事後にnpm listnpm auditを実行しても、異常は表示されません。

3月27日〜31日、何が起きたか

← スワイプで移動

各方面の反応 ― npmの対応、メンテナーの声明、セキュリティ企業の分析

npmは汚染バージョンを約3時間で削除し、plain-crypto-jsをセキュリティスタブに置換しました。ただし、この3時間の間にインストールを実行した環境は、すでにRATが動いている可能性があります。

乗っ取られたメンテナーのjasonsaayman氏は、GitHubのイシュー#10604で「2FA/MFAはほぼ全てに設定していた。どうやってこんなことが起きたのか理解しようとしている」と声明を出しています。

Elastic Security Labsは攻撃開始の前日(3月30日)に自動監視で異常を検知し、GitHub Security Advisoryを申請しています。StepSecurityはHarden-RunnerによるCI/CD監視で検出、Socketは汚染バージョンの公開から約6分で検知に成功したとしています。

Google/MandiantのCTO Charles Carmakal氏は「この2週間で盗まれた認証情報が、今後数日から数週間、数ヶ月にわたってさらなるサプライチェーン攻撃、SaaS環境への侵入、ランサムウェア、暗号通貨窃盗を引き起こす」と警告しています

開発者コミュニティの反応

日本語訳

「緊急: axiosに対するアクティブなサプライチェーン攻撃が進行中...」 ― Feross(Socket.dev創業者)

日本語訳

「axiosがやられた。これはかなりまずい」 ― Theo(t3.gg)

日本語訳

Snykのセキュリティチームによる攻撃の詳細分析スレッド。週間3億DL以上のパッケージが対象だったと報告。

技術的に見ると ― 自分のプロジェクトは大丈夫なのか

まず確認すべきは、3月31日の0:21〜3:29(UTC)の約3時間にnpm installを実行したかどうかです。CI/CDの実行ログ、デプロイ履歴、ローカルのシェル履歴を見てください。この時間帯に一度もインストールを実行していなければ、影響を受けていない可能性が高いです。

具体的な確認方法としては、package-lock.jsonにaxios 1.14.1または0.30.4が記録されていないか検索します。またnode_modules/plain-crypto-js/ディレクトリが存在する場合、ドロッパーが実行された可能性があります。先述のとおり、setup.jsは実行後に自己削除し、package.jsonをクリーン版に差し替えるため、npm auditでは検出されません。ディレクトリの存在自体が「何かが実行された」証拠になります。

RATがインストールされた痕跡は、OSごとに確認できます。macOSなら/Library/Caches/com.apple.act.mond、Windowsなら%PROGRAMDATA%\wt.exe、Linuxなら/tmp/ld.pyの存在を確認してください。これらのファイルが見つかった場合は、マシンが完全に侵害されていると考えるべきです。

侵害が確認された場合、その場で駆除しようとしないでください。攻撃者は認証情報の窃取を行っている可能性があるため、既知の安全な状態からマシンを再構築し、npmトークン、AWSキー、SSHキー、CI/CDシークレット、.envに記載された値をすべてローテーションすることが推奨されています。

なお、axiosを使って構築されたブラウザで動くWebアプリケーションのエンドユーザーは直接の影響を受けません。感染ベクトルはインストール/ビルド時のpostinstallスクリプトであり、アプリの実行時ではありません。リスクがあるのは、この時間帯にnpm installを実行した開発マシンとCI/CD環境です。

npmトップ10パッケージが初めて陥落した

Mandiantは今回の攻撃を、3月19日〜27日に4つのOSSプロジェクトを連続して侵害したTeamPCPキャンペーンの延長線上にあると分析しています。同じ攻撃グループが、より大きな獲物を狙ってエスカレートした形です。Trivyから始まった連鎖攻撃の記事でお伝えしたように、セキュリティツール自体を狙う攻撃が続いていますが、今回はさらにその先、開発エコシステムの基盤ライブラリにまで手が伸びました。

GTIGのチーフアナリストJohn Hultquist氏は「北朝鮮のハッカーはサプライチェーン攻撃に深い経験を持ち、歴史的にそれを暗号通貨窃盗に利用してきた。今回の事件の全容はまだ明らかではないが、侵害されたパッケージの人気を考えると、影響は広範囲に及ぶだろう」と述べています。

axiosクラスのパッケージがnpmレジストリ上で乗っ取られたのは今回が初めてです。3時間という短い窓ではありましたが、Wizの調査では影響を受けた環境の3%でRATの実行が確認されています。盗まれた認証情報が次の攻撃の足がかりになる以上、影響はこの3時間だけでは終わりません。

参照元