1. AI 代理安全 FAQ——從這裡開始
一張 30 秒的地圖,標示哪個控制回答哪個問題:2. 防護欄——內容篩查
如果沒有防護欄在一個請求上解析會怎樣?
如果沒有防護欄在一個請求上解析會怎樣?
什麼都不會。解析是:金鑰上明確的
guardrail_id(如果它
存在且已啟用)→ 否則工作區 is_default
防護欄 → 否則無強制執行。一個停用的明確
附加是關閉開關——它不回退到
預設值。沒有任何東西解析時,請求與從未啟用該功能的
工作區逐位元組相同。被封鎖的請求會消耗我的配額嗎?
被封鎖的請求會消耗我的配額嗎?
不會。
block 動作返回 400 guardrail_blocked 且消耗無
配額——輸入階段封鎖在計量之前觸發;輸出階段
封鎖退還預先消耗的配額。它也標記為 skip-retry:
重新執行完全相同的提示詞只會再次封鎖。有哪些規則類型和動作?
有哪些規則類型和動作?
規則類型:
keyword、regex、pii、max_chars、external、
llm_judge、grounding。動作:block(拒絕)、mask(修訂並
轉發)、flag(僅記錄,不改變流量)。階段:input、
output、both。各項參見防護欄。會偵測哪些 PII 實體,遮罩看起來是什麼樣子?
會偵測哪些 PII 實體,遮罩看起來是什麼樣子?
內建實體包括
email、phone、credit_card、ssn、
ip、iban、mac_address、jwt、aws_access_key、api_key_openai、
bitcoin_address,加上地區性類型(jp_mynumber、kr_rrn、
cn_resident_id)。mask 動作渲染一個型別化標籤——
jane@acme.com → [EMAIL],一個 SSN → [SSN]。你可以每條規則疊加
最多 25 個自訂正規表示式實體(附帶一個可選的 Luhn 校驗和),
並透過 entity_actions 逐實體覆寫動作。輸出遮罩在串流回應上強制執行嗎?
輸出遮罩在串流回應上強制執行嗎?
輸出 block 雙向都強制執行——非串流回應在
返回前被篩查,而串流掃描器在飛行途中切斷串流。
輸出 mask 目前僅限非串流;在
串流回應上,區塊未遮罩地通過(帶內串流
重寫在路線圖上)。輸入階段遮罩——在模型看見之前
清理請求——無論如何都是即時的。
PII Shield 預設值今天在輸入階段遮罩。
LLM 評審的成本是什麼?
LLM 評審的成本是什麼?
keyword / regex / pii / max_chars 規則不做模型呼叫且
不計費。一條 llm_judge 規則透過一個工作區模型執行語義
檢查(受 judge_timeout_ms 限制,預設失敗開放),
並作為一個單獨的評審子項計費。一條 grounding
規則以相同方式,對著請求擷取的來源為答案忠實度評分
(閾值預設 0.7)。我能看到一條規則實際匹配了什麼嗎?
我能看到一條規則實際匹配了什麼嗎?
打開 Matches 動態(
GET /api/guardrail/match,Member)。每
列記錄規則類型、動作、階段和一個詳細字串——以及
匹配到的子字串,只在該防護欄的「記錄原始內容」開啟時
(預設關閉,是隱私保守的姿態)。錯誤
封鎖?把它標記為誤報
(POST /api/guardrail/match/:id/mark-fp,Admin)。你們會掃描相依套件中已知的 CVE 嗎?
你們會掃描相依套件中已知的 CVE 嗎?
一個防護欄可以用一個程式碼安全公告裝飾提示詞
(例如對一個被引用套件的 CVE/SBOM 註記),而不封鎖或
遮罩文字。這是一個增強請求而非拒絕它的註解
層——有別於你直接撰寫的
block / mask /
flag 動作。在 Integrations 下連接一個掃描器來驅動它。3. 防火牆——代理動作
防火牆在解析上與防護欄有何不同?
防火牆在解析上與防護欄有何不同?
一個關鍵差異:一個停用的附加防火牆政策回退到
工作區預設值,而停用的附加防護欄解析
為無。否則兩者都經由金鑰附加
(
firewall_policy_id / guardrail_id)並共用工作區預設值
回退。參見
防護欄與防火牆。裁決和表面是什麼?
裁決和表面是什麼?
裁決:
allow、audit、deny、sanitize、pending_approval、
cap_cost。default_verdict 是 allow / audit / deny(預設
audit)。表面:inbound(公告的工具)、response
(模型發出的 tool_calls)、mcp(一個 tools/call)、egress
(外向主機/IP/CIDR)。
裁決詞彙表解碼各項。`sanitize` 會清理工具返回的內容嗎?
`sanitize` 會清理工具返回的內容嗎?
不會——而這是常見的誤解。一個
sanitize 裁決只修訂
工具呼叫引數中匹配到的子字串,絕不修訂工具返回的
內容。在 inbound 表面上(還沒有呼叫時引數)
sanitize 升級為拒絕。自主等級做什麼?
自主等級做什麼?
一個開關設定你整個姿態,寫入真實可編輯的
•
•
•
一鍵還原從套用所寫的稽核快照還原先前狀態。它是 單一步驟——一旦較晚的套用(或手動政策編輯)取代了 那個快照,還原就不可用。參見 強制執行模式。
autonomy_*
列:•
balanced(推薦的起點)— 預設 audit、拒絕
破壞性 shell、PII Shield 處於僅稽核(標記 PII)。•
tight — 預設拒絕、拒絕破壞性 shell、拒絕 SSRF 形狀的
擷取工具、強制執行 PII Shield + Secrets Blocker。•
permissive — 僅觀察。一鍵還原從套用所寫的稽核快照還原先前狀態。它是 單一步驟——一旦較晚的套用(或手動政策編輯)取代了 那個快照,還原就不可用。參見 強制執行模式。
SSRF 預設值會封鎖私有 IP 和雲端元資料嗎?
SSRF 預設值會封鎖私有 IP 和雲端元資料嗎?
不會按預設值。
tight 自主 SSRF 預設值拒絕常見的
擷取形狀工具名稱(http_fetch、web_search、fetch_url、
request)。要按目的地拒絕——RFC-1918 範圍、雲端元資料
IP、特定 CIDR——撰寫你自己的 egress 表面主機/CIDR 拒絕
規則。沒有預設值為你出貨 CIDR 規則。參見
Egress 與資料外洩。我如何在不破壞流量的情況下推出一條政策?
我如何在不破壞流量的情況下推出一條政策?
開啟影子模式(每政策):政策評估並記錄但
把每個強制執行裁決降級為
audit,原因加
[shadow] would … 前綴。觀察 Events 和 Runs 視圖,然後關閉
影子以強制執行。工作區層級的觀察模式
(firewall_observe_mode)是互補的發現旋鈕——它把
未覆蓋的呼叫記錄為 Discovered Tools 中的缺口。人工審批(HITL)如何運作?
人工審批(HITL)如何運作?
一個
pending_approval 裁決返回 400 firewall_approval_pending
附帶一個審批 id。審查者從控制台
(Developer+)或透過一個 HMAC webhook 回呼
(POST /api/v1/firewall/approvals/:id/callback)解析它。代理輪詢
GET /api/v1/firewall/approvals/:id 並用一個單次使用的
X-OrcaRouter-Firewall-Approval 標頭重新提交原始呼叫。參見
危險的工具呼叫。異常偵測在尋找什麼?
異常偵測在尋找什麼?
對著一個學習到的週小時基線(14 天)評分的
速率/成本飆升,加上
retry_loop 和 novel_path(一個
從未見過的工具到工具轉移)。該動態是 Member 可讀的;暫緩一個
異常最多 7 天。參見
過度代理權限。4. MCP、金鑰與閘道存取
MCP 伺服器如何受治理?
MCP 伺服器如何受治理?
登錄一個伺服器(
name、endpoint、auth_mode 為
none/bearer/oauth/basic、加密憑證),MCP
閘道在派發之前評估 mcp 表面上的每個 tools/call。
健康受追蹤(ok/degraded/down);用
POST /api/workspace/firewall/mcp_servers/:id/probe 探測它。探測也
為伺服器公告的工具結構描述建立基線——之後的漂移把其
結構描述狀態從 verified 翻轉為 changed(「拉地毯式詐騙」訊號),
你要麼重新建立基線(核准)要麼 quarantine 伺服器。所以
治理是逐呼叫評估加上結構描述完整性追蹤和
技能風險等級。參見防火牆 MCP和
MCP 工具投毒。一個有風險或自動偵測到的技能會怎樣?
一個有風險或自動偵測到的技能會怎樣?
每個技能被掃描進一個風險等級,
附帶一個
allow / quarantine / block 的強制執行模式。一個
被隔離的技能被保留待審批;自動偵測到的技能保持
隔離直到人工審查它們。該模式疊加在
規則裁決之上。哪些金鑰欄位鎖定一個代理?
哪些金鑰欄位鎖定一個代理?
model_limits(+ model_limits_enabled)、allow_ips、
credit_limit_usd(0 = 無限)、expired_time(-1 = 永不)、
environment、guardrail_id、firewall_policy_id,以及
is_firewall_gateway。組合它們以達成最小代理權限——參見
範圍、金鑰與政策。
金鑰在顯示時被遮罩。為何我在 `/api/v1/firewall/*` 上得到 403?
為何我在 `/api/v1/firewall/*` 上得到 403?
那些閘道路由(
POST /evaluate、POST /evaluate_plan、
ANY /mcp)需要一個帶有 is_firewall_gateway=true 的金鑰——一個
專用的防火牆閘道範圍化權杖,而非你的 sk-orca-… 中繼
金鑰。鑄造一個並讀取其明文是 Admin+。設定和呼叫之間有什麼區別?
設定和呼叫之間有什麼區別?
設定在控制台中執行——防護欄、防火牆政策、
MCP 伺服器和合規性在你的工作階段/存取
權杖(UserAuth)下管理,每次寫入都由角色把關(政策
和防護欄寫入需 Developer+)。只有你的
/v1/* 中繼流量使用
sk-orca-… 金鑰;只有 /api/v1/firewall/* 閘道鉤子使用
防火牆閘道範圍化權杖。5. 合規性、居住地與資料
涵蓋哪些框架?
涵蓋哪些框架?
目錄包括 SOC 2、HIPAA、GDPR、UK GDPR、EU AI Act、
ISO 27001、ISO 42001、NIST AI RMF、PCI DSS、CCPA、GLBA、OWASP
Top 10 for LLM Applications(作為一個控制對應),加上地區
設定檔(PIPL、APPI、PIPA、LGPD、PIPEDA、DPDP、澳洲的 APP、
新加坡 PDPA、DORA,以及數個美國州法)。瀏覽目錄、
包和就緒度——全部 Member、免費——位於
/api/compliance/*。為何安裝/報告被把關?
為何安裝/報告被把關?
瀏覽是免費的;安裝包、產生報告、上線和
設定居住地需要工作區 Admin 和一個付費方案
(伺服器把關)。安裝包
(
POST /api/compliance/packs/:key/install)物化出你之後可以編輯的
真實防護欄 + 防火牆政策。合規性報告可驗證嗎?
合規性報告可驗證嗎?
資料居住地實際釘住什麼?
資料居住地實際釘住什麼?
它是合規性報告成品的地區(
us、eu、
uk、ap、cn、global),可透過 PUT /api/compliance/residency
(Admin)設定;跨地區讀取會被扣留。它不是你推論
資料的地理鎖定。參見
共同責任。日誌保留多久,我如何讓資料被抹除?
日誌保留多久,我如何讓資料被抹除?
請求日誌保留預設為 30 天,且伺服器夾住到
180 天硬性上限。一個帳號刪除被保留一個寬限
窗口(預設 30 天),之後執行一次不可逆的 PII 清除;
那次清除級聯清除歸屬於你的 Mongo 請求日誌負載、防護欄
匹配和防火牆事件。封存一個工作區會為那個工作區
級聯清除同樣的三個集合。參見
PII 暴露。
6. 還是卡住了?
錯誤代碼
閘道可以返回的每次封鎖、保留和拒絕。
為何被攔下?
讀代碼、打開正確的動態、找到確切的規則。
防護欄 API
內容政策的路由、角色和負載。
防火牆 API
動作治理的控制台和閘道路由。
合規性 API
目錄、安裝、報告和居住地端點。
詞彙表
跨零信任文件使用的每個術語。
