CLAUDE LABEN
OUTPUT — v2.1.237 に組み込み出力スタイル「Concise」が加わりました。前置きや実況を省いて結果から書き始めるスタイルで、作業の網羅性は変わりません。config の Output style から選べますCACHE — v2.1.237 で、LLM ゲートウェイやカスタム base URL を経由するセッションのプロンプトキャッシュが効かない不具合が修正されました。社内プロキシ越しの運用は実効単価がここで変わりますCONFIG — v2.1.236 で ANTHROPIC_DEFAULT_MODEL が追加されました。新規セッションの開始モデルを決める変数で、model コマンドでの選択が優先され再起動をまたいで保持されますNOTIFY — v2.1.236 の notify_when_idle により、同一マシン上の別セッションへ「次にアイドルになったら一度だけ知らせて」と依頼できます。オプトイン・一度きり・ポーリングなしの設計ですSECURITY — macOS でワイルドカードの read-deny ルールが読み取り許可領域の内側でも優先されるようになりました。一致したディレクトリの中身も対象で、リネームによる回避もできませんPRICING — Claude Sonnet 5 の導入価格 100万トークンあたり入力2ドル・出力10ドルは8月31日で終了し、9月1日から入力3ドル・出力15ドルへ移ります。残り10日ですOUTPUT — v2.1.237 に組み込み出力スタイル「Concise」が加わりました。前置きや実況を省いて結果から書き始めるスタイルで、作業の網羅性は変わりません。config の Output style から選べますCACHE — v2.1.237 で、LLM ゲートウェイやカスタム base URL を経由するセッションのプロンプトキャッシュが効かない不具合が修正されました。社内プロキシ越しの運用は実効単価がここで変わりますCONFIG — v2.1.236 で ANTHROPIC_DEFAULT_MODEL が追加されました。新規セッションの開始モデルを決める変数で、model コマンドでの選択が優先され再起動をまたいで保持されますNOTIFY — v2.1.236 の notify_when_idle により、同一マシン上の別セッションへ「次にアイドルになったら一度だけ知らせて」と依頼できます。オプトイン・一度きり・ポーリングなしの設計ですSECURITY — macOS でワイルドカードの read-deny ルールが読み取り許可領域の内側でも優先されるようになりました。一致したディレクトリの中身も対象で、リネームによる回避もできませんPRICING — Claude Sonnet 5 の導入価格 100万トークンあたり入力2ドル・出力10ドルは8月31日で終了し、9月1日から入力3ドル・出力15ドルへ移ります。残り10日です
記事一覧/Claude Code
Claude Code/2026-08-21中級

Claude Code の read deny が許可フォルダの内側まで届いていなかった話

秘密ファイルとソースが同じツリーに同居する個人開発環境で、permissions.deny の Read ルールが実際にどのファイルまで届いているかを数え直した記録です。棚卸し用のスクリプトつき。

Claude Code229permissions3settings.json5セキュリティ19個人開発119

プレミアム記事

作業ツリーの棚卸しをしていて、手が止まりました。

.env は deny に書いてあります。secrets/ も丸ごと書いてあります。それなのに tools/backup/.env.bak は、どのルールにも当たっていませんでした。

半年前の自分が、設定を差し替える前に取っておいたバックアップです。中身は当時のまま、有効なキーが入っています。

先に結論を書きます

permissions.deny の Read ルールは、書いたパターンに一致したものだけを拒否します。当たり前の話ですが、実際の作業ツリーでこれが何を意味するかというと、ルールを何行書いたかではなく、秘密ファイルが何件残っているかで測らないと安全性は分からない、ということです。

私の環境では、素朴に2行書いた状態から数え直したところ、8件が素通りしていました。ルール側を10行に組み直して0件になりました。

以下は、その数え方と、組み直したあとに残った判断の話です。

秘密とソースが同じツリーに同居している

個人開発では、リポジトリの綺麗な分離がそのまま成り立たないことがあります。

私の場合、iOS と Android のアプリ、それに複数のサイトが1つの同期フォルダの下に並んでいます。アプリ側には Google Play への提出に使う署名鍵や google-services.json があり、サイト側には Cloudflare 用の .dev.vars があります。ビルド設定や素材と一緒に置いておかないと日々の作業が回らないので、物理的に分けるという選択が現実的ではありませんでした。

つまり、エージェントに読ませたいファイルと、絶対に読ませたくないファイルが、同じディレクトリの数階層下に混ざっています。この状態で permissions.allow に作業ルートを足すと、拒否ルールの精度がそのまま安全性になります。

出発点の設定は、こうでした。

{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(./secrets/**)"
    ]
  }
}

書いた当時は、これで足りていたはずでした。足りなくなったのは、ツリーが育ったからです。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
自分が書いた deny ルールが実際にどのファイルまで届いているかを、事故が起きる前に一覧で確かめられるようになる
バックアップ拡張子やリネームで秘密ファイルが網から外れる穴を、設定を書き換える段階で塞げるようになる
読み取り拒否だけに頼らず、ツリーの置き方まで含めた二段構えで守り方を選べるようになる
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

Claude Code2026-08-20
Claude Code で「今後確認しない」を押した範囲を棚卸しする
確認ダイアログで「今後確認しない」を選んだあと、自分が何を許可したのかを説明できるでしょうか。手元の設定を数えるスクリプトと、最小から足していく権限の組み立て方をまとめました。
Claude Code2026-04-13
Claude Code のツール権限を自分好みに設定する:安全性と開発効率を両立させる
Claude Codeのツール権限をallowedTools・disallowedTools・settings.jsonで細かく制御する方法を解説。プロジェクト別の権限設定から、チームでの共有まで実践的な設定パターンを紹介します。
Claude Code2026-08-20
起動しただけで1万トークン消えるスキルを、大きさではなく到達率で切り分ける
自分用の運用スキルが、呼び出しただけで約1万トークンを消費していました。節ごとにトークンを測り、最大の節ほど切り出してはいけない理由と、到達率で分けたときの実測値を、監査スクリプトつきでまとめます。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →