T-CREATOR

<div />

Claude Code の settings.local.json の秘密が漏れる理由: その API キー、GitHub に出てない?

Claude Code の settings.local.json の秘密が漏れる理由: その API キー、GitHub に出てない?

「Yes, and don't ask again」を押したそのコマンド、API キーごとファイルに残っているかもしれません。Claude Code で「Yes, and don't ask again」を押すと、そのコマンドは .claude​/​settings.local.json に書き込まれます。コマンドの中に API キーやパスワードが入っていれば、それも一緒にです。

2026年11月、このファイルが GitHub の公開リポジトリに10万件以上上がっていて、1,122件に本物の秘密が入っていたと報じられました。ふだんは git に入らない仕組みがあるのに、なぜ漏れたのでしょうか? 自分のリポジトリから出ていないかは、どう見分ければよいのでしょうか?

この記事では、ファイルが git から外れる仕組みと外れなくなる場面、履歴に入っていないかの見分け方、入っていたときにすることを、順に書きます。

環境

  • macOS 26.6.2
  • Claude Code 2.1.309
  • Git 2.54.0
  • 2026年11月10日に確認

手順

注意点

まとめ

自分の API キーが GitHub に出ていないかは、リポジトリの履歴に .claude​/​settings.local.json が一度でも入ったかで見分けられます。漏れたのは、このファイルを git から外す設定がリポジトリではなくパソコンの側にあり、その設定がない環境では、ほかのファイルと同じように git に入ってしまうからでした。「Yes, and don't ask again」で許可したコマンドの API キーも、そのまま一緒に公開されます。

まずは自分のリポジトリで git log --all -- .claude​/​settings.local.json を走らせて、履歴に残っていないかを確かめてみてください。残っていたら、鍵を作り直すのが先です。

参考文献

著書

とあるクリエイター

フロントエンドエンジニア Next.js / React / TypeScript / Node.js / Docker / AI Coding