
AIで開発作業を支援するClaude Codeの個人用設定ファイルが公開GitHubリポジトリに入り、パスワードやAPIトークンなどが露出していました。セキュリティ企業Apiiroの調査では、公開された設定ファイルは10万件超に上り、そのうち約1100件に63組織の秘密情報が含まれていました。コマンドの実行許可を保存する際、コマンド内の認証情報も一緒に記録される仕組みが関係しています。
「今後は確認しない」の許可に認証情報が残る
Claude Codeでシェルコマンドの実行を承認し、「Yes, and don’t ask again」を選ぶと、許可ルールが.claude/settings.local.jsonに保存されます。シェルコマンドは、コンピューターに処理を実行させる命令です。保存されるルールはパターンになる場合もありますが、コマンド全体がそのまま記録され、そこに埋め込まれた秘密情報も残ることがあります。
Apiiroが見つけた秘密情報には、データベースのパスワード、外部サービスなどへのアクセスに使うAPIトークン、秘密鍵が含まれていました。また、利用者が明示的に指示しなくても、Claude Codeがこの設定ファイルの変更をコミットし、Gitの変更履歴に記録するケースがあるとApiiroは指摘しています。
このファイルは、特定のプロジェクトで本人だけに適用する設定の保存先です。チームで共有する.claude/settings.jsonとは用途が分かれており、Claude Codeは個人用設定ファイルへ初めて書き込む際、Gitのグローバルな除外設定に登録します。
個人の除外設定は別の開発環境に引き継がれない
Gitはソースコードなどの変更履歴を管理する仕組みで、リポジトリはその管理単位です。グローバルな除外設定は、その利用者の環境にある各リポジトリへ適用されます。一方、リポジトリ内の.gitignoreは、コミットしてチームで共有する除外ルールです。
Claude Codeが登録する個人用設定ファイルの除外ルールは、リポジトリ内の.gitignoreには反映されません。そのため、別のマシンにリポジトリを複製した場合や、既存のフォルダーを後からリポジトリにした場合などに、設定ファイルが誤って公開対象に入ることがあります。手動で個人用設定ファイルを作り、Claude Codeがまだ書き込んでいない場合は、利用者自身が.gitignoreに追加する必要があります。
さらに、すでにGitが追跡しているファイルは、後から.gitignoreに追加しても追跡が続きます。git rm --cachedは手元のファイルを残しながら追跡対象から外す操作ですが、過去のコミット履歴には内容が残ります。
検出ツールでも215件の秘密情報を見逃す
Claude CodeのBoris Cherny氏は、秘密情報を探すスキャナーの利用を勧めるとともに、Claude Code自体へのスキャン機能の組み込みも検討していると述べました。一方、Apiiroの調査では、設定ファイルに含まれていた秘密情報のうち215件が、GitleaksとTruffleHogという2つの検出ツールで検出されませんでした。
Gitleaksは、文字列の形式を照合する正規表現に加え、文字列のランダムさを評価するエントロピーや、検出対象から外す許可リストを組み合わせます。汎用ルールは、tokenやpasswordといった周囲の語、値を代入する記号、候補となる文字列の長さや文字種などを条件にしています。
TruffleHogには、プロジェクト固有の形式を探すカスタム検出器があります。キーワードをきっかけに正規表現を照合し、必要に応じて検証先へ問い合わせて認証情報の有効性を調べる構成です。設定ファイルに直接書かれた一般的なパスワードなどもカスタム検出の対象にでき、独自形式を扱う条件を設定できます。
開発側は改善を検討、流出後は認証情報の失効が先
関連する不具合は2025年8月にも報告されていました。除外設定に追加されない場合や、Gitでの共有を防いでいない別ファイルに秘密情報を含むコマンドが保存される場合も報告されましたが、これらは60日間動きがなかったため、対応されずに終了していました。
Cherny氏は流出防止策を調査していると述べ、通常の実行許可を分類器で自動処理する「auto mode」の利用も勧めました。その後、このモードでも機密性の高いコマンドが設定に保存されるとの指摘を受け、改善方法を検討していると応じています。
公開済みのAPIキーやパスワードへの対応では、GitHubは最初に認証情報を失効させるか、新しいものへ更新する手順を示しています。これにより、漏れた認証情報を使ったアクセスを無効にできます。Gitの履歴を書き換える処理は、履歴に残る機密情報を取り除く作業です。
元のリポジトリの履歴を修正しても、ほかの利用者が持つ複製や、派生リポジトリであるフォークに情報が残る場合があります。履歴の削除には共同開発者やフォークの所有者との調整が伴い、修正前の複製から古い内容を再び送信すると、秘密情報が戻る危険もあります。










