Codexのセキュリティ設定、信頼していないフォルダでは効かない?落とし穴と点検方法

Codexのセキュリティ設定、信頼していないフォルダでは効かない?落とし穴と点検方法

OpenAIのCodex(パソコンの中でファイルを読んだりコマンドを実行したりしてくれるAI)は、使い方しだいで、ファイルの書き換えやネットへの接続まで自動で進めます。そのため、どこまでを自動で任せ、どこから止めるかを決める設定がとても大切です。

当記事では、Codexのセキュリティ設定(信頼するフォルダ・サンドボックス・承認・禁止ルール・フックの信頼)を、OpenAIの公式ドキュメントをもとにAI初心者向けに整理します。AIセキュリティ対策シリーズの3本目です。

目次

Codexのセキュリティ設定とは?5つのしくみ

Codexの守りは、1つの設定ではなく、いくつかのしくみを重ねて作るものです。まずは全体像をつかみましょう。

1. サンドボックス:AIが動ける範囲

サンドボックスは、AIがファイルを書き換えたりネットにつないだりできる範囲を区切る安全装置です。OpenAIの公式ドキュメントによると、設定(sandbox_mode)には次の3種類があります。

  • read-only:ファイルを読むことと、読むだけの範囲でのコマンド実行ができる。範囲の外の操作は承認が必要になることがある
  • workspace-write:作業フォルダの中なら、確認なしで読む・書き換える・コマンドを実行できる。作業フォルダの外の書き換えや、ネット接続が必要なコマンドは承認が必要
  • danger-full-access:サンドボックスなし。承認も切ると、確認なしで何でも実行できる

公式ドキュメントでは、danger-full-accessに「リスクが高い」「推奨しない」(いずれも編集部訳)という表示がついています。また、workspace-writeでもネット接続は、自分で有効にしない限りオフのままです。

さらに、workspace-writeでも、作業フォルダの中の「.git」「.codex」「.agents」「.aws」は読むだけの扱いになり、AIが勝手に書き換えられないよう守られています。

2. 承認:実行前に確認を求めるタイミング

承認(approval_policy)は、AIが何かを実行する前に「実行していいですか」と聞いてくるタイミングを決める設定です。公式ドキュメントでは、サンドボックスの外に出る操作の前に確認するon-request、確認しないnever、確認する種類を細かく選ぶ方法が紹介されています。

普段使いでは、サンドボックスと承認の両方を外さないことが基本です。

3. 禁止ルール(rules):特定のコマンドを止める

rulesは、「このコマンドは確認なしで実行してよい」「毎回確認する」「絶対に実行しない」を、コマンドの頭の部分(prefix)ごとに決めておくしくみです。公式ドキュメントによると、ルールは「prefix_rule」という書き方で、決め方(decision)はallow(許可)・prompt(毎回確認)・forbidden(禁止)の3つです。

複数のルールが当てはまったときは、いちばん厳しいもの(禁止→確認→許可の順)が優先されます。なお、公式ドキュメントでは、rulesはまだ試験的な機能で、今後変わる可能性があるとされています。

4. フック:実行の直前に自分の見張りを走らせる

フック(hooks)は、AIがコマンドやファイル編集などの道具を使う直前(PreToolUse)などに、自分で用意したプログラムを自動で走らせるしくみです。公式ドキュメントによると、PreToolUseのフックは、対応する道具の実行を止める(拒否する)ことができます。

ただし、公式ドキュメントはフックについて「便利な守りだが、完全な防壁ではない」(編集部訳)と注意しています。Web検索のように、フックの対象にならない道具もあります。

5. 信頼するフォルダ(trust_level):フォルダの設定を読むかどうか

Codexには、フォルダ(プロジェクト)ごとに「信頼する(trusted)」「信頼しない(untrusted)」を決める設定(trust_level)があります。公式ドキュメントによると、Codexは安全のため、フォルダの中に置いた「.codex」の設定を、信頼したフォルダでだけ読み込みます。

