跳轉到主要內容
現代代理會即時安裝能力:來自註冊表的一個技能、一個 社群 MCP 伺服器、來自一個 URL 的一個外掛。每一個都附帶一份資訊清單、一組 工具,以及一組所請求的權限——而每一個在代理載入它的那一刻 都是一項供應鏈風險。一個悄悄索取 shell.exec 與一個外部網路範圍的技能,正是那種應該它 執行之前被審查、而非在一次事故中才被發現的東西。 防火牆的技能治理就是那個審查。每一個可安裝的 能力都被註冊為一筆工作區層級的記錄、由一個確定性的風險引擎掃描、 被指派一個風險等級與一個強制執行模式,並且——在執行期—— 該模式會疊加在防火牆的規則裁決之上。

1. 這裡的「技能」是什麼

一筆技能記錄是一項可安裝的代理能力。單一模型 通則化了三種種類,因此一個掃描、評分與審批平面就能 治理一個代理自行安裝的一切:
種類它是什麼
skill一個封裝好的能力——一份資訊清單加上一組工具與一段系統提示詞片段。
mcp_server一個被註冊為受治理製品的自帶 MCP 伺服器。
plugin一個外掛式的擴充。
每筆記錄還有一個來源——builtinregistryprivatebyo_mcpauto_detected——它會饋入信任評估。

2. 掃描器

在註冊時(以及隨需),掃描器會對資訊清單與所宣告的範圍 執行一組確定性、無依賴的遍歷。每一次 遍歷會發出帶有 infowarnerror 嚴重性的發現
遍歷標記嚴重性
prompt_injection試圖覆寫指令的資訊清單文字(ignore previous instructionsyou are now、一個開頭的 system:……)。warn
tool_creep資訊清單使用但未在 allowed_tools宣告的工具名稱。error
network_egress資訊清單中未在該技能網路範圍裡核准的 HTTP(S) 主機。warn
fs_write_unsafe一個位於 /tmp 之外路徑上的寫入模式檔案系統範圍(防止路徑穿越)。error
data_scope敏感資料範圍(piifinancialcustomer)。info
unsigned一個沒有簽章的 registry 技能。warn
這些發現會匯總成一個掃描裁決:任何 errorblocked; 否則任何 warnflagged;否則 clean

3. 風險分數與等級

相同的發現會饋入一個確定性的風險分數(0–100,可累加 並帶有每類別上限)。最重的貢獻者是危險的 能力:
能力權重
Shell 執行+30
任意程式碼 eval+30
/tmp 之外的檔案系統寫入+25
密鑰讀取+25
外部網路 egress+20
tool-creep、prompt-injection、egress 與 data-scope 的發現會疊加 (各有上限),一個未簽章的註冊表技能加 +15,而緩解措施 則減分——一個已簽章的技能為 −10,一份沒有 error 發現的資訊清單為 −5。 該分數對應到一個等級
等級分數
low0–25
medium26–50
high51–75
critical76–100
這些權重由一個漂移防護測試所固定——它們不會在沒有一次 刻意的規格變更下移動,所以一個等級在每個工作區中的含義都相同。

4. 強制執行模式

等級與裁決一起衍生出一個強制執行模式——當一個由此 技能擁有的工具被呼叫時,防火牆實際會做什麼:
模式執行期的效果
allow技能本身不施加任何東西;由規則裁決決定。
quarantine將任何未達 deny 的裁決升級為 pending_approval——技能的工具只在人類批准後才執行。
block對技能的工具強制一個 deny
該衍生會取兩個訊號中較嚴格的那個:等級(low/medium → allow,high → quarantine,critical → block)與掃描裁決 (blocked → block,flagged → quarantine)。一個使裁決成為 blocked 的單一 error 發現,即使數值等級為 low 也會隔離或封鎖 ——朝謹慎的方向。一個操作者可以明確地設定模式;在一次 重新掃描時,模式只會更緊地棘輪推進,永不會放鬆你設定的一個 block 或 quarantine。

5. 信任訊號

靜態掃描之外的兩個訊號會影響一個技能如何被對待:
  • 已簽章的發布者。 一個攜帶來自受信任發布者簽章的 技能會被視為更值得信任(簽署緩解措施會降低 其風險分數);一個未簽章的註冊表技能會被懲罰。你管理 你的工作區信任哪些發布者。
  • 資源信譽。 一個技能的地位可以隨時間由其即時 行為調整——拒絕與異常會提高其風險,乾淨的連續紀錄則 降低它——所以一個在生產環境中行為不良的製品,即使其 資訊清單掃描乾淨,也會朝隔離漂移。

6. 自動偵測的能力

