Claude Code、承認コマンドで秘密情報2,539件露出
セキュリティ企業Apiiroは2026年11月5日、Claude Codeの「Yes, and don't ask again」が承認したシェルコマンドを秘密情報ごと.claude/settings.local.jsonに保存する場合があると公表した。公開ファイル10万4,185件中1,122件に秘密情報があり、全体で1,994リポジトリから2,539件を確認した。有効性は検証していない。
米アンソロピックのAIコーディングエージェント「Claude Code」で開発者が承認したコマンドに含まれるパスワードやAPIキーが、公開GitHubリポジトリ上で誰でも読める状態になっている。アプリケーションセキュリティ企業のApiiro(アピーロ)が2026年11月5日(現地時間)に公表した調査で明らかにした。原因は「Yes, and don't ask again(今後は確認しない)」という選択肢で、承認したシェルコマンドを秘密情報ごとそのまま保存する場合がある。
Apiiroの研究者シュムリク・コーエン氏とマタン・ギラディ氏は、1,994の公開リポジトリから計2,539件の異なる秘密情報を確認した。米The Hacker NewsとiTWireが11月7日に報じた。

要点
- 公開されている.claude/settings.local.json 10万4,185件のうち1,122件(約1.1%)に、少なくとも1件の秘密情報が含まれていた。
- データベースのパスワード379件、SSHログイン情報43件、GitHub・GitLab・npmのトークン42件、AWSキー23件などが見つかった。
- Apiiroは認証情報が有効かどうかを検証していない。ただ、通知を受けた1社はキーが有効だったと認めた。
Claude Codeの「今後は確認しない」で秘密情報が残る仕組み
Claude Codeは大半のシェルコマンドを実行する前に許可を求める。アンソロピックの権限設定ドキュメントによると、Bashコマンドで「今後は確認しない」を選ぶと、リポジトリ直下の.claude/settings.local.jsonに許可ルールが保存され、以後は同じコマンドが確認なしで実行される。
保存されるルールがパターンではなく1行のコマンドそのものである場合、そこに入力したパスワードやトークンも平文で残る。このファイルがコミット・プッシュされれば、秘密情報も公開されることになる。
設定ドキュメントによれば、Claude Codeは初めてこのファイルを書き込む際、ユーザーのグローバルなgit除外設定に登録する。だがApiiroは、この保護は開発者1人のパソコンにしか効かず、すでにgitで追跡されているファイルには意味がないと指摘する。
GitHub上の流出規模
Apiiroは11月1〜3日に公開GitHubのデータを収集した。秘密情報を含む1,122件のファイルには1,379件の異なる値があり、3分の1以上はデータベースに直接接続できる情報だった。所有者には63の組織が含まれる。
該当ファイルの半数は、少なくとも217日間リポジトリのデフォルトブランチに置かれていた。git履歴の旧版からは509リポジトリで734件が追加で見つかり、74リポジトリのフォーク211件にも同じ秘密情報が残っていた。
総数2,539件には、チームで共有する.claude/settings.jsonで見つかった分(7万6,011件中298件)や、保存されたエージェントの会話ログも含まれる。追跡した1,105リポジトリのうち539件では、Claudeを共著者とするコミットがこのファイルを変更していた。
既存のスキャナーも多くを見逃した。1,122件のうちgitleaksが検出したのは564件、TruffleHogは643件で、215件はどちらも検出できなかった。見逃しの多くはコマンド内に打ち込まれたパスワードである。
背景:1年以上前のバグ報告
この挙動は以前から報告されていた。2025年8月11日に立てられたClaude CodeのGitHub Issueは同じ問題を指摘したが、動きがないとして「not planned(予定なし)」のまま自動で閉じられた。
研究者によると、関連する4件の報告はいずれも同じボットが閉じ、アンソロピックからの返答はなかった。Apiiroがドキュメントを比較した16のコーディングエージェントのうち、承認したコマンド全体を初期設定でプロジェクト内のファイルに保存すると確認されたのはClaude Codeだけだった。なおApiiroはAIコーディングエージェント向けのセキュリティ製品を販売している。
今後:開発者がすべきこと
Apiiroの第一の助言は「まず交換」だ。ファイルを削除してもgit履歴やフォークには残るため、ファイルに含まれていたパスワード・トークン・キーをすべて変更し、その上でgit rm --cachedで追跡を外し、リポジトリの.gitignoreに追加する。
秘密情報は変数で参照し、単一コマンドではなくパターンで承認し、.claude/などのエージェント用フォルダーもスキャン対象に加えるよう勧めている。
よくある質問
ファイルをコミットしていなければ問題ないのか。
GitHubには出ていないが、手元のファイルには秘密情報が平文で残っている。Apiiroはファイルを開き、秘密情報を含むルールを削除するよう勧めている。
流出した情報は実際に悪用されたのか。
Apiiroは認証情報を検証しておらず、悪用の有無も明らかにしていない。通知を受けた1社はキーが有効だったと認めた。
参考資料
- Configure permissions - Claude Code Docs — アンソロピック
- Settings files and precedence - Claude Code Docs — アンソロピック
- [BUG] approved bash commands containing credentials are stored as is with plain text credentials in settings.local.json #5544 — GitHub(2025年8月11日)
- Claude Code's "Don't Ask Again" File Exposes Passwords and Keys in 1,122 Public Copies on GitHub — The Hacker News(2026年11月7日)
- Claude Code approval files found exposing company secrets on GitHub, says Apirro researchers — iTWire(2026年11月7日)
コメント 0
現在コメントの投稿は無効になっています。