跳轉到主要內容
AI 代理不只是產生文字——它會行動。它會呼叫 shell.exec、 查詢資料庫、擷取一個 URL、透過 MCP 伺服器派發一次工具呼叫。 其中每一項都是提示詞層級的防護欄 看不見的真實世界動作。代理防火牆是治理它們的動作層平面: 一個工作區範圍的命名政策,閘道會在每次工具呼叫時、它抵達工具 之前對它進行評估。 本頁是防火牆章節的中樞——政策模型、裁決、各介面,以及一個政策 如何綁定到金鑰。每個分支頁都深入一層,而完整的引擎參考存在於 防火牆防火牆規則

1. 代理防火牆做什麼

你在工作區主控台撰寫一次政策,將一個 API 金鑰綁定到它 (或將其中一個設為工作區預設值),從此該金鑰發出的每一次工具 呼叫都會在閘道處對照該政策檢查。無需重新部署、無需修改代理 程式碼——你的代理像以前一樣繼續發出工具呼叫,而編輯政策會在 下次呼叫時對綁定到它的每個金鑰生效。 一個政策是一份有序的規則清單。每條規則決定它套用於哪些工具 呼叫以及要對它們做什麼。引擎會按優先順序走訪規則,第一個 匹配者勝出,若無任何匹配則回退到政策的預設裁決
偵測發生在閘道處,於首次使用時——而不是在安裝時。代理自行安裝的 工具、MCP 伺服器或技能,會在其呼叫首次穿越閘道時被捕捉。那是 那個唯一能看見每一個供應商、每一個代理與每一次工具呼叫的咽喉 要道,無論該能力是如何進來的。

2. 一個具體範例

假設你想封鎖破壞性的 shell 指令,但讓其餘一切在稽核下通過。在 主控台中你建立一個 default_verdict = audit 的政策,並加上一條規則:
{
  "label": "block rm -rf",
  "tool_name_glob": "*.exec",
  "args_match_json": "{\"clauses\":[{\"path\":\"$.command\",\"op\":\"regex\",\"value\":\"rm -rf|drop table\"}]}",
  "verdict": "deny"
}
args_match_json 是一個 JSON 編碼的字串(閘道在儲存時會對照 子句綱要驗證它):path 是進入該呼叫引數的一個 JSONPath,opeqcontainsregexincidr_matchgtlt 之一。 將一個金鑰綁定到該政策(在金鑰上設定 firewall_policy_id)。現在當 一個代理以 command: "rm -rf /" 發出 shell.exec 時,閘道會傳回 HTTP 400,帶有錯誤代碼 firewall_blocked 與一個指名工具的 原因——而該呼叫永遠不會抵達 shell。其餘每一次工具呼叫都會被允許 並記錄下來以供審查。
先在影子模式下推出一個新 政策:它會像在生產環境中那樣完全相同地評估並記錄,但每個強制執行 的裁決都會被降級為 audit,原因會被加上前綴 [shadow] would …。 觀察事件動態,然後關閉影子模式以強制執行。

3. 政策、規則與解析

一個政策是工作區範圍的且命名的,具有 enabledis_default、一個 default_verdictallow / audit / deny,預設 audit)以及一個 shadow_mode 旗標。一條規則是它內部的一項檢查——參見 建立政策規則綱要 對任何工具呼叫,閘道會按此順序解析作用中的政策:
  1. 金鑰綁定——呼叫金鑰的 firewall_policy_id,當該政策存在且已 啟用時。
  2. 工作區預設值——否則套用已啟用的 is_default 政策。
一個已停用的綁定防火牆政策會回退到工作區預設值——這與 防護欄不同,後者中一個已停用的綁定會解析為。金鑰防火牆上的 關閉開關是「使用預設值」,而不是「不強制執行」。參見 管理政策
當完全沒有政策解析出來時,行為取決於工作區的 firewall_observe_mode 設定:在觀察模式開啟時,呼叫會被允許但 記錄為一個涵蓋缺口(它會出現在 Discovered Tools 中);在它關閉時, 呼叫會被靜默允許。

4. 裁決

一條規則——或預設裁決——會產生以下其中之一:
裁決作用
allow讓呼叫通過,會被記錄。
audit允許 + 記錄以供審查。常見的預設值。
deny封鎖。inbound 上回傳 HTTP 400 firewall_blocked;MCP 上回傳工具錯誤。
sanitize從工具引數中遮罩匹配到的子字串並轉送。
pending_approval為人類保留;HTTP 400 firewall_approval_pending
cap_cost一旦執行的花費跨越每規則上限就拒絕。
一個 sanitize 裁決只遮罩呼叫引數——絕不遮罩工具回傳的內容。 在 inbound 介面上,那裡尚無呼叫時引數,sanitize 會升級為封鎖。參見 裁決淨化回應

5. 四個強制執行介面