>>エージェントの承認とセキュリティ(編集部訳。OpenAI 公式ドキュメント・英語)

Codexの落とし穴:信頼していないフォルダでは厳しい設定も読まれない

ここが、この記事でいちばん伝えたいポイントです。

フォルダの中の設定・ルール・フックがまとめて読み飛ばされる

公式ドキュメントの設定一覧によると、信頼していないフォルダでは、フォルダの「.codex」に置いた設定ファイル(config.toml)・フック・ルールがまとめて読み飛ばされます。

つまり、「このフォルダだけは厳しくしたい」と思ってフォルダの中に禁止ルールやフックを置いても、そのフォルダを信頼していなければ効かないということです。信頼していないフォルダでも効くのは、自分のホームフォルダにある「.codex」(ユーザー設定)と、パソコン全体の設定(システム設定)に書いたものです。

筆者(編集部)の環境で点検したときも、信頼していないフォルダの中に置いた厳しい設定が読まれておらず、守っているつもりで守れていなかったことがありました。

逆に、信頼したフォルダの設定はユーザー設定より強い

公式ドキュメントでは、設定が重なったときの優先順位も示されています。起動時のオプションがいちばん強く、その次が信頼したフォルダの中の設定、その下にユーザー設定が続きます。

つまり、信頼したフォルダの中の設定は、自分のユーザー設定を上書きできるということです。中身を確かめていない他人のフォルダや、ダウンロードしてきたフォルダを、気軽に「信頼する」にしないようにしましょう。

▶ 関連記事:Claude Codeのセキュリティ注意!ダウンロードフォルダのAGENTS.md攻撃と対策

厳しい設定は「どこに」書くかで決まる

ここまでをまとめると、どのフォルダでも効かせたい禁止ルールやフックは、フォルダの中ではなく、ユーザー設定の側に置くのが確実です。

置き場所信頼していないフォルダで向いている使い方
ユーザー設定(ホームの .codex)効くどこでも止めたいもの(禁止ルール・見張りのフック)
フォルダの中の .codex効かない(読み飛ばし)そのフォルダだけの便利な設定

>>設定の基本(編集部訳。OpenAI 公式ドキュメント・英語)

>>設定項目の一覧(編集部訳。OpenAI 公式ドキュメント・英語)

Codexの禁止ルールやフックはどう使う?よくある疑問

禁止ルールはどこに、どう書く?

公式ドキュメントによると、ルールは設定フォルダの中の「rules」フォルダに、「.rules」で終わる名前のファイルとして置きます(例:ホームの .codex の中の rules/default.rules)。Codexは起動時に読み込むので、追加したら再起動します。画面で「今後も許可」を選んだコマンドも、このファイルに保存されます。

書き方の一般的な例は次のとおりです(公式ドキュメントの例をもとに、理由の文を日本語にしたもの)。

prefix_rule(
    pattern = ["git", "push"],
    decision = "forbidden",
    justification = "push は人が自分で行う",
)

justificationには、止めた理由を書いておけます。また、公式ドキュメントでは「codex execpolicy check」というコマンドで、あるコマンドにどのルールが当てはまるかを試せると案内されています。ルールを書いたら、本当に止まるかを試してから頼りにするのが大切です。

>>ルール(編集部訳。OpenAI 公式ドキュメント・英語)

フックを置いたのに動かないのはなぜ?

理由の1つは、フックの「信頼」です。公式ドキュメントによると、組織が管理するもの以外のフックは、利用者が中身を確認して信頼するまで実行されません。しかも、信頼はフックの中身ごとに記録されるため、新しく足したフックや書き換えたフックは、もう一度確認するまで読み飛ばされます。

確認と信頼は、Codexの画面で「/hooks」と入力して行います。フックを書き換えたら、/hooksで信頼し直すまで見張りは止まっていると覚えておきましょう。もう1つの理由は、前の章の「信頼していないフォルダ」です。フォルダの中に置いたフックは、そのフォルダを信頼していないと読み込まれません。

