「NPMパッケージをインストールしたら、マルウェアも一緒に入ってくるなんてあるんでしゅか?」
「4時間で444パッケージに感染って……うちのプロジェクトも使ってるパッケージかもしれないでしゅよ!」
有名なNPMパッケージって信頼できると思ってたんでしゅが……まさかインストールするだけでやられるなんて怖いでしゅよ!
これがサプライチェーン攻撃の恐ろしさだな。メンテナーのアカウントさえ奪えば、そのパッケージを信頼しているすべての開発者が標的になる。ChainDropはさらに自己伝播するワームだった
2026年8月4日、自己伝播型のNPMワーム「ChainDrop」が4時間以内に444のパッケージ・2212の悪意あるバージョンをNPMレジストリに登録した。
起点となったのは、メンテナーのGitHubアカウントが侵害されたkeyvとcacheableのネームスペースで、その後433パッケージへ自動伝播した。
週5億ダウンロードを超えるパッケージが感染し、インストール時にNPM/GitHub/クラウドとAIツールの認証情報が窃取されるリスクが生じた。
- メンテナーのGitHubアカウント侵害から始まり、週1億5000万ダウンロードの
keyvが初期ベクターとなった
- Ethereumブロックチェーンをコマンド&コントロールに活用する自己伝播型ワームで、24時間で自己消去するデッドマンスイッチ付き
- CI/CD環境から認証情報を探し、Claude・VS Code・GitHub Copilotワークフローへの永続化も図る
NPMエコシステムの信頼を根底から揺るがすこの攻撃から、自社のCI/CDパイプラインと認証情報を守る方法を確認してほしい。
目次
何が起きたのか——4時間で444パッケージに拡散
攻撃は2026年8月4日(UTC)に始まった。
keyv(週1億5000万ダウンロード超)とcacheableネームスペースのメンテナーのGitHubアカウントが侵害され、まず11個のマルウェアキャリアが投稿された。
その後ChainDropの自己伝播機構が盗んだNPMトークンを使い4時間で433の追加パッケージを汚染し、計444パッケージ・2212の悪意あるバージョンが登録された。
主要な感染パッケージと影響規模
感染が確認されたパッケージには、エンタープライズ向けSDKや設計システムが多く含まれていた。
| 組織 | 感染パッケージ数 | 特徴 |
|---|
| @servicetitan | 141パッケージ | エンタープライズ向けSDK |
| @onereach | 78パッケージ | ビジネスアプリケーション基盤 |
| @or-sdk | 74パッケージ | コーポレートアプリ構築ツール |
これらのパッケージは公開開発ツールからコーポレートビルドパイプラインに至るまで広く使われており、合計で週5億ダウンロードを超える影響範囲となった。
攻撃手口と被害の実態——Ethereum C2・ランナーメモリ窃取・AIツール認証情報を狙う
ChainDropの最大の特徴は、多層的な攻撃技術の組み合わせにある。
インストール時に実行されるpreinstallフックがBunランタイムをGitHubから動的にダウンロードして起動する。
Ethereum C2(EtherHiding)で追跡を困難に
コマンド&コントロールサーバーのアドレスは、Ethereumメインネットのスマートコントラクトからeth_callで取得する「EtherHiding」技術を採用している。
75のパブリックRPCエンドポイントを試行し、静的なIPやドメインでのブロックが困難な設計だ。
ChainDropが狙う認証情報の範囲は以下のとおりだ。
- CI/CD環境: GitHub Actionsなどのワークフローシークレットや認証情報を探索・窃取
- クラウド認証情報: AWS・Kubernetes・HashiCorp Vault
- AIツール認証情報: Claude・VS Code・GitHub Copilot関連の開発ワークフロー設定ファイル
盗んだNPMトークンで被害者がアクセス可能なすべてのパッケージに自動的にペイロードを注入・再発行する仕組みで感染が連鎖した。
さらに.vscode/tasks.jsonや.claude/settings.jsonをリポジトリに挿入することで永続化も図っている。
Claudeとかの認証情報まで狙われるんでしゅか!開発ツール全部危ないでしゅね……
現代の攻撃者は開発環境を特に狙う。一度CI/CDパイプラインに侵入すればプロダクション環境まで到達できる。自己伝播するワームは特に連鎖的な被害を生む
まとめ——NPMパッケージリスクと即時対応策
ChainDropは、有名パッケージのメンテナーアカウント侵害から始まる自己伝播型の攻撃がいかに短時間で広がるかを示した事例だ。
Ethereumを使ったC2や24時間での自己消去など、検出・追跡を困難にする高度な技術が組み合わされていた。
影響を受けた可能性がある場合の確認と対応ポイントは以下のとおりだ。
- 2026年8月4日前後のNPMパッケージを確認し、
npm auditや公式アドバイザリで感染バージョンを特定する
- CI/CD環境の再構築と認証情報の失効・更新を実施する
- GitHubリポジトリで不審なワークフローや設定ファイル(
.vscode/tasks.json等)の追加がないか確認する
lockfileでバージョンを固定して、定期的にauditするのが基本でしゅね!依存パッケージも気を抜けないでしゅ!
ふふふ、正しい。依存パッケージへの信頼は「名前」ではなく「バージョン」と「整合性チェック」で担保する時代だな