每一次工具呼叫都會對照恰好一個介面進行評估——用 stage 欄位 將一條規則固定到其中一個,或將它留空以套用於全部。

inbound

代理在請求上向模型公告的工具。在模型甚至無法選擇某個危險工具 之前就將其封鎖。

response

模型在其回覆中發出的 tool_calls

mcp

透過 MCP 閘道派發的一次 tools/call。參見 MCP 伺服器

egress

某工具觸及的一個外送 host / IP / CIDR——SSRF 與資料外洩介面。

6. 匹配

規則以一套小而確定的詞彙表達它們捕捉哪些工具呼叫,這套詞彙在 熱路徑上是安全的:
工具名稱上一個區分大小寫的 glob(shell.**.delete),可選擇性地 與擁有它的技能上的一個 glob 做 AND 連接。參見 Glob 語法工具允許清單
對呼叫引數的 JSONPath 判定式,運算子有 eqcontainsregexincidr_matchgtlt——這是「封鎖 shell.exec」與「只在 指令為 rm -rf 時才封鎖它」之間的差別。子句失敗關閉(影響的是 規則,而非請求)。參見 驗證引數
egress 介面上的 host / IP / CIDR 允許與拒絕清單。你可以為 cloud-metadata 或 RFC-1918 範圍撰寫自己的拒絕規則。參見 Egress 控制
一條 sequence 規則會匹配一個窗口內的有序呼叫鏈(被動式強制 執行);一條 cap_cost 規則會在某代理執行的累計花費跨越分(cents) 上限後拒絕。參見 序列規則成本上限

7. 人工審批、自主與異常

  • 人工介入(HITL)。 一個 pending_approval 裁決會保留該呼叫並 傳回它的審批 id。審查者在主控台(Developer+)或透過一個 HMAC 簽署的 webhook 回呼解決它;代理進行輪詢,並帶著一個一次性的 X-OrcaRouter-Firewall-Approval 標頭重新提交。參見 審批審批 webhook
  • 自主等級。 單一開關設定你的整體姿態:tight (default-deny + 拒絕破壞性 shell + 拒絕擷取形狀的工具 (http_fetch/web_search/fetch_url/request,即 SSRF 向量)+ 強制執行 PII Shield + Secrets Blocker)、balanced(預設 audit、拒絕 破壞性 shell、PII Shield 僅稽核),或 permissive(僅觀察)。每一個 都會寫入真實、可編輯的政策與防護欄列,並支援從稽核快照一鍵還原。
  • 異常偵測。 在靜態規則之外,防火牆會將工具使用對照一個習得的 週小時基線(14 天)評分,並在一個 Member 可讀、你可暫停(snooze) 最多 7 天的動態上標記速率/成本飆升、retry_loopnovel_path

8. 防火牆的定位

防火牆是兩個相鄰平面的動作層對等物:
平面治理何時使用它
防護欄提示與回應文字PII、密鑰、越獄、注入意圖
代理防火牆工具動作哪些工具、MCP 呼叫、主機與成本
合規證據與框架SOC 2 / HIPAA / EU AI Act 就緒度
內容平面與動作平面都可套用於單一請求,而一個自主等級會將它們 一起設定好。參見 防護欄 vs. 防火牆控制堆疊

9. 綁定與連接

一個政策透過 firewall_policy_id 綁定到金鑰(在主控台中設定;綁定 存在於閘道中的金鑰上)。一次工具呼叫抵達引擎有兩種方式,兩者都 需要一個防火牆閘道範圍的金鑰(is_firewall_gateway = true)——一般 中繼金鑰在這些路由上會得到 403
  • MCP 閘道——將你的 MCP 客戶端指向統一的 ANY /api/v1/firewall/mcp 端點;每一次 tools/call 都會被就地評估。 參見 MCP 伺服器
  • Evaluate hook——在派發之前,從你自己的代理迴圈呼叫 POST /api/v1/firewall/evaluate(或對多步驟計畫呼叫 /evaluate_plan),並依裁決行動。
所有主控台設定都透過 /api/workspace/firewall/* 在你的工作階段下 執行。對政策、設定、discovered tools、唯讀自主模擬器與異常動態的 讀取對每個工作區成員開放;乾跑的 Test 沙盒、Events / Runs 記錄, 以及所有寫入都需要 Developer+。參見 閘道金鑰測試規則

10. 此平面處理的威脅

危險的工具呼叫

依 glob + args 拒絕破壞性 shell、DB drop 與高風險動詞。

資料外洩

Egress 清單與「讀取後匯出」序列規則。

MCP 工具投毒

在派發前於 mcp 介面上進行每次呼叫的評估。

過度代理權

審批、成本上限與 default-deny 姿態。

下一步

建立政策

撰寫你的第一個政策與規則。

裁決

每個裁決在線路上做什麼。

事件記錄

讀取防火牆判定了什麼以及為何。