コンテンツにスキップ

2026年2月 最新情報

Codex CLI v0.101.0+ / GPT-5.3-Codexに対応。サンドボックス機能が強化されており、--full-autoモードが推奨されるケースも増えています。

Codex CLI危険モード安全運用チェックリスト(--dangerously-skip-permissions)

Codex CLI 完全ガイド

この記事の対象者

  • Codex CLIで高速自動化を走らせつつ、危険権限を制御したい中級SRE/DevOpsエンジニア

この記事のポイント

  1. 危険モード使用時に必須の監査ログとアラートを即時に整備できる
  2. 失敗を防ぐための一時プロファイル切替とロールバック手順をテンプレ化できる
  3. 実行後に計測すべき3指標で安全性を可視化し、社内承認を得られる

なぜこの問題が今重要か

高権限運用の需要がある一方、危険モード単体の検証手順は未整備だった。自動承認ガイドでは全体像をカバーしているが、--dangerously-skip-permissionsに特化した安全運用チェックリストが求められている。

解決ステップ概要

ステップ内容到達指標
1危険モード前提の監査トグルを整備/statusでdangerフラグが見える
2一時プロファイルとアラートを実行前に登録実行後にSlack/Webhook通知が届く
3ロールバックと監査保存を固定化実行ごとにJSONログが保管される

ステップ1: 危険モードを使う条件を明文化し監査を有効化

まずcodex /statusで現在のsandbox_modeapproval_policyを確認し、危険モードを使う条件(隔離ホスト・対象リポジトリ・実行時間)をチェックリスト化する。条件を満たさない場合は通常モードへ戻すルールを決め、CODEX_HOME/history.jsonlの出力パスも事前に共有する。

codex /status
# sandbox_mode: danger-full-access
# approval_policy: never
# log_path: ~/.codex/history.jsonl

この状態確認を実行ログに残すことで、監査チームが後追い検証できる。

ステップ2: 一時プロファイルで危険権限を限定し通知を自動化

危険モードを常設しない。~/.codex/config.tomlに一時プロファイルを作り、実行直前にだけ呼び出す。プロファイル内でdangerously_skip_permissions=trueと同義の設定をまとめ、同時にSlack Webhookなどの通知スクリプトを呼び出す。

[profiles.danger_run]
sandbox_mode = "danger-full-access"
approval_policy = "never"
post_run_hook = "bash ~/.codex/hooks/notify_danger.sh"

通知スクリプトでは実行者・実行コマンド・Gitリビジョンを送る。これにより「誰がいつ危険モードを起動したか」がリアルタイムで共有される。実行が終わったらcodex --profile defaultで安全設定へ戻すことを運用ルールにまとめる。

ステップ3: 危険操作を終えたら即座にロールバックプランとログ保全を実行

危険モードでの操作後は、同じターミナルでscripts/post_danger_cleanup.shのようなテンプレを実行し、変更差分のレビューとログのバックアップを自動化する。最低限、git statusgit diff --statjqで履歴ファイルを抽出し、安全なストレージへコピーする。

codex --sandbox read-only "git status --short && git diff --stat"

ロールバックプランは「想定外の削除があればgit restoreで復元」「外部サービス連携ならAPIキーをローテーション」といった分岐を含める。危険モードを使うたびにテンプレへ実績を追記し、次回の判断材料にする。

よくある落とし穴と対処

症状原因即時対処
監査ログが欠落して後追い検証できないhistory.jsonlがローテートされている危険実行直後にS3等へコピーするスクリプトをhook化
開発者が危険モードを常時ONにするプロファイル切替の手間が大きいcodex --profile defaultを終了時に自動実行するログアウトフックを設定
外部リソースへ不要なアクセスが発生ドメイン許可リストが存在しないpost_run_hookで許可リスト外アクセスを検知し即時通知する
詳細設定(高度最適化) - `post_run_hook`ではShell以外に`python`スクリプトを指定できる。リスクスコアリングを実装し、「削除系コマンドが含まれる場合はPagerDutyを起動」などの判定を追加すると効果が高い。 - AWSなど外部環境で実行する場合は、Codexとは別にIAMロールでアクセス権限を時間制限付きにする。終了時にロールを自動剥奪するLambdaを接続すると、危険モードの利用時間を短く保てる。 - 定期的に`codex sessions prune`を使い、危険モードで残ったセッションをクリーンアップする。残骸セッションは誤復帰の原因になりやすい。

次に読む(関連 1〜2 本)