2026年8月4日、週に1億回以上ダウンロードされる人気npmパッケージ「keyv」の保守担当者アカウントが乗っ取られ、そこから400以上のnpmパッケージへ被害が広がる供給網(サプライチェーン)攻撃が発生した。海外の複数のセキュリティメディアが一致して報じている。中身は認証情報を盗むワームだが、今回とりわけ注目されたのは、盗み出しの手口そのものではなく「どこに仕込まれたか」だ。Claude CodeとVS Codeが、プロジェクトを開いた瞬間に自動実行する設定ファイルの中に、である。
何が起きたか
UTC午前9時35分ごろに公開されたkeyv@6.0.0の悪意あるリリースを起点に、盗まれたnpmトークンを使って別のパッケージを次々に汚染する形で、約30分のうちに被害が連鎖的に広がったと報じられている。cacheableなど関連するパッケージ群も巻き込まれ、影響を受けたパッケージの合計ダウンロード数は月間20億回を超えるという報道もある。
攻撃の核はよくある手口——インストール時に自動実行されるpreinstallスクリプトを仕込み、GitHubのトークンやクラウドの認証情報を窃取する——だが、今回はそれだけで終わらなかった。攻撃者は同時に、プロジェクト直下の.claude/settings.jsonと.vscode/tasks.jsonという設定ファイルにも手を加えていた。前者はClaude Codeがセッション開始時に読み込むフック設定、後者はVS Codeがフォルダを開いた際に実行するタスク設定だ。つまりnpm installを一度も走らせなくても、開発者がそのフォルダでVS Codeを開くか、Claude Codeのセッションを始めた瞬間に、仕込まれたコードが自動的に動く仕掛けになっていた。
海外の複数のセキュリティ企業のブログ・研究者コミュニティでは、この一連のワームが2025年9月以降くり返し観測されている「Shai-Hulud」系ワームの新しい波である、との位置づけも報じられている。C2(攻撃者の制御サーバー)先をブロックチェーン上の仕組み経由で動的に切り替える手口や、盗んだ認証情報をローテーション(失効・再発行)しようとする動きを検知すると追加の処理が走る仕掛けが組み込まれていた、とする報道もある。本稿執筆時点で、この件についてAnthropic自身からの公式な言及は確認できていない。
「一度信頼したフォルダ」が盲点になる
Claude Codeは初めて開くプロジェクトに対して、ワークスペースの信頼確認ダイアログを表示する仕組みを備えている。公式ドキュメントを直接確認したところ、プロジェクト内の.claude/settings.jsonに書かれたフックは、ユーザーがこの信頼確認を承認するまでは実行されない、と明記されていた。
ここに今回の落とし穴がある。信頼確認は「初めてそのフォルダを開いたとき」に効く仕組みであって、すでに開発チームが日常的に使っている——つまりとうに信頼済みの——プロジェクトの依存パッケージが後から汚染された場合には、新たな確認は挟まらない。依存パッケージの更新を取り込んだ瞬間、フォルダはすでに信頼済みのため、仕込まれたフックはそのまま自動実行されてしまう。「未知のリポジトリを警戒する」だけでは足りず、「普段使っているプロジェクトの依存関係が今日変わった」という変化そのものを見張る必要がある、というのが今回の教訓だ。
Anthropicが公式に用意している対抗手段
Claude Codeの公式ドキュメントには、このクラスの攻撃に対応する仕組みがいくつか用意されていることも確認できた。
ConfigChangeフック:セッション中に設定ファイルが変更されたことを検知し、監査したり止めたりできる仕組みallowManagedHooksOnly:組織の管理者が、ユーザー・プロジェクト・プラグイン由来のフックを一律で禁止し、管理者が承認したフックだけを許可する設定- managed settings(組織管理設定):チーム全体の権限設定をバージョン管理下に置き、個人の設定に依存しない運用にする仕組み
いずれも「便利だから」で野放しにするのではなく、組織側であらかじめ構造を決めておくための機能だ。存在を知らなければ使いようがないという点で、これはスキルの供給網リスクを扱った前回記事で触れた「ベンダーが用意している注意書きを軽視しない」という話と同じ構造をしている。
中小企業が実務で押さえるべき3点
- 依存パッケージの更新自体をレビュー対象にする:
package-lock.jsonの差分に見慣れないパッケージや不自然なバージョン更新が混じっていないか、CI上で機械的にチェックする運用を検討する ConfigChangeフックやallowManagedHooksOnlyなど、組織側で縛れる設定は使う:個々の開発者の注意力に任せるのではなく、組織の既定値として設定する- 「信頼済みのプロジェクト」を過信しない:新規リポジトリだけでなく、日常的に使っているプロジェクトでも依存関係の更新後は挙動に注意する習慣をチームに共有する
AIコーディングエージェントの設定ファイルは、便利さの裏側で「開いた瞬間に自動実行される」という性質を持つ。この性質自体はハーネスの考え方——構造で安全を担保する——を実践すれば十分に制御できるものだが、その構造を組織として決めていなければ、便利さがそのままリスクになる。
自社の開発フローでこうした設定をどう組み込めばいいか整理したい場合は、パイロット・構築のフェーズで一緒に詰められる。まずは30分の無料診断から相談してほしい。