Claude Codeの「Don't Ask Again」に秘密が残っていないか確かめる
「Yes, and don't ask again」で承認したあと、そのコマンドの中身を読み返したことはありますか。noteに、自分の環境で何をどの順番で確かめるかをまとめました。
何が起きる話か
The Hacker Newsが報じたApiiroの調査では、Claude CodeでBashコマンドを「Yes, and don't ask again」で承認すると、そのコマンドが許可ルールとして .claude/settings.local.json に保存されるとされています。コマンドに直接書いたパスワードやAPIキーも、そのまま残ります。許可ルールがパターンではなく、特定のコマンドそのものになる場合の問題です。
同じ報道では、このファイルの公開コピー104,185件のうち、秘密情報を含むものが1,122件、それがあるリポジトリが1,105件とされています。調査側は見つかった認証情報が今も有効かは試しておらず、不正に使われた件数でもありません。
自分の環境を確かめてみたら、思っていたより多くの承認がたまっていました。
確認の目的は3つ
- 保存済みの承認ルールに、秘密情報が混ざっていないかを見る
- そのファイルが、Gitの管理対象や公開の履歴に乗っていないかを見る
- 疑わしいものがあれば、値を書き写さずに失効・再発行へ進む
「ファイルを消した」「今の作業フォルダにはない」だけでは足りません。
続きはnoteへ
確認の順番と、見つけたあとにやること・やってはいけないことは、noteの「『Don't Ask Again』に秘密が混ざっていないか——確認手順だけ」(有料)にまとめています。AI開発ツールまわりの点検は、このサイトの「その拡張機能、本物?AI開発ツールで今見直す6項目」にも書いています。