14
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【緊急】axiosがサプライチェーン攻撃を受けました 今すぐ確認・対処してください(2026/03/31)

14
Posted at

はじめに

2026年3月31日、npmで最も利用されているHTTPクライアントライブラリ axios がサプライチェーン攻撃を受けました。

リードメンテナーのnpmアカウントが乗っ取られ、マルウェアを含むバージョンが公開されています。

axiosは週間ダウンロード数が1億超のパッケージです。直接使っていなくても、依存関係の中に含まれている可能性が高いため、すべてのNode.js開発者が確認すべき事案です。

侵害されたバージョン

項目 内容
危険なバージョン axios@1.14.1axios@0.30.4
安全なバージョン axios@1.14.0axios@0.30.3
悪意あるパッケージ plain-crypto-js@4.2.1(依存として追加された)
マルウェア種別 クロスプラットフォーム RAT ドロッパー

axios@1.14.1 または axios@0.30.4 を使用している場合、あなたの環境は侵害されている可能性があります。

何が起きたのか

  1. メンテナーのnpmアカウントが乗っ取られた
  2. 攻撃者が事前に悪意あるパッケージ plain-crypto-js@4.2.1 をnpmに公開
  3. axiosの2つのバージョン(1.x系と0.x系)に、このパッケージを依存として追加
  4. npm install 時の postinstall スクリプトでマルウェアが実行される
  5. C2(コマンド&コントロール)サーバーと通信し、OS別のマルウェアを配置

マルウェアが配置されるパス

OS パス
macOS /Library/Caches/com.apple.act.mond
Windows %PROGRAMDATA%\wt.exe
Linux /tmp/ld.py

今すぐやること

Step 1: 自分のプロジェクトで確認する

# axiosのバージョン確認
npm list axios

# 悪意あるパッケージが含まれていないか確認
npm list plain-crypto-js

yarn / pnpm を使っている場合:

# yarn
yarn list --pattern axios
yarn list --pattern plain-crypto-js

# pnpm
pnpm list axios
pnpm list plain-crypto-js

Step 2: マルウェアの痕跡を確認する

# macOS
ls -la /Library/Caches/com.apple.act.mond

# Linux
ls -la /tmp/ld.py

# Windows(PowerShell)
Test-Path "$env:PROGRAMDATA\wt.exe"

ネットワークのIoC(侵害指標):

  • C2ドメイン: sfrclak.com
  • C2 IP: 142.11.206.73

ファイアウォールやログで上記への通信がないか確認してください。

Step 3: 安全なバージョンに固定する

侵害バージョンでなかった場合も、今後の意図しないアップデートを防ぐために、バージョンを固定してください。

// package.json
{
  "dependencies": {
    "axios": "1.14.0"
  },
  "overrides": {
    "axios": "1.14.0"
  }
}
# クリーンインストール
rm -rf node_modules package-lock.json
npm install

Step 4: 感染していた場合

感染が確認された場合は、以下を実行してください:

  1. そのマシンで npm install を絶対に実行しない(被害が拡大する)
  2. システムをネットワークから隔離する
  3. すべてのシークレット・APIキー・トークンをローテーションする
    • .env に書かれている値
    • CI/CDの環境変数
    • データベースの認証情報
    • クラウドサービスのアクセスキー
  4. node_modules とロックファイルを削除して、安全なバージョンでクリーンインストール

直接axiosを使っていなくても要確認

axiosは多くのパッケージの推移的依存関係として含まれています。以下のようなケースで知らずに含まれていることがあります:

  • フロントエンドフレームワークのHTTPモジュール
  • バックエンドSDK(AWS SDK、Firebase Admin等)
  • テスト・ビルドツールのプラグイン
  • サードパーティライブラリの内部依存

必ず npm list axios 等で確認してください。

CI/CDでの防御策

今回の件に限らず、サプライチェーン攻撃への基本的な防御策です。

# postinstall スクリプトを無効化してインストール
npm install --ignore-scripts

# ロックファイルに基づく厳密なインストール(CI/CD推奨)
npm ci
yarn install --frozen-lockfile
pnpm install --frozen-lockfile

タイムライン(UTC)

日時 イベント
2026/03/30 23:59 plain-crypto-js@4.2.1 がnpmに公開
2026/03/31 00:05 Socket AI が自動検知
2026/03/31 ~00:38 侵害版 axios が両ブランチで公開(39分以内)
数時間以内 StepSecurity が警告を公開
現在 攻撃は進行中

まとめ

  • axios@1.14.1axios@0.30.4 は使わないでください
  • 安全なバージョン(1.14.0 / 0.30.3)に固定してください
  • 直接使っていなくても、推移的依存として含まれている可能性があります
  • 感染していた場合は、すべてのシークレットのローテーションが必要です

サプライチェーン攻撃は「自分には関係ない」と思いがちですが、週間1億DLのパッケージが攻撃対象になった以上、Node.jsを使うすべての開発者に影響があり得ます。まずは確認だけでもしてください。

14
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?