
目次
史上最大規模NPMパッケージ侵害事件:20億ダウンロード規模のサプライチェーン攻撃の全貌と対策
2025年9月8日、NPM(Node Package Manager)エコシステム史上最大規模となるサプライチェーン攻撃が発生しました。週間20億ダウンロードを誇る人気パッケージ群がハッカーによって侵害され、暗号通貨を狙った悪意あるコードが挿入されるという深刻な事件となっています。
事件の概要
攻撃の規模と影響
この攻撃は、著名な開発者Josh Junon氏のNPMアカウントがフィッシング攻撃により侵害されたことから始まりました。攻撃者は巧妙な偽メール「npmjs.help」ドメインを使用し、アカウント凍結を装って二要素認証のリセットを促すメッセージを送信しました。
侵害されたパッケージ(18個):
- chalk@5.6.1
- debug@4.4.2
- ansi-styles@6.2.2
- supports-color@10.2.1
- strip-ansi@7.1.1
- ansi-regex@6.2.1
- wrap-ansi@9.0.1
- その他11個の関連パッケージ
Enterprise Security Techによると、これらのパッケージは合計で週間26億ダウンロードを記録しており、NPM史上最大の侵害事件となりました。
攻撃手法の詳細
挿入された悪意あるコードは、以下の機能を持っていました:
-
暗号通貨取引の傍受
- Ethereum、Bitcoin、Solana、Tron等のウォレットアドレスを監視
- 送金先を攻撃者のアドレスに置き換え
- ユーザーに気づかれないよう巧妙に実行
-
ブラウザレベルでの実行
- フロントエンドアプリケーションで動作
- Web3アクティビティを リアルタイムで監視
- ネットワークトラフィックとAPI呼び出しを傍受
Aikido Securityの分析によると、コードは2025年9月8日13:16 UTC に検出され、約2時間後には対策が開始されました。
NPMサプライチェーン攻撃の深刻な現状
攻撃の急増傾向
ReversingLabsの2025年ソフトウェアサプライチェーンセキュリティレポートによると:
- 2024年の暗号通貨関連攻撃23件中14件(61%)がNPMを標的
- 過去3年間でサプライチェーン攻撃が742%増加
- 残りの攻撃はPyPI(Python Package Index)が対象
最近の主要な攻撃事例
2025年の攻撃事例:
- GlueStack攻撃(6月) - React Nativeパッケージ17個が侵害、週間100万ダウンロードに影響 innovaTopia
- eslint-config-prettier侵害(8月) - 人気の設定パッケージがフィッシング攻撃で侵害 InfoSecurity
- Cursor エディタ攻撃(5月) - AI搭載エディタのユーザー3,200名以上が影響 TheHackerNews
2024年の攻撃事例:
- rspack・vant侵害(12月) - 人気の開発ツールパッケージが攻撃対象 Sonatype
- 北朝鮮関連攻撃(8月) - 67個のNPMパッケージにXORIndexマルウェアが挿入 IoT OT Security News
主要な攻撃手法
1. フィッシング攻撃による開発者アカウント侵害
今回の攻撃で使用された手法:
- 偽ドメイン使用:
npmjs.help
(正規はnpmjs.com
) - 緊急性の演出: 「9月10日にアカウント凍結」という期限設定
- 二要素認証の悪用: セキュリティ機能自体を攻撃の入り口に利用
2. 依存関係混乱攻撃(Dependency Confusion)
Microsoftが警告する手法:
- 内部パッケージ名を推測
- より高いバージョン番号で公開レジストリに偽パッケージを投稿
- 自動更新機能を悪用して侵害パッケージを配布
3. タイポスクワッティング
人気パッケージ名の類似名称を使用:
coffeescript
vscoffescript
JSONStream
vsjsonstream
- ASCII文字の微妙な違いを利用
4. 北朝鮮関連の高度攻撃
FortiGuard Labsが特定した特徴:
- Solana-Scanと命名された攻撃キャンペーン
- 正規SDKやスキャンツールを装った高度な偽装
- 暗号資産エコシステムを特定して標的化
企業向けセキュリティ対策
即座に実施すべき対策
1. 侵害チェックの実行
感染確認コマンド(ripgrepツール必要):
rg -u --max-columns=80 _0x112fa8
2. パッケージロックファイルの活用
Linux Foundation推奨の設定:
package-lock.json
の適切な管理npm ci
コマンドの使用(npm install
の代替)- CI/CDパイプラインでの厳密な依存関係管理
3. 多要素認証の強制
統計によると、2020年時点でNPM開発者の90%以上が2FAを未使用でした。以下の対策が必要です:
- 全開発者アカウントでの2FA有効化
- ハードウェアキーの使用推奨
- 定期的な認証トークンの更新
包括的なセキュリティ戦略
1. 依存関係混乱攻撃の軽減
Snyk推奨のベストプラクティス:
- 名前空間スコープの使用:
@myorg/package-name
形式での管理 - プライベートレジストリの活用: 内部パッケージの適切な管理
- 明示的レジストリ定義: 公開レジストリへの予期しないアクセス防止
2. 自動セキュリティスキャン
- npm auditの定期実行
- Snyk、WhiteSource等のセキュリティツール導入
- **SBOM(Software Bill of Materials)**の生成と管理
- CI/CDパイプラインでのセキュリティゲート設定
3. 開発者教育とガバナンス
- 正規パッケージの検証方法の教育
- フィッシング攻撃の認識訓練
- コードレビューでのセキュリティチェック
- インシデント対応手順の策定
検出・防御ツール
オープンソースツール
- npm audit - NPM標準のセキュリティスキャナー
- Socket Security - リアルタイムでのパッケージ監視
- Snyk - 包括的な脆弱性管理
- OWASP Dependency Check - 既知脆弱性の検出
企業向けソリューション
- Sonatype Nexus - プライベートレジストリ管理
- JFrog Artifactory - アーティファクト管理とセキュリティ
- WhiteSource Bolt - ライセンス・セキュリティ管理
- Veracode Software Composition Analysis - 継続的監視
今後の展望と課題
攻撃の高度化
セキュリティ専門家は以下の傾向を警告しています:
- AI技術の悪用: より巧妙なフィッシング攻撃
- 供給チェーンの複雑化: 間接的な依存関係の悪用拡大
- 国家レベルの攻撃: 地政学的な動機による継続的脅威
業界の対応
NPM Inc.の対策強化:
- パッケージ署名システムの導入
- 異常な活動パターンの自動検出
- メンテナー向けセキュリティ教育の充実
政府・規制当局の動き:
- 米国NIST サプライチェーンセキュリティガイドライン
- EUサイバーレジリエンス法での要求事項
- 各国でのセキュリティフレームワーク整備
まとめ
今回のNPM史上最大規模の攻撃は、現代のソフトウェア開発における供給チェーンセキュリティの脆弱性を浮き彫りにしました。週間20億ダウンロードという膨大な影響範囲は、たった一人の開発者アカウント侵害がいかに深刻な結果をもたらすかを示しています。
企業と開発者は、この事件を契機として以下の対策を急務として実施する必要があります:
- 即座の侵害チェックと影響範囲の特定
- 包括的なセキュリティポリシーの策定と実装
- 継続的な監視体制の確立
- 開発チーム全体のセキュリティ意識向上
ソフトウェア供給チェーンの安全性確保は、もはや個別企業の課題を超えて、デジタル社会全体の基盤セキュリティに関わる重要な課題となっています。技術的対策と組織的な取り組みを両輪として、継続的なセキュリティ向上に取り組むことが不可欠です。
参考資料: