2026年サプライチェーン攻撃まとめ — Axios・LiteLLM事件から学ぶ実践的な防御策 | GH Media
URLがコピーされました

2026年サプライチェーン攻撃まとめ — Axios・LiteLLM事件から学ぶ実践的な防御策

URLがコピーされました
2026年サプライチェーン攻撃まとめ — Axios・LiteLLM事件から学ぶ実践的な防御策

2週間で4つのOSSプロジェクトが陥落

2026年3月19日から31日までのわずか2週間で、OSSエコシステムを揺るがす連鎖的なサプライチェーン攻撃が発生しました。セキュリティ研究者が「TeamPCPキャンペーン」と呼ぶこの一連の攻撃は、GitHub Actions → PyPI → npm と横展開し、4つの主要プロジェクトを侵害しています。

日付対象エコシステム手法
3/19Trivy(脆弱性スキャナー)GitHub ActionsGitHub Actionのバックドア化
3/23KICS(IaCスキャナー)GitHub Actions同上
3/24LiteLLM v1.82.7/1.82.8PyPITrivy経由で窃取したPyPI認証情報を使用
3/27TelnyxPyPI同手法
3/31Axios v1.14.1/v0.30.4npmメンテナーアカウント乗っ取り

Axios事件 — 週間1億DLのパッケージが約3時間汚染

何が起きたか

3月31日、Axiosのメンテナーのnpmアカウントが乗っ取られ、39分間で2つの悪意あるバージョンが公開されました。

  • v1.14.1v0.30.4 に悪意ある依存パッケージ plain-crypto-js が追加
  • postinstall フックでクロスプラットフォームRAT(Remote Access Trojan)をダウンロード・実行
  • 約2〜3時間で検知・削除されたが、その間にインストールされたプロジェクトは影響を受けた可能性

Google Threat Intelligenceは、この攻撃を北朝鮮関連グループ UNC1069(Microsoftは Sapphire Sleet として追跡)に帰属しています。

なぜ危険だったか

Axiosは週間約1億ダウンロードを誇るHTTPクライアントライブラリです。npm install や CI/CD の自動ビルド時に postinstall スクリプトが実行されるため、インストールしただけでマルウェアが実行される仕組みでした。

LiteLLM事件 — CI/CDパイプラインを経由した連鎖攻撃

攻撃の流れ

LiteLLMの攻撃は、先にバックドア化されたTrivyのGitHub Actionを起点とする連鎖攻撃でした。

  1. Trivy GitHub Action のソースコードにバックドアが仕込まれる
  2. LiteLLMのCI/CDパイプラインがTrivyを使用していたため、PyPI認証情報が漏洩
  3. 攻撃者が窃取した認証情報でPyPIに悪意あるバージョンを公開
  4. litellm_init.pth という .pth ファイルが含まれ、Pythonプロセス起動時に自動実行

.pth ファイルはPythonのサイトパッケージディレクトリに配置されると、インポート操作なしに自動実行される仕組みで、検知が困難でした。日間約340万ダウンロードのパッケージが約40分間汚染されています。

統計が示す危機的状況

Sonatypeの2026年レポートによると、OSSサプライチェーン攻撃は急拡大しています。

  • OSSマルウェアパッケージ数: 前年比 +75%(累計123.3万件)
  • 2025年だけで 454,648件 の新規悪意パッケージを検出
  • OSSダウンロード総数: 9.8兆回/年(前年比+67%)
  • NVDでCVSSスコア未付与のCVEが 65%

今すぐ実施すべき防御策

1. .npmrc の強化

# postinstall等のライフサイクルスクリプトを無効化
# → Axiosの攻撃を直接防げた設定
ignore-scripts=true

# バージョン範囲ではなく固定バージョンで保存
save-exact=true

# 公開後7日未満のバージョンをブロック
# → 数時間の攻撃ウィンドウを完全排除
min-release-age=7

ignore-scripts=true は最も効果的な防御策の1つです。postinstall を無効化することで、Axios事件のようなスクリプト実行型の攻撃を根本的にブロックできます。

2. CI/CDの強化

  • npm ci を必ず使用: package-lock.json に記載されたバージョンのみインストール
  • GitHub ActionsのSHAピニング: タグ指定(@v4)ではなくコミットSHA(@abc123...)でアクションを固定
  • PyPIへの公開はOIDC Trusted Publisher + 2FA必須に設定
# 危険な例
- uses: aquasecurity/trivy-action@latest

# 安全な例(SHAピニング)
- uses: aquasecurity/trivy-action@abc1234567890abcdef

3. pip側の対策

# ハッシュ検証を強制
pip install --require-hashes -r requirements.txt

# 既知の脆弱性をチェック
pip-audit

4. モニタリングツールの導入

  • Socket.dev: パッケージの振る舞いを静的・動的に分析し、CVEデータベースに登録されていないゼロデイ攻撃も検出
  • npm audit signatures: npmパッケージの署名を検証
  • Dependabot / Renovate: 依存関係の自動更新で古いバージョンに留まるリスクを低減

まとめ — 「信頼」から「検証」への転換

2026年のサプライチェーン攻撃は、OSSの「信頼モデル」に根本的な疑問を投げかけています。

  • npm install は安全ではないignore-scripts=true をデフォルトにする
  • CI/CDは攻撃の起点になる — 外部アクションはSHAピニングで固定する
  • 数時間の攻撃ウィンドウが存在するmin-release-age で新規リリースをバッファリングする

「とりあえずインストール」の時代は終わりました。防御策はどれも設定ファイルの数行で実装できるものばかりです。今すぐプロジェクトの .npmrc を確認してみてください。

Webサイト全般のセキュリティ対策についてはWebサイトのセキュリティ対策入門も参照してください。

URLがコピーされました

グリームハブ株式会社は、変化の激しい時代において、アイデアを形にし、人がもっと自由に、もっと創造的に生きられる世界を目指しています。

記事を書いた人
照屋 塁
照屋 塁

ITベンチャー創業の元社会人野球選手。変化の早い世の中の波に乗り、世の中に価値あるサービスを出していきたい!と思い会社を設立

関連記事