もう二度とパスワードを聞かないでください。Gitにパスワードを記録してしまいました。 Apiiroはエージェント承認ファイル内で2,539個のシークレットを発見しました。ファイルを削除しても問題は解決しません。 GitHub上には104,185個のClaude Codeの.clade/settings.local.jsonの公開コピーが存在します。 そのうち1,122個(約1.1%)が少なくとも1つのシークレットを含んでいます。これらのファイルには合計で1,379個の固有の値が格納されています。 Gitの履歴、共有設定、エージェントのトランスクリプトを含めると、Apiiroは1,994個のリポジトリにまたがって2,539個の固有のシークレットを特定しました。 ---------------------- では、二度と聞かれないという利便性のために誰が支払ったのでしょうか?👇 🔹実際に保存されるもの🔹 Claude Codeはほとんどのシェルコマンド実行前に確認します。「はい、もう聞かないで」を選択すると、そのコマンドを正確な許可ルールとして.clade/settings.local.jsonに保存します。 そのコマンドにパスワード、トークン、またはキーが含まれていた場合、そのルールにもそれらがそのまま格納されます。平文で。ApiiroはOpus 5.5とFable 5.1でこの動作を再現しました。これは通常の承認であり、ジャイルブレイクではありません。 🔹なぜローカルファイルが公開されてしまうのか🔹 Gitリポジトリ内で初めてファイルが書き込まれるとき、Claude Codeはそのファイルを開発者のグローバルなgit excludeに追加できます。これは1台のマシンにのみ存在し、プロジェクトと共に移動することも、すでに追跡されているファイルには適用されません。このツールはリポジトリ内の.gitignoreに無視設定を書き込むことは一切ありません。 Apiiroが追跡した1,105個のリポジトリのうち539個で、Claudeが共同作成したコミットによって設定ファイルが変更されていました。シークレットを含むファイルの半分以上は、デフォルトブランチに少なくとも217日間存在していました。 🔹カウントに含まれるものと含まれないもの🔹 現在のコピー内:シークレットの3分の1以上がデータベースへのアクセスを開いており、そのうち379個はデータベースパスワードです。また、パブリックサーバー用のSSHログインが43件あります。 広範な2,539個には、過去のバージョン(509個のリポジトリで現在のファイルには存在しない734個のシークレット)、共有された.clade/settings.json、およびエージェントトランスクリプトが含まれます。 Apiiroはこれらの資格情報を実際に試していません。1社から通知を受けたところ、露出したキーは実際に有効であったことが確認されました。露出リスクは証明されていますが、実際に侵害されたとは主張していません。 文書で比較された16のコーディングエージェントの中で、Claude Codeのみがデフォルトで承認されたコマンド全体をプロジェクトファイルに書き込むことが確認されています。 1,122個のシークレットファイルにおいて、TruffleHogは643個を検出、gitleaksは564個を検出しました。両方とも215個を見逃しました。見逃しのほとんどはコマンド内のパスワードです。スキャナーはキーのフォーマットを検索します。 🔹具体的な対策🔹 ▫️掃除する前にローテーション 📝 このファイルがこれまで保持していたすべてのパスワード、トークン、キーを変更してください。現在のコピーを削除しても、履歴やフォーク、クローンは消えません。 ▫️無視設定をリポジトリに追加 📝 git rm --cached .claude/settings.local.json を実行し、プロジェクトの.gitignoreに追加してください。 ▫️シークレットではなくパターンを承認 📝 Bash(npm run:*)のようなルールを優先してください。資格情報をコマンド内にリテラルとして記述するのではなく、シークレットマネージャーから変数として取得してください。 ▫️エージェントフォルダーを.envのように扱う 📝 .claude/、.cursor/、.gemini/ は、ラップトップとリモート環境両方で、履歴を含めてシークレットスキャン対象とすべきです。 この承認は時間を節約するために意図されました。 しかし、このファイルはパスワードを保存してしまいました。 利便性は累積します。 そして、本来設定行になるべきではなかった資格情報も同様です。 AIコーディングエージェントで「もう聞かないで」をタップしたとき、次回のために具体的に何を覚えているのでしょうか?



