概要
https://nextat.co.jp/staff/archives/391
詳細内容
## Codex CLIを安全に使おう ~ sandboxモードの活用 ~
https://nextat.co.jp/staff/archives/391
Codex CLIのsandboxモードを活用し、意図しないファイル操作やネットワークアクセスを防ぎ、AIエージェントの利用におけるセキュリティリスクを軽減する方法を解説します。
**Content Type**: ⚙️ Tools
**Language**: ja
**Scores**: Signal:4/5 | Depth:4/5 | Unique:3/5 | Practical:5/5 | Anti-Hype:5/5
**Main Journal**: 84/100 | **Annex Potential**: 80/100 | **Overall**: 84/100
**Topics**: [[AIエージェント, セキュリティ, Codex CLI, 開発ツール, サンドボックス]]
株式会社Nextatのたけちゃん氏が、業務でCodex CLIを使用する上でのセキュリティ対策として、sandboxモードの活用方法を詳細に紹介しています。AIエージェントの普及に伴い、意図しないインターネットアクセスやファイル書き込みが重大なミスに繋がるリスクが高まる中、このモードはそうしたリスクを未然に防ぐ「防波堤」として機能すると強調されています。
sandboxモードは、ユーザーのリスク許容度に応じてインターネットアクセスやローカルファイルの書き込み権限に制限をかけられる機能です。これにより、Codexのコマンド実行に対する制限を最も確実に行うことが可能になります。
主な制限の種類と効果は以下の通りです。
* **ファイルアクセスに対する制限**:
* `read-only`: 全てのファイル操作が読み取り専用となり、外部破壊リスクを排除したい検証環境などに適しています。
* `workspace-write`: カレントディレクトリと許可されたパスのみ書き込み可能で、一般的な開発タスクにおけるプロジェクト内での修正を許容しつつ、システム領域へのアクセスを防ぎます。
* `danger-full-access`: 制限なしで、CI用途や信頼済み環境での高度な自動化に用いられますが、誤操作リスクが最も高まります。
* **ネットワークアクセスに対する制限**:
* `restricted`: 通信が基本遮断され、情報漏洩リスクを抑えられますが、依存取得やAPIアクセス時に明示的な承認が必要になります。
* `enabled`: ネットワーク制約なしでコマンド実行が可能で、データ取得やクラウド連携が必須なタスクで利用されますが、外部送信の監視が重要です。
* **Approval Policy(承認ポリシー)**:
* `untrusted`: 読み取り以外のほとんどのコマンドが都度承認待ちとなり、新しいスクリプトの安全性確認に有効です。
* `on-request`: サンドボックス内で実行され、必要時のみ「承認あり」で再実行します。
* `on-failure`: まずサンドボックス内で試し、失敗したコマンドだけ承認を求めて再実行する、日常開発向けのバランス型です。
* `never`: 追加承認は行わず、サンドボックスの制約内で完結させる必要があります。
これらのモードは、Codexコマンドのオプションとして `--sandbox <ファイルアクセスのモード> --ask-for-approval ` の形式で指定するか、`~/.codex/config.toml` に設定を記述することで適用できます。記事では、`read-only`モードでフォルダ削除を指示した場合に、権限昇格の承認を求められる具体的な使用例を提示し、sandboxモードがセキュリティを担保しながら開発をサポートする様子を示しています。AIエージェントを安全に利用するためには、このようなツール側のセキュリティ機能を積極的に活用することが不可欠であると結論付けています。