開発会社がClaude Code(=Anthropic社のAIコーディングツール)を使っているなら、2026年11月上旬に報じられた調査は一度確認しておきたい話題です。AIが実行するコマンドを「次からは聞かずに許可する」設定にすると、そのコマンドに含まれていたパスワードやAPIキーが設定ファイルにそのまま残り、そのファイルがGitHubの公開リポジトリに載っていた例が1,000件以上見つかった、という内容です。
「うちの開発会社もClaude Codeを使っていると聞いた。うちのサーバーのパスワードは大丈夫なの?」
先に結論をお伝えします。慌てて開発を止める必要はありませんが、「該当する設定ファイルが共有の場所に入っていないか」「入っていたら鍵を取り替えたか」の2点は、開発会社に確認する価値があります。確認は質問2〜3個で済み、該当がなければ数分で終わる話です。
この記事では、Claude Codeの設定ファイルから秘密情報が漏れていた件について、ニュースの要点、発注者にとって何が変わるか、今やるべきこと、そのまま使える開発会社への質問例をまとめます(執筆時点:2026年11月8日)。
Claude Codeの設定ファイルから秘密情報が見つかったニュースの要点
何が起きたのか
Claude Codeは、ファイルの書き換えやコマンドの実行の前に「実行してよいか」を人に確認します。このとき「Yes, and don’t ask again(はい、今後は確認しない)」を選ぶと、そのコマンドを許可する決まり(allowルール)が、プロジェクトの中の .claude/settings.local.json というファイルに保存されます。
問題は、許可したコマンドの中にパスワードやトークン(=ログインの代わりに使う文字列の鍵)が直接書かれていた場合です。そのコマンドがまるごと保存されるため、パスワードが平文(=暗号化されていない読める状態)で設定ファイルに残ります。
📰 出典:Claude Code Docs「Configure permissions」
公式ドキュメントによると、コマンドの実行の許可は「リポジトリとコマンドごとに恒久的に」保存されます。本来このファイルは個人用で、Claude Codeは初めて書き込むときに、利用者のパソコン全体のgitの除外設定(=Gitで管理しないファイルの一覧)に追加し、コミット(=変更の記録)に入らないようにしています。
📰 出典:Claude Code Docs「Settings files and precedence」
ただし、すでにコミットされていたファイルや、手作業で作ったファイルには、この仕組みは効きません。プロジェクト側の .gitignore(=そのリポジトリで管理しないファイルの一覧)に自動で追加されるわけでもありません。
調査で分かったこと
セキュリティ企業のApiiroが2026年11月6日ごろに公開した調査を、セキュリティ専門メディアのThe Hacker Newsが11月7日に報じました。主な数字は次のとおりです(いずれもApiiroの調査による)。
| 項目 | 調査の結果 |
|---|---|
公開リポジトリで見つかった settings.local.json | 約10万4千件 |
| そのうち秘密情報を含むもの | 1,122件(約1.1%)、異なる秘密情報は1,379個 |
| 秘密情報の種類(一部) | データベースのパスワード379個、公開サーバーへのSSH(=サーバーに遠隔ログインする仕組み)のログイン情報43個、GitHub・npm等のトークン42個、AWSの鍵23個 |
| 過去の版・共有の設定ファイル・会話の記録も含めた合計 | 1,994リポジトリで2,539個 |
| 一般的な秘密情報の検出ツールでの検出 | 2つの代表的なツールのどちらでも見つからなかったものが215件 |
いくつか補足があります。
- 見つかった秘密情報が今も使えるかは、調査では試していません(連絡を受けた1社は有効だったと認めたとのことです)
- 見つかったファイルの多くは、調査の時点でもリポジトリに残っていました
- 同じ問題は2025年8月にGitHub上で報告されていましたが、一定期間やり取りがなかったため自動で「対応予定なし」として閉じられています
📰 出典:GitHub anthropics/claude-code Issue #5544
執筆時点では、この件についてのAnthropic社の公式な発表や、仕様の変更は確認できていません。今後変わる可能性があるため、最新の情報は公式ドキュメントで確かめてください。
発注者にとって何が変わるか・変わらないか
ここからは筆者の見解です。
変わること:AIツールの「設定ファイル」も秘密情報の置き場として扱う
これまで、秘密情報が漏れやすい場所として注意されてきたのは .env(=環境ごとの設定や鍵を書くファイル)などでした。今回の件で、AIツールが自動で書くファイルにも秘密情報が入りうることがはっきりしました。
Claude Codeに限らず、AIコーディングツールはプロジェクトの中に .claude/・.cursor/ のような専用のフォルダを作ります。人が意識して書いたものではないため、レビューで見落とされやすい場所です。
変わること:「便利な許可」の選び方で安全性が変わる
「今後は確認しない」は、毎回の確認を減らせる便利な機能です。ただし、パスワードを含む1回限りのコマンドを許可すると、そのパスワードごと記録されます。公式ドキュメントでは、Bash(npm run *) のように「この種類のコマンドなら許可する」という形で決まりを書く方法も案内されています。秘密情報はコマンドに直接書かず、環境変数(=プログラムの外から渡す設定値)や秘密情報の管理サービスから読ませるのが基本です。
変わらないこと:鍵が漏れたときの対応の基本
漏れた可能性のある鍵は「取り替える(ローテーション)」のが基本です。リポジトリからファイルを消すだけでは、過去の記録やコピー(フォーク)に残ります。この考え方は今回の件でも変わりません。
鍵が漏れたときの対応の流れは、次の記事でも解説しています。


