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つ

  1. 保存済みの承認ルールに、秘密情報が混ざっていないかを見る
  2. そのファイルが、Gitの管理対象や公開の履歴に乗っていないかを見る
  3. 疑わしいものがあれば、値を書き写さずに失効・再発行へ進む

「ファイルを消した」「今の作業フォルダにはない」だけでは足りません。

続きはnoteへ

確認の順番と、見つけたあとにやること・やってはいけないことは、noteの「『Don't Ask Again』に秘密が混ざっていないか——確認手順だけ」(有料)にまとめています。AI開発ツールまわりの点検は、このサイトの「その拡張機能、本物?AI開発ツールで今見直す6項目」にも書いています。