環境変数

CLAUDE_CODE_SCRIPT_CAPS

CLAUDE_CODE_SUBPROCESS_ENV_SCRUB が設定されているときに、セッションごとに特定のスクリプトを呼び出せる回数を制限する JSON オブジェクト。キーはコマンドテキストに対して照合される部分文字列、値は整数の呼び出し上限。例えば {'deploy.sh': 2} は deploy.sh を最大 2 回まで呼び出せる。照合は部分文字列ベースのため、./scripts/deploy.sh $(evil) のようなシェル展開によるトリックもカウント対象になる。xargs や find -exec による実行時のファンアウトは検出できない。これは多層防御の制御である。

使い方・用途

  • CLAUDE_CODE_SUBPROCESS_ENV_SCRUB によるサンドボックスを有効にした環境で、特定のスクリプトが 1 セッションあたりに実行される回数を上限で絞りたいときに使う
  • デプロイ用スクリプトなど影響の大きいコマンドがセッション内で繰り返し呼び出されるのを防ぎたいときに使う
  • シェル展開を使ったパス指定などコマンドテキストの一部として同じスクリプトが呼ばれる場合も回数制限にカウントさせ、多層防御として実行制限を強化したいときに使う
英語原文(公式ドキュメントより)

JSON object limiting how many times specific scripts may be invoked per session when CLAUDE_CODE_SUBPROCESS_ENV_SCRUB is set. Keys are substrings matched against the command text; values are integer call limits. For example, {"deploy.sh": 2} allows deploy.sh to be called at most twice. Matching is substring-based so shell-expansion tricks like ./scripts/deploy.sh $(evil) still count against the cap. Runtime fan-out via xargs or find -exec is not detected; this is a defense-in-depth control

関連する変更履歴

v2.1.98(1件)

Added
Linux 環境において CLAUDE_CODE_SUBPROCESS_ENV_SCRUB 有効時の PID ネームスペース隔離によるサブプロセス・サンドボックス機能、およびセッションごとのスクリプト実行回数を制限する CLAUDE_CODE_SCRIPT_CAPS 環境変数を追加しました。
英語原文を表示
Added subprocess sandboxing with PID namespace isolation on Linux when CLAUDE_CODE_SUBPROCESS_ENV_SCRUB is set, and CLAUDE_CODE_SCRIPT_CAPS env var to limit per-session script invocations

変更後

AIにコマンド実行権限を与える際の安全性が高まり、プロンプトインジェクション等による情報の漏洩やリソースの枯渇リスクを大幅に低減できます。

関連ドキュメント