メインコンテンツへスキップ
ファイアウォールルールは、ツール呼び出しのライフサイクル上の特定のポイントで発火 します。そのポイントがそのステージです — 4 つの強制サーフェスのひとつで、それぞれが 呼び出しの異なるスライスを見ます。ルールを誤ったステージに固定すると、誤ったデータを 見ます:inbound サーフェス上の egress 許可リストにはチェックする宛先がなく、 inbound 上の引数句にはまだ呼び出し時の引数がありません。 このページは 4 つのエージェントファイアウォールステージへの焦点を絞ったガイドです: 各サーフェスが何を観察するか、いつルールがそれをターゲットにすべきか、そして同じ意図が 異なるステージでどう表現されるかという 1 つの具体的な方法です。完全なルール語彙に ついてはファイアウォールルールを、その周りのポリシー モデルについてはファイアウォールを参照してください。

1. 4 つのステージ概観

すべての評価は、ちょうどひとつのステージでスタンプされます。ステージのないルール ("")はすべてに適用されます;ひとつのステージに固定されたルールはそこでのみ 発火します。
ステージサーフェスが見るもの
inboundエージェントがリクエストでアドバタイズするツール
responseモデルがその返信で発行する tool_calls
mcpMCP ゲートウェイ経由でディスパッチされる tools/call
egressツールが到達するアウトバウンドの host / IP / CIDR
ステージ名は安定した enum 値です — ルールエディタのステージフィールドにそのまま 設定するか、API 経由で作成するときに stage プロパティとして設定します。
ステージはどのデータがスコープに入るかを統制し、判定がどれだけ厳格かではありません。 deny はどのステージでも deny です;変わるのは、ルールがマッチに必要な引数、ツール名、 または宛先を持っているかどうかです。

2. inbound — エージェントがアドバタイズするツール

最も早いサーフェスです。モデルが実行される前に、エージェントはモデルに呼び出させても よいツール定義のリストを送ります。inbound ステージはそのアドバタイズされた ツールセットを見て、モデルがそれを選択する前に危険なツールをブロックできます。 このステージには呼び出し時の引数がありません — モデルはまだどう呼び出すかを決めて いません — したがって inbound ルールはツール名(とオプションで所有スキル)に マッチし、args_match_json ではありません。
inbound 上の sanitize 判定にはリダクトするものがない(まだ引数が存在しない)ため、 ブロックにエスカレートします。inbound ルールは明示的な allow / deny として 作成し、sanitize は実行ステージのために取っておきます。
ここで deny された呼び出しは、ツールと理由にちなんで名付けられたコード firewall_blockedHTTP 400 を返し、skip-retry とマークされます。

3. response — モデルが発行するツール呼び出し

モデルが返信すると、1 つ以上の tool_calls を発行する可能性があります — 実引数を 持つ具体的な呼び出しです。response ステージはそれらを見るため、ここが引数レベルの ルールが属する場所です:「shell.exec をブロック」ではなく「コマンドが rm -rfときのみ shell.exec をブロック」です。
{
  "stage": "response",
  "tool_name_glob": "shell.exec",
  "verdict": "deny",
  "args_match_json": "{\"clauses\":[{\"path\":\"$.command\",\"op\":\"regex\",\"value\":\"rm -rf|mkfs|dd if=\"}]}"
}
モデルが選択した引数が存在するため、sanitize はここで機能します — 呼び出しの 引数からマッチした部分文字列をリダクトし、クリーニングされた呼び出しを転送します。 (サニタイズはツール呼び出しの引数のみをリダクトします;ツールが返すコンテンツ には決して触れません。)

4. mcp — ゲートウェイ経由でディスパッチされる呼び出し