なお、公式ドキュメントによると、フックは標準で有効になっています。

>>フック(編集部訳。OpenAI 公式ドキュメント・英語)

▶ 関連記事:Claude Code hooksで「はい」を押しても止まる守りを作る!PreToolUseの使い方

見張りを作ったら何に気をつける?

自分で作った見張り(フックやルール)は、思ったとおりに動かないことがよくあります。筆者(編集部)の環境でも、個人情報を外に出さないための見張りが、パソコンのユーザー名を含むファイルの場所まで「個人情報」と判定して、普通の作業を止めてしまったことがありました。

止めすぎも、止め漏れも起こります。作ったら、止めたいものが止まるか、普段の作業が止まらないかを、両方試しておきましょう。

Codexのセキュリティ設定を点検する方法:日本語での頼み方の例

設定ファイルを自分で一から読むのが大変なら、Codex(やClaude Code)に日本語で頼んで、一覧にしてもらうのが近道です。そのとき、「まだ変えないで」「一覧にして見せて」と、確認をはさむ一言を必ず入れるのがコツです。

今の設定を一覧にしてもらう

  • 「今のCodexのサンドボックスと承認の設定を、ユーザー設定とこのフォルダの設定に分けて一覧にして。まだ何も変えないで」
  • 「信頼済み(trusted)になっているフォルダと、信頼していない(untrusted)フォルダを一覧にして見せて。設定は変えないで」

禁止ルールを足す前に、案を見せてもらう

  • 「どのフォルダでも効くように、ユーザー設定の側にgit pushを禁止するルールの案を書いて。ファイルにはまだ書き込まず、案を見せるだけにして」
  • 「今あるrulesとフックを読んで、信頼していないフォルダでは効かないものがあれば教えて。直すときは、元のファイルの控えを取ってからにして」

案が出てきたら、内容を自分で読んでから「では、控えを取ってから書き込んで」と頼みましょう。最後に、ルールが本当に効くかをcodex execpolicy checkで確かめてもらうと安心です。

▶ 関連記事:Claude Codeの権限設定を見直そう!溜まった許可の点検とdenyの書き方

気をつけたいこと:外から来た指示で設定を変えない

Webページやファイル、SNSの投稿に「この設定にして」「このフォルダを信頼して」と書かれていても、そのままCodexに渡して設定を変えさせないようにしましょう。サンドボックスや承認を外す、フォルダを信頼する、といった変更は、自分で理由が分かるときだけ行うのが安全です。

▶ 関連記事:プロンプトインジェクション対策は「手」を縛る!Claude Code・Codexの守り方

※2026年10月29日時点・OpenAI 公式ドキュメント(エージェントの承認とセキュリティ・ルール・フック・設定の基本・設定項目の一覧)より

【まとめ】Codexのセキュリティは「どこに書くか」と「信頼」で決まる

Codexの守りは、サンドボックス・承認・禁止ルール・フック・信頼するフォルダを重ねて作ります。フォルダの中に置いた設定は、そのフォルダを信頼していないと読まれず、フックは/hooksで信頼するまで動きません。どこでも効かせたい守りはユーザー設定の側に置き、日本語で一覧にしてもらって点検しておきましょう。

記事の情報について

AIの技術・サービス・ルールは変化が速く、本記事の予測や見通しは将来を保証するものではありません。各サービスの仕様・料金は公式サイトで最新の情報をご確認ください。本記事の情報は2026年10月29日時点のものです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

AIの最新ニュースを、AI初心者にもわかりやすく届けるメディア「AIオタク」の編集部です。ChatGPT・Claude・Gemini・Grokなど、各社の新しいモデルや機能の発表を毎日チェックしています。記事は、各社の公式ブログ・ヘルプページ・リリースノートなどの一次情報で事実を確かめてから書いています。運営者自身も、ひとり法人の仕事で記事作成やマーケティングにAIを毎日使っている、AIの「オタク」です。「結局、自分には何が変わるの?」がわかる記事を目指しています。

目次