IT・AI[IT・AI]
Claude Codeの「二度と聞くな」がパスワードを保存 GitHub公開ファイル1,122件から秘密情報1,379件、セキュリティ企業が報告
AIコーディング支援ツール「Claude Code」で、コマンド実行時に「はい、二度と聞かないで」を選ぶと、パスワードやAPIキーを含むコマンド文がそのまま設定ファイルに保存される――。セキュリティ企業Apiiroの調査で、GitHub上に公開された設定ファイル1,122件から1,379件の秘密情報が見つかったと報告された。
承認したコマンドが平文で残る仕組み
Apiiroの研究者らが11月5日に公表した調査によると、Claude Codeは実行を承認したシェルコマンドを、プロジェクト内の `.claude/settings.local.json` にそのままの文面で保存する。データベース接続やAPI呼び出しのコマンドにはパスワードやトークンが含まれることがあり、そのファイルがGitHubにコミットされると秘密情報も一緒に公開されてしまう。
10万件超を調査、1,122件に秘密情報
調査は11月1〜3日にGitHub上の公開コピーを集めたもので、対象は104,185件。このうち1,122件(約1.1%)に実在の秘密情報が含まれ、 総数は1,379件に上った。履歴や共有設定ファイルまで広げると、1,994リポジトリで2,539件の秘密情報が確認されたという。データベース業者の管理者級クラウドキーや医療記録データベースのパスワードが含まれていた例も報告されている。Apiiroは対象組織に通知し、1社はキーが有効だったことを確認した一方、認証情報そのものを実際に試してはいないとしている。
対策は「ファイルを持ち出さない」こと
設定ファイルは本来、開発者の手元にとどまる前提で、初回作成時にグローバルの除外リストへ追加される仕組みがある。ただし、後からリポジトリ化したフォルダや別のマシンでのクローン、既にコミット済みのファイルまではカバーされないと指摘されている。AIコーディングツールを使う開発者は、設定ファイルをリポジトリの .gitignore に明示的に入れること、秘密情報をコマンドラインに直接書かないこと、漏れた可能性があるキーはローテーション(再発行)することが推奨される。なお、この数字はApiiroによる分類に基づくもので、独立した第三者の再検証はまだない。
▼ 確認できた事実
・ApiiroがGitHub公開のClaude Code設定ファイル104,185件を調査
・1,122件から実在とみられる秘密情報1,379件を確認、履歴等を含めると2,539件
・原因は、承認したコマンド文がパスワード等を含んだまま設定ファイルに保存される仕様
・認証情報が実際に有効かの試行は行われておらず、1社がキーの有効性を確認したとされる
・対策は.gitignoreへの明記、秘密情報をコマンドに書かない、キーの再発行