エージェントが OrcaRouter のMCP ゲートウェイ経由で ツールに到達するとき、すべての tools/call が、登録されたサーバーにディスパッチ される前に mcp ステージで評価されます。これは Model Context Protocol トラフィックを統制するサーフェスです — response と同じ グロブ / 引数 / 判定の語彙を、MCP ディスパッチに適用したものです。 ここでのブロックはトランスポート障害ではなくツールエラーfirewall deny: <reason>)として表面化するため、モデルは拒否を見て反応できます — 別のツールを選ぶ、ユーザーに尋ねる、あるいは停止します。
mcp ステージはサーバーごとの統制と組み合わさります:登録された各 MCP サーバーは 独自のヘルスプローブと暗号化された認証情報を持ち、それを通じてロードされたスキルは リスクバンドと強制モードを持ちます。 ファイアウォール MCPファイアウォールスキルを参照。

5. egress — ツールが到達するアウトバウンド宛先

最後のサーフェスです。ツールがアウトバウンドのネットワーク宛先を報告すると、 egress ステージがそれにマッチします — SSRF とデータ持ち出しのサーフェスです。 egress ルールはツール名パターン単独にはマッチしません;host / IP / CIDR リストに マッチします:
{
  "stage": "egress",
  "verdict": "deny",
  "egress_json": "{\"deny\":[\"169.254.169.254\",\"10.0.0.0/8\"],\"allow\":[\"api.openai.com\"]}"
}
エントリは CIDR、IP リテラル、または大文字小文字を区別しないホスト名としてマッチ します。ホストと CIDR の deny ルールはあなた自身が作成します — クラウドメタデータ エンドポイント(169.254.169.254)と RFC-1918 範囲が deny すべき典型的なものです。 allow/deny の極性については ファイアウォールルール §6を 参照してください。
CIDR ルールを出荷するプリセットはありません。tight 自律性レベルの SSRF 姿勢はフェッチ形のツール名(例:http_fetchweb_searchfetch_url)を deny します;宛先ベースの egress deny は、エージェントが決して到達してはならない ホストと範囲のためにあなたが作成するものです。

6. 正しいステージを選ぶ

同じセキュリティ目標には、しばしば最適なステージがあります。意図を、必要なデータを 実際に運ぶサーフェスにマッチさせます:
モデルがツールを見ることさえあってはならない場合、inbound でそれを deny します。ブロックはモデル呼び出しの前に着地するため、モデルトークンを消費しません。
引数句はモデルが選択した引数を必要とし、それらは responsemcp にのみ 存在します。危険な引数で deny するか、エージェントが引数に入れたシークレットや PII 値を剥がすために sanitize します。
MCP ゲートウェイ経由でルーティングされた呼び出しは、ディスパッチ前に mcp で 評価されます — 登録されたすべてのサーバーのツールのチョークポイントです。
宛先ベースのルール — クラウドメタデータ IP をブロック、CIDR を deny、承認済み ホストを許可リスト — は egress でのみ意味を持ちます。
ステージのないルールは 4 つすべてで実行されます。全体的な default_verdict スタイルのルールや、出現するすべての場所で deny するツールに 使います。

7. ステージとシャドウモード

ポリシーの shadow_mode フラグはステージから独立しています。それをオンにすると、 どのステージでもすべての強制判定が audit に格下げされ、理由には [shadow] would … が前置されるため、ルールが正しいサーフェスで発火することを、それが ライブトラフィックを変える前に確認できます。 シャドウモード強制モードを参照。

8. ステージが全体像のどこに収まるか

4 つのステージは強制のどこです;モデルの残りはです。

判定

各ステージがマッチした後に何ができるか — allow、audit、deny、sanitize、 承認のための保留、コスト上限。

ツール許可リスト

inbound を使って、エージェントがアドバタイズするツールセットを制約します。

引数の検証

ツールがどう呼び出されるかでツールをゲートする response / mcp 引数句を 作成します。

Egress 制御

egress サーフェスでアウトバウンド宛先をブロック — 持ち出し境界です。
これらのサーフェスが検査パス上にどう位置するかについては、 OrcaRouter がどう検査するか強制パスのレイテンシの注記を 参照してください。各ステージが対処する脅威については、 危険なツール呼び出しデータ持ち出しMCP ツールポイズニングを参照してください。