サブプロセスサンドボックス化: PID 名前空間分離と CLAUDE_CODE_SCRIPT_CAPS
原文(日本語に翻訳)
CLAUDE_CODE_SUBPROCESS_ENV_SCRUB が設定されている場合、Linux 上で 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
概要
Claude Code v2.1.98 では、セキュリティを強化する 2 つの機能が追加されました。1 つ目は、CLAUDE_CODE_SUBPROCESS_ENV_SCRUB 環境変数が設定された Linux 環境における PID 名前空間分離によるサブプロセスのサンドボックス化です。これにより、Claude Code が実行するスクリプトが親プロセスや他のプロセスにアクセスできる範囲を制限します。2 つ目は CLAUDE_CODE_SCRIPT_CAPS 環境変数で、セッション内でスクリプトが実行できる回数の上限を設定し、意図しない大量のスクリプト実行を防止します。
基本的な使い方
PID 名前空間分離の有効化
bash
# CLAUDE_CODE_SUBPROCESS_ENV_SCRUB を設定してサンドボックスを有効化(Linux のみ)
export CLAUDE_CODE_SUBPROCESS_ENV_SCRUB=1
claudeスクリプト実行回数の制限
bash
# セッションごとのスクリプト実行を最大 10 回に制限
export CLAUDE_CODE_SCRIPT_CAPS=10
claude
# 両方を組み合わせて使用
export CLAUDE_CODE_SUBPROCESS_ENV_SCRUB=1
export CLAUDE_CODE_SCRIPT_CAPS=20
claude実践例
セキュリティを重視した開発環境の設定
bash
# ~/.bashrc または ~/.zshrc に追加(Linux 環境)
# サブプロセスのサンドボックス化を有効化
export CLAUDE_CODE_SUBPROCESS_ENV_SCRUB=1
# セッションごとのスクリプト実行を 50 回に制限
export CLAUDE_CODE_SCRIPT_CAPS=50
# Claude Code を起動(サンドボックスが自動的に適用される)
claudeCI/CD 環境でのセキュア実行
yaml
# .github/workflows/claude-code.yml の例
name: Claude Code Review
on: [pull_request]
jobs:
review:
runs-on: ubuntu-latest
env:
# サブプロセスをサンドボックス化
CLAUDE_CODE_SUBPROCESS_ENV_SCRUB: "1"
# スクリプト実行を 30 回に制限
CLAUDE_CODE_SCRIPT_CAPS: "30"
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
steps:
- uses: actions/checkout@v4
- name: Claude Code Review
run: claude --print "このプルリクエストのコードをレビューしてください"サンドボックス環境でのスクリプトテスト
bash
# 信頼性の低いスクリプトを安全にテストする場合
export CLAUDE_CODE_SUBPROCESS_ENV_SCRUB=1
export CLAUDE_CODE_SCRIPT_CAPS=5 # テスト用に少ない回数に制限
# Claude Code でスクリプトを解析・実行
CLAUDE_CODE_SUBPROCESS_ENV_SCRUB=1 CLAUDE_CODE_SCRIPT_CAPS=5 claude \
"このスクリプトが安全かどうか確認してから実行してください: ./suspicious-script.sh"エンタープライズ環境での管理設定
bash
# /etc/profile.d/claude-code-security.sh (システム全体の設定)
# 全ユーザーに対してサンドボックスを有効化
export CLAUDE_CODE_SUBPROCESS_ENV_SCRUB=1
# 通常ユーザーのスクリプト実行を 100 回/セッションに制限
export CLAUDE_CODE_SCRIPT_CAPS=100注意点
CLAUDE_CODE_SUBPROCESS_ENV_SCRUBによる PID 名前空間分離は Linux のみ で有効です(macOS や Windows では利用不可)- PID 名前空間分離には、Linux カーネルの名前空間機能(通常 Linux 3.8 以降)が必要です
CLAUDE_CODE_SCRIPT_CAPSの上限を超えた場合、追加のスクリプト実行はエラーになりますCLAUDE_CODE_SCRIPT_CAPSの適切な値はユースケースによって異なります。複雑なタスクでは多くのスクリプト実行が必要な場合があります- サンドボックス化により、一部のシステムリソースへのアクセスが制限される可能性があります
CLAUDE_CODE_SUBPROCESS_ENV_SCRUBは環境変数のスクラブ(クリーンアップ)も行うため、サブプロセスに渡される機密情報を削減します- これらの設定はセキュリティを強化しますが、完全なセキュリティを保証するものではありません