本サイトの記事や画像は、AIが公的資料や複数の報道を基に事実関係を整理・再構成し制作したものです。[続きを表示]特定の報道内容や表現を再利用・要約することを目的としたものではありません。ただし、誤りや不確定な情報が含まれる可能性がありますので、参考の一助としてご覧いただき、実際の判断は公的資料や各出典元の原文をご確認ください。[私たちの取り組み]
Apiiroは2026年11月5日、AIコーディングツール「Claude Code」の設定ファイルや履歴などを調べ、1,994の公開GitHubリポジトリから2,539件の異なる秘密情報を検出したと発表した。継続的なコマンド実行許可が設定ファイルに残り、意図せず公開される経路を指摘している。
許可したコマンドに秘密情報が残る仕組み
Claude Codeの公式資料によると、「Yes, and don’t ask again」で承認した実行許可は、.claude/settings.local.jsonのallowルールとして保存される。Apiiroが問題としているのは、パスワードなどを含むコマンド文字列が設定に残り、ファイルがGitに登録されて公開される経路だ。
Apiiroは11月1~3日に収集したデータを分析した。公開されたsettings.local.jsonの104,185ファイルを調べ、1,122ファイルから1,379件の異なる秘密情報を検出した。履歴、共有設定、保存された会話記録などへ対象を広げると、検出数は2,539件となった。データベースのパスワード、APIキー、SSH認証情報があり、rootのパスワードを含むコマンドもあったという。
Apiiroは認証情報の使用・試験や対象ホストへの接続を行っていない。検出数は現在使える認証情報や不正利用の件数を示さない。ただし、通知を受けた1組織は自社の鍵が有効だったと確認している。
既存の検出ツールにも見逃しがあった。Apiiroの比較試験では、秘密情報を含む1,122ファイルのうち215ファイルは、gitleaksとTruffleHogのどちらでも検出されなかった。
Git除外処理の限界と対策の検討
公式資料では、Gitリポジトリ内で同ファイルへ初めて書き込む際、利用者のグローバルなGit除外設定に登録すると説明している。手動作成時は利用者自身による除外設定が必要だ。一方、Apiiroは、リポジトリ側の.gitignoreとは異なり、別マシンへの複製、後からのリポジトリ化、既に追跡されているファイルなどには保護の限界があると指摘した。
Apiiroの11月8日付追記によると、Claude Code責任者のBoris Cherny氏は、公開されたファイルは手動で作成・登録されたものとの見方を示した。また、基本的な秘密情報スキャンの組み込みなど、複数の対策を試作して検討する考えを示している。
11月9日にはGitGuardianも独立調査を公表した。2025年1月から2026年11月7日までの公開GitHubの履歴を対象に、同じローカル設定ファイルから31,088件の異なる秘密情報を検出し、5,343件は検出時に有効だったと報告した。Apiiroとは調査期間と検出方法が異なり、件数は単純比較できない。
Apiiroは、公開した認証情報のローテーションを優先し、ファイルの追跡解除とリポジトリ側の除外設定を行うよう勧告している。ファイルを削除するだけでは、履歴や複製に残る認証情報を失効させることはできない。
参考・出典
- Coding Agents Copy Your Secrets to a Hidden File. Thousands Are on GitHub
- Settings files and precedence – Claude Code Docs
- Claude Code’s Don’t Ask Again exposes passwords in 1,122 public GitHub files – Hacker News
- Claude Code settings.local.json Secrets: 17 months of exposure on GitHub, & Docker Hub
- Claude Code is accidentally exposing secrets all over GitHub