変わらないこと:多くの場合、対象は「公開リポジトリ」と「コミットされたファイル」
今回の調査は、誰でも見られる公開リポジトリが対象です。非公開リポジトリでも、関係者が増えるほど見られる人は増えますが、すぐに外部の誰でも見られる状態とは異なります。また、ファイルが手元のパソコンに残っているだけで、コミットされていなければ、リポジトリから漏れることはありません。
今やるべきこと・まだ様子見でいいこと
今やるべきこと
- 開発会社にClaude Code(または他のAIコーディングツール)を使っているか確認する:使っていなければ、この件はひとまず関係ありません
- 自社のシステムのリポジトリに
.claude/settings.local.jsonがコミットされていないか確認してもらう:過去の記録(コミット履歴)も含めて調べてもらいます - 見つかった場合は、先に鍵を取り替えてもらう:ファイルの削除より鍵の取り替えが先です。データベース・サーバー・クラウドの鍵を優先します
- 再発防止の決まりを確認する:プロジェクトの
.gitignoreへの追加、秘密情報をコマンドに直接書かない運用、コミット前の自動チェックなど
まだ様子見でいいこと
- Claude Codeの利用をやめてもらうこと:今回の件は「設定ファイルの扱い」の問題で、運用で防げます。利用の中止まで求める必要は、多くの場合ありません
- ツールの乗り換えを検討すること:他のツールでも、専用のフォルダや会話の記録に秘密情報が残る可能性はあります。ツールを替えるより、秘密情報の扱いのルールを決めるほうが効果的です
- 今後の仕様の変更を待つこと:Anthropic社が仕様を変える可能性はありますが、すでにコミットされたファイルには効きません。確認は今のうちに済ませておきましょう
発注者がやること チェックリスト
- ☐ 開発会社が使っているAIコーディングツールの名前を把握している
- ☐ 自社のリポジトリが公開か非公開かを把握している
- ☐
.claude/settings.local.jsonなどAIツールの設定ファイルがコミットされていないか、履歴も含めて確認してもらった - ☐ 見つかった秘密情報の鍵の取り替えが済んだか、報告を受けた
- ☐ 秘密情報をコマンドや設定ファイルに直接書かない運用になっているか確認した
- ☐ コミット前・CI(=変更のたびに自動で検査する仕組み)での秘密情報の自動チェックがあるか確認した
- ☐ 鍵が漏れたときの連絡先と対応の流れを、開発会社と決めている
開発会社への質問例
- 「うちの案件でClaude CodeなどのAIコーディングツールを使っていますか?使っている場合、
.claude/フォルダの設定ファイルはリポジトリに入っていますか?」 - 「
settings.local.jsonに、パスワードやAPIキーを含むコマンドが記録されていないか、コミット履歴も含めて確認していただけますか?」 - 「もし見つかった場合、どの鍵を、いつまでに取り替えるか教えてください。取り替えの前に、その鍵が使われた形跡がないかも確認できますか?」
- 「秘密情報をコマンドに直接書かず、環境変数や秘密情報の管理サービスから読む運用になっていますか?」
- 「コミット前やCIで秘密情報を自動チェックしていますか?AIツールの設定フォルダもチェックの対象に入っていますか?」
まとめ
- Claude Codeで「今後は確認しない」を選ぶと、許可したコマンドが
.claude/settings.local.jsonに保存され、コマンドに含まれていたパスワードもそのまま残る - Apiiroの調査では、公開リポジトリの1,122件のファイルに秘密情報が含まれていた(有効かどうかは未検証。執筆時点の数字)
- 発注者は、開発会社にツールの利用状況と、設定ファイルがコミットされていないかを確認する。見つかったら削除より鍵の取り替えを先に
- ツールをやめるより、「秘密情報をコマンドに書かない」「AIツールのフォルダも秘密情報の置き場として扱う」というルールづくりが効果的
AIツールの設定ファイルは、発注者からは見えにくい場所です。「うちは大丈夫かな」と感じたら、上の質問例をそのまま開発会社に送ってみてください。
あわせて読みたい関連記事















