npmパッケージ400件が30分で汚染 — "keyv"ワームが示した依存関係リスクの怖さ
30分で400件って、すごく速いね!どうやって広がったの?
keyvってそんなに有名なパッケージなの?
汚染されたら実際に何が起きるの?
このワームはGitHubトークン・クラウドの認証情報・秘密鍵・データベースの接続文字列など、開発者のPCにある機密情報を収集したんだよ。さらにClaude CodeやVS Codeに永続的なフックを埋め込んで、攻撃者がその後も開発環境にアクセスし続けられる仕組みまで仕掛けたんだ。
開発ツール自体に仕込まれるって怖すぎるよ……。普通のウイルス対策じゃ防げないの?
難しいんだよね。自分でインストールしたはずの信頼できるパッケージから来ているから、従来のウイルス対策ではなかなか検出できないんだ。信頼の連鎖を悪用するこの手法を「サプライチェーン攻撃」と呼んでいるよ。
じゃあ、開発者はどうすれば防げたの?
パッケージのバージョンをロックファイルで固定する・preinstallスクリプトの実行を許可しない設定にする・DependabotなどのOSSで依存関係を監視するといった対策が有効だよ。今回はDatadogのセキュリティチームが約30分で発見・対応したんだ。
なんで開発者のPCを狙うの?本番サーバーじゃなくて?
普段使っているパッケージが攻撃の入口になるって、ちゃんと気をつけないといけないね!