掃描器不只在你手動註冊某物時才執行。當一個 代理自行安裝一個能力且其工具首次穿越閘道時, 防火牆會自動偵測它(在熱路徑之外,非同步地)、從它觀察到的 內容合成一份資訊清單,並執行相同的掃描、評分與模式 衍生——以 source = auto_detected
自動偵測的能力在被審查之前會被隔離。 任何 自動偵測的、否則會解析為 allow 的東西,都會被壓到 quarantine(而 critical 仍為 block)直到有人類審查它。一個 無人批准的能力,不會只因為它掃描起來無害就得到通行證 ——它只在你看過它之後才執行。

7. 執行期強制執行

當一次工具呼叫抵達防火牆引擎時,它會 被歸因於一個擁有者技能,然後該技能的模式會疊加在 規則裁決之上:
  1. 歸因。 該呼叫會先由其宣告的 allowed_tools 匹配到一個技能, 然後由 mcp_server 命名空間前綴,再由一個 工作區範圍的最嚴格強制執行回退來匹配。
  2. 規則裁決。 政策的規則照常執行——而一條規則的 skill_name_glob讓你能 把一條規則限定到特定的技能。
  3. 模式覆寫。 一個 block 技能會強制一個 deny;一個 quarantine 技能會 將任何未達 deny 的裁決升級為 pending_approvalallow 則讓 裁決保持不變。
技能歸因失敗關閉。 如果一個工具無法被歸因(一個沒有快取的 DB 錯誤,或一個受策展來源下未宣告的工具),該 呼叫會被保留以供審查,而不是被允許。而技能模式 獨立於影子模式——即使一個政策處於影子上線中,一個被隔離或 被封鎖的技能仍會被強制執行。

8. 生命週期

  • 註冊——POST /skills 會同步地驗證並掃描, 傳回該技能連同其發現與裁決。模式會被衍生 (或你明確的模式會被採納)。
  • 更新——重新掃描新的資訊清單;在掃描惡化時模式會更緊地棘輪 推進,但永不會放鬆你已儲存的 block/quarantine。
  • 重新掃描——POST /skills/:id/rescan 會重新執行掃描;如果裁決 新近退化為 flagged 或 blocked,它會發出一個防火牆事件,使該 漂移顯示在你的動態中。
  • 刪除——軟刪除並釋放 name 槽以供重新註冊。

API 參考

工作區層級;列表讀取對任何成員開放(並會隱去 帶有密鑰的欄位),其他一切都需要 Developer+
方法與路徑角色用途
GET /api/workspace/firewall/skillsMember列出技能(已隱去;以 ?kind=?source= 篩選)。
GET /api/workspace/firewall/skills/:idDeveloper+完整的技能記錄。
POST /api/workspace/firewall/skillsDeveloper+註冊 + 掃描(name 重複時回傳 409)。
PUT /api/workspace/firewall/skills/:idDeveloper+更新 + 重新掃描。
POST /api/workspace/firewall/skills/:id/rescanDeveloper+重新掃描;在退化時發出一個事件。
DELETE /api/workspace/firewall/skills/:idDeveloper+軟刪除。
一次註冊/更新/重新掃描會傳回:
{
  "skill": { "id": 7, "name": "creepy", "risk_band": "high", "mode": "quarantine", "...": "..." },
  "findings": [
    { "kind": "tool_creep", "target": "shell.exec", "severity": "error" }
  ],
  "scan_verdict": "blocked"
}
Name 在每個工作區內跨種類唯一——一個名為 githubskill 與一個名為 githubmcp_server 在同一個工作區中會衝突。請為每個 製品挑選不同的名稱。

FAQ

規則依名稱與引數把關工具呼叫。 技能則在一個代理的任何工具執行之前,把關它載入的 能力——套件、它的資訊清單,以及它所請求的權限。 技能的模式接著會疊加在規則所決定的任何事物之上, 所以兩者組合:一條規則可以普遍地 allow http.fetch,而一個 擁有它的被隔離技能仍會被保留。
有好幾件事。Tool-creep 偵測會標記使用了但未 宣告的工具;自動偵測會從實際穿越閘道的內容重新掃描, 而不只是所聲稱的資訊清單;模式在重新掃描時會更緊(而非 更鬆)地棘輪推進;資源信譽會隨時間把一個行為不良的製品 朝隔離漂移;而當一個工具無法被綁定到一個已宣告的技能時, 歸因會失敗關閉。
不必。註冊那些你想要預先批准的;其餘的會在首次使用時被 自動偵測並隔離,直到你審查它們。開啟 觀察模式以在不封鎖的情況下浮現一個代理安裝的一切, 然後從真實資料收緊。

延伸閱讀

想更深入了解代理安全?**保護你的代理(零信任)**指南會將此功能放入零信任工作流程中。

安全代理基準

透過一個開關,將零信任姿態套用到每項代理能力。

代理防護欄

為自主、會使用工具的代理打造的防護欄。