◀ ガイドTOP サンドボックス
対象 安全な自律実行環境を構築したい開発者
達成目標 プラットフォーム別サンドボックスを設定できる
前提知識 CLI & App理解
所要時間 15分

サンドボックス

Codexのサンドボックス機構は、AIエージェントの安全な自律実行を実現するOS-native技術です。プラットフォーム別の実装と設定方法を解説します。

サンドボックスとは

Codexのサンドボックスは、AIエージェントの実行環境を安全に隔離するプラットフォームネイティブの機構です。特にFull Autoモードにおいて、以下の制約をデフォルトで適用します。

📝 Note

サンドボックスは「許可されていない操作はすべてブロック」するホワイトリスト方式です。明示的に許可された操作のみが実行可能なため、未知の攻撃ベクトルに対しても防御力を発揮します。

プラットフォーム別実装

Codexは各OSのネイティブサンドボックス機構を活用しています。仮想マシンやコンテナではなく、OSカーネルレベルの安全機構を直接利用するため、オーバーヘッドが極めて小さいのが特徴です。

macOS: SBPL / sandbox-exec

macOSでは、AppleのSeatbelt(SBPL: Sandbox Profile Language)を使用します。これはmacOSアプリのApp Sandboxと同じ基盤技術です。

SBPL プロファイル例(概念)
(version 1) (deny default) (allow file-read* (subpath "/workspace")) (allow file-write* (subpath "/workspace")) (allow file-read* (subpath "/tmp")) (deny network*)

Linux: Landlock + seccomp-bpf

Linuxでは2つのカーネルセキュリティ機構を組み合わせています。

✅ Tip

Linux環境ではカーネルバージョン5.13以降を推奨します。uname -r でバージョンを確認できます。Landlock非対応の古いカーネルでは、seccomp-bpfのみでフォールバックします。

Windows: Restricted Token + ACLs

WindowsではWindowsセキュリティの仕組みを活用します。

プラットフォーム 技術 カーネル要件 特徴
macOS SBPL / sandbox-exec macOS 10.15+ App Sandboxと同じ基盤、成熟度が高い
Linux Landlock + seccomp-bpf Kernel 5.13+ root権限不要、最も柔軟
Windows Restricted Token + ACLs Windows 10+ NTFSセキュリティと統合

設定方法

.codex/config.toml でサンドボックスの動作をカスタマイズできます。

.codex/config.toml
[sandbox] # ワークスペースへの書き込み許可(デフォルト: true) workspace_write = true # ネットワークアクセス(デフォルト: false) network_access = false # 追加の書き込み許可ディレクトリ # additional_write_paths = ["/tmp/build-cache", "/var/log/app"]

設定項目の詳細

設定キー デフォルト 説明
workspace_write true ワークスペースディレクトリへの書き込みを許可
network_access false 外部ネットワークへのアクセスを許可
additional_write_paths [] 追加の書き込み許可パス(配列)
⚠️ Warning

network_access = true を設定すると、Codexが外部APIやサービスにアクセスできるようになります。セキュリティリスクを理解した上で、必要な場合のみ有効にしてください。

Full Autoモードの安全性

Full Autoモードでは、Codexがファイル編集もコマンド実行も人間の承認なしに自動で行います。この強力な自律性は、サンドボックスによって安全性が担保されています。

安全性を担保する仕組み

1

ネットワーク隔離

デフォルトでネットワークアクセスが無効のため、機密データの外部送信や、悪意のあるスクリプトのダウンロードが不可能です。npm install等のパッケージインストールも制限されます。

2

ファイルシステム隔離

書き込みがワークスペースに制限されるため、システムファイルの改ざんや他プロジェクトへの影響を防ぎます。/etc~/.ssh などの重要ディレクトリは保護されます。

3

プロセス隔離

Codexが起動したすべてのサブプロセスにもサンドボックス制約が継承されます。bash -c "curl ..." のような間接的なエスケープも防止します。

4

Git Worktree統合

デスクトップAppでは各タスクが独立したGit Worktreeで実行されます。メインブランチを直接変更することなく、安全に検証できます。

📝 Note

Full Autoモード + サンドボックスの組み合わせにより、「自律性」と「安全性」を両立しています。人間がすべてを監視しなくても、OSレベルの制約により被害を限定できます。

カスタマイズ

デフォルトのサンドボックス設定は最も安全ですが、タスクの要件に応じて制約を緩和できます。

書き込み範囲の拡張

ビルドキャッシュや一時ファイルなど、ワークスペース外への書き込みが必要な場合に設定します。

.codex/config.toml
[sandbox] additional_write_paths = [ "/tmp/build-cache", "/home/user/.cache/node_modules", ]

ネットワークアクセスの許可

API呼び出しやパッケージのダウンロードが必要な場合に設定します。

.codex/config.toml
[sandbox] network_access = true

danger-full-access

すべてのサンドボックス制約を無効化するオプションです。テスト環境やCI/CDパイプラインでのみ使用してください。

Terminal
codex --danger-full-access "deploy to staging"
⚠️ Warning

--danger-full-access はサンドボックスを完全に無効化します。本番環境では絶対に使用しないでください。このフラグを使う場合は、他の安全機構(コードレビュー、ステージング環境など)で補完してください。

Claude Code Hooksとの比較

CodexのサンドボックスとClaude CodeのHooksは、どちらもAIエージェントの安全性を確保する機構ですが、アプローチが根本的に異なります。

項目 Codex サンドボックス Claude Code Hooks
アプローチ OSレベルの隔離(予防的) イベントベースの制御(反応的)
実装レイヤー カーネル / OS API アプリケーション層
ネットワーク制御 OS-nativeブロック Hookスクリプトで制御
ファイル書込み制御 OS-nativeアクセス制御 PreToolUseフックで検査
バイパス耐性 高(カーネルレベル) 中(アプリ層で回避の余地あり)
柔軟性 中(OS制約の範囲内) 高(任意のスクリプト実行)
設定の容易さ 簡単(config.toml数行) やや複雑(スクリプト記述が必要)
カスタムロジック 限定的 自由(任意のbash/Python等)
✅ Tip

Codexのサンドボックスは「ハードな境界」を提供し、Claude CodeのHooksは「ソフトな制御」を提供します。理想的には、サンドボックスで基本的な安全性を確保し、Hooksでビジネスロジックに応じた細かな制御を行う、という併用がベストプラクティスです。

使い分けの指針