サプライチェーン攻撃がnpmに大打撃:axiosのメンテナーのアカウントが盗まれ、週3億ダウンロード分がすべて危急の状態に陥っている

供應鏈攻擊重挫npm

安全研究機関 Socket は 3 月 31 日に、npm コアパッケージ axios がアクティブなサプライチェーン攻撃を受けていることを検知しました。攻撃者は axios の主要メンテナー jasonsaayman の npm アカウントに侵入し、不正なバージョンを公開して悪意のある依存パッケージを注入し、クロスプラットフォームのリモートアクセストロイの木馬(RAT)を展開するために利用しました。標的は macOS、Windows、Linux システムです。

攻撃チェーンの解析:アカウント侵害から RAT 自滅までの完全な流れ

axios供應鏈攻擊 (出典:Socket)

今回の事案は、入念に計画された多段階のサプライチェーン攻撃です。攻撃者はまずメンテナーのアカウントを侵害し、メールアドレスを ifstap@proton.me に変更し、次に盗み取った npm のアクセス資格情報を使って手動で悪意のあるバージョンを公開し、axios の正規の GitHub Actions + OIDC Trusted Publisher による公開プロセスを完全に迂回しました。2 つの悪意のあるバージョンはいずれも GitHub リポジトリ上に対応するコミット、タグ、またはリリースの記録がありません。

攻撃者の準備も同様に精密でした。別のアカウント(nrwise、nrwise@proton.me)を約 18 時間前から制御し、履歴を作るためにクリーンなデコイバージョン plain-crypto-js@4.2.0 を先に公開し、その後 3 月 30 日 23:59 UTC に悪意のある 4.2.1 バージョンを公開しました。

悪意のある postinstall hook が実行された後、RAT 投下者(setup.js)はコマンド・アンド・コントロールサーバー sfrclak[.]com:8000 に接続してプラットフォーム固有のペイロードを投下し、完了後に自滅し、package.json をクリーンなスタブに置き換えます。これにより、事後確認で node_modules ディレクトリに感染の痕跡を見つけられないようにしています。

攻撃の重要な技術指標(IOC)

悪意のあるパッケージのバージョン:axios@1.14.1、axios@0.30.4、plain-crypto-js@4.2.1

C2 サーバー:sfrclak[.]com / 142.11.206.73 / [.]com:8000

macOS 感染痕跡:/Library/Caches/com.apple.act.mond

Windows 感染痕跡:%PROGRAMDATA%\wt.exe、%TEMP%\6202033.vbs

Linux 感染痕跡:/tmp/ld.py

攻撃者アカウント:jasonsaayman(侵害済み)、nrwise(攻撃者が作成したアカウント)

緊急対応ガイド:影響の確認と復旧手順

悪意のある投下者は実行後に自滅するため、node_modules ディレクトリの確認では感染を特定できません。正しい方法は、lockfile(package-lock.json または yarn.lock)を直接確認し、axios@1.14.1 または axios@0.30.4 のバージョン記録が含まれているかどうかを調べることです。

安全なバージョンへのロールバック:1.x ユーザーは axios@1.14.0 へダウングレード;0.x ユーザーは axios@0.30.3 へダウングレードし、あわせて node_modules から plain-crypto-js ディレクトリを削除したうえで依存関係を再インストールします。

もしシステム内で RAT の感染痕跡(com.apple.act.mond、wt.exe、ld.py)が見つかった場合、現場での削除を試みないでください。既知の正常な状態から再構築し、さらに直ちに、npm トークン、AWS アクセスキー、SSH 秘密鍵、CI/CD 設定のキー、.env ファイルの値など、あらゆる可能性のある露出した資格情報をローテーションしてください。

暗号資産および Web3 開発者にとって、axios は多くの DeFi プロトコルのフロントエンド、暗号資産管理ツール、ならびにオンチェーンデータ照会サービスの中核となる HTTP ライブラリです。感染した開発環境では、ウォレットの秘密鍵、シードフレーズ、または API キーが攻撃者に漏えいする可能性があります。機密資格情報を優先的に精査し、すべての機密資格情報をローテーションすることを推奨します。

よくある質問

影響を受けた axios のバージョンがインストールされているかどうか確認するには?

悪意のある投下者は実行後に自滅するため、node_modules ディレクトリの確認では感染を特定できません。lockfile に axios@1.14.1 または axios@0.30.4 の記録が含まれているかを直接確認し、さらに node_modules 内に plain-crypto-js ディレクトリが存在するかどうかを確認します。実行可能な npm list axios、または lockfile 内のバージョン文字列を直接検索します。

今回のサプライチェーン攻撃は暗号資産および Web3 開発者にどのような特別な影響がありますか?

axios は Web3 のフロントエンドアプリケーションや DeFi プロトコルのインターフェースでよく使われる HTTP ライブラリです。感染した開発環境では、秘密鍵、シードフレーズ、取引所 API キー、または CI/CD 設定などの機密資格情報が攻撃者に露出する可能性があります。関連する開発者は、優先的に精査し、すべての可能性のある暗号関連の機密資格情報をローテーションすべきです。

今後の npm サプライチェーン攻撃への対策は?

主な予防策には以下が含まれます:CI/CD では常に npm ci --ignore-scripts を使用して postinstall hook を無効化する;重要な依存パッケージにバージョン固定を適用する;lockfile の変更履歴を定期的に審査する;そして Socket、Aikido などのツールを導入して依存パッケージに対する即時のマルウェア監視を行う。

免責事項:このページの情報は第三者から提供される場合があり、Gateの見解または意見を代表するものではありません。このページに表示される内容は参考情報のみであり、いかなる金融、投資、または法律上の助言を構成するものではありません。Gateは情報の正確性または完全性を保証せず、当該情報の利用に起因するいかなる損失についても責任を負いません。仮想資産への投資は高いリスクを伴い、大きな価格変動の影響を受けます。投資元本の全額を失う可能性があります。関連するリスクを十分に理解したうえで、ご自身の財務状況およびリスク許容度に基づき慎重に判断してください。詳細は免責事項をご参照ください。
コメント
0/400
コメントなし