Skip to content

サブプロセスサンドボックス化: 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 を起動(サンドボックスが自動的に適用される)
claude

CI/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 は環境変数のスクラブ(クリーンアップ)も行うため、サブプロセスに渡される機密情報を削減します
  • これらの設定はセキュリティを強化しますが、完全なセキュリティを保証するものではありません

関連情報