permissions.deny、本当に秘密を守れてる?permissions.deny に .env や鍵を書いても、それは「壁」ではなく「正面の入口の注意書き」です。cat や python -c といった裏口は塞げません。あなたの deny ルールを貼り付けると、何を守れていて何が素通りするかを判定します。すべてブラウザの中だけで処理し、どこにも送信しません。
「Read(.env) を deny に書いたのに、中身を読まれた」という報告が実際にあります。これはバグというより、deny が best-effort(できる範囲での防御)で、ハードなサンドボックスではないために起きます。下に貼り付けて、自分の設定の穴を見てください。
settings.json の permissions.deny の部分でも、Read(...) の羅列でも構いません。
Read(.env) だけで cat .env が塞がれていない)。python や node のサブプロセスは依然素通りする。サンドボックスではない。python -c や node の任意のサブプロセスは、どんな deny を書いても素通りするため、deny だけで「完全に守れた」状態は原理的に作れないからです。到達できる最良は黄で、本当の秘密は機械の権限とスコープ(作業ディレクトリの外に置く)で守ってください。deny に頼らず、利用者の機械の権限とスコープで守ってください。作業ディレクトリやスコープの外に置く。deny は多層防御の一層として使い、それ単独で秘密が守られたとは考えないことです。
.claude/settings.json が危険でないかを、信頼する前に貼って確認する無料ツールもあります。