概要
- JavaScript依存パッケージの侵害から始まった サプライチェーン攻撃 の詳細なインシデント報告
- Rust と Python のビルドツールにマルウェアが拡散し、約420万台が影響を受ける
- 偶発的に 暗号通貨マイニングワーム が問題を修正
- 根本原因は YubiKeyの盗難 と認証の甘さ
- 対応策・学び・今後の課題を包括的に記載
セキュリティインシデント概要
- JavaScriptエコシステムの依存パッケージ侵害 により、認証情報の窃取が発生
- 盗まれた認証情報で Rust製圧縮ライブラリ(vulpine-lz4) が改ざんされる
- 改ざんされたRustライブラリが Pythonビルドツール(snekpack) に組み込まれる
- snekpack経由で 全世界の開発者約420万台 にマルウェアが配布
- 偶然に cryptobro-9000 (暗号通貨マイニングワーム)がsnekpackをアップグレードし、マルウェアを除去
インシデントの時系列
-
Day 1
- 03:14 UTC:left-justifyメンテナーMarcus Chenが自宅で盗難被害
- 09:22 UTC:nmpレジストリにログインしようとするも2FAキー紛失
- 09:31 UTC:フィッシングサイトでnmp認証情報を入力
- 11:00 UTC:left-justifyにマルウェア含むバージョンが公開
- 13:15 UTC:マルウェア疑惑のサポートチケットが低優先で自動クローズ
- 14:47 UTC:vulpine-lz4メンテナーの認証情報が流出
- 22:00 UTC:vulpine-lz4に悪意あるbuild.rs追加
-
Day 2
- 08:15 UTC:Karen Oyelaran氏がマルウェアを発見しIssue作成
- 10:00 UTC:大手顧客のVPがLinkedInで事件を知る
- 10:47 UTC:Slackで「compromised」のスペル論争
- 12:33 UTC:snekpackのCIパイプラインが標的に
- 18:00 UTC:snekpack 3.7.0リリース、マルウェア拡散開始
- 19:45 UTC:別の研究者が長文ブログで報告
-
Day 3
- 01:17 UTC:オークランドのジュニア開発者がPRで修正提案
- 02:00 UTC:偽YubiKey到着、中身はUSBとREADME
- 06:12 UTC:cryptobro-9000が拡散開始、npm/pipアップデートを強制
- 06:14 UTC:snekpackが3.7.1にアップグレードされマルウェア除去
- 06:15 UTC:マルウェアのリバースシェルが火曜に作動するもC2サーバが機能不全
- 09:00 UTC:snekpackアドバイザリ発行、「証拠が見つかっていない」と記載
- 11:30 UTC:開発者が「ターミナルがfishになった」とツイート
- 14:00 UTC:vulpine-lz4の認証情報ローテーション、メンテナーは不在
- 15:22 UTC:インシデント解決宣言、振り返り会議は三度延期
-
Week 6
- CVE-2024-YIKES割り当て、公開は遅延
- メディア・カンファレンスで既に詳細が拡散
根本原因・要因
- Kubernetesという名の犬 がYubiKeyを食べた
- nmpレジストリが パスワード認証のみ を許容
- Google AI Overview がフィッシングサイトを上位表示
- Rustの「小さなクレート」文化による依存深度の増加
- PythonビルドツールがRustライブラリを 放置してベンダリング
- Dependabot がCIパスで自動マージ、CI自体がマルウェアでバイパス
- 暗号通貨ワームの方がCI/CD運用が優れているという皮肉
- 最終承認者が外部委託者、かつ火曜日
対応策・今後の課題
- アーティファクト署名の導入 (未実施の宿題)
- 2FAの義務化 (既に必須だが機能せず)
- 依存関係の監査 (847個存在)
- バージョン固定 はセキュリティパッチ受信を妨げるジレンマ
- Rustへの全面移行 の皮肉
- 善意のワーム に期待
- ヤギ農場 への転職検討
顧客影響・信頼
- 一部顧客で セキュリティリスク 発生
- 積極的な情報開示 と顧客信頼の維持を最優先
学び・教訓
- セキュリティ体制の再点検 を開始
- クロスファンクショナルワーキンググループ 設立(未開催)
謝辞・その他
- Karen Oyelaran氏、オークランドの開発者、各セキュリティ研究者へ感謝
- cryptobro-9000作者はSoundCloudの宣伝を希望
- Kubernetes(犬) はコメント拒否
- fish shellはマルウェアではない と法務部から明記要請
- セキュリティチームの 人員増強要望 は依然バックログ中