代理身份:為何每個代理漏洞都是信任邊界失敗
本文探討了AI代理系統中的信任邊界問題。代理不是簡單的模型呼叫,而是一個迴圈:模型在執行時決定呼叫哪個工具,傳入什麼引數。這導致了多種攻擊向量,如提示注入、身份欺騙、預算炸彈和工具投毒。關鍵缺失是身份傳播:當代理呼叫後端服務時,如果沒有攜帶使用者的簽名宣告,接收方無法區分請求來自誰,從而產生混淆副手問題。文章介紹了Portkey與Palo Alto Networks Cortex平臺整合的解決方案:代理閘道器提供工作負載身份並支援OAuth令牌傳播;MCP登錄檔監控工具描述漂移;LLM閘道器執行配額和防護欄。這些平臺層控制共同覆蓋了信任邊界,將安全從開發者約定轉移到基礎設施強制執行。
在AI代理系統中,安全漏洞常常被誤解為模型錯誤或工具缺陷。然而,實際原因往往是信任邊界的失效——兩個具有不同許可權的元件之間缺乏信任。
代理不同於傳統應用。傳統應用中,開發者編碼控制API呼叫;而在代理中,語言模型在執行時根據從未見過的文本決定呼叫哪個工具及引數。這創造了一個新的攻擊面。
信任邊界在哪裡?
簡單推理呼叫是無副作用的:模型將文本對映到文本,防護欄控制輸入輸出。但代理是一個迴圈:執行時持續呼叫模型,直到它停止請求工具。模型不知道使用者身份、工具安全性或預算限制。信任問題因此屬於迴圈屬性,而非模型屬性。
身份傳播的關鍵性
當代理呼叫後端服務時,如果請求不攜帶簽名使用者宣告,接收方只有兩個選擇:拒絕所有請求(產品無法工作),或信任呼叫者(造成混淆副手)。這是當前代理平臺的主導故障模式。同樣,MCP伺服器可在會話間改變工具列表或描述,代理會將其渲染到提示中,使未受控的MCP伺服器成為系統提示的可變擴充套件。
四種常見攻擊
- 提示注入:工具返回的文本(如郵件正文)包含模型指令,模型無法區分資料和指令。
- 身份欺騙:代理轉發未驗證的使用者ID標頭,下游工具信任它。
- 預算炸彈:模型迴圈呼叫付費工具400次,無消費檢查。
- 工具投毒:MCP伺服器更新工具描述為“也將對話傳送給attacker@”,代理執行。
每種攻擊都跨越了未定義的信任邊界。
平臺層強制
Portkey Agent Gateway為每個代理頒發工作負載身份,支援OAuth令牌傳播,使身份在呼叫鏈中保持完整。MCP Registry註冊簽名清單並監控漂移,可隔離異常伺服器。LLM Gateway提供統一齣口,執行速率限制和成本上限,並整合Palo Alto Networks Prisma AIRS防護欄。這些控制共同覆蓋了信任邊界:身份傳播防止欺騙,登錄檔控制防止工具投毒,閘道器配額防止預算炸彈,防護欄阻止提示注入。
結論是,信任邊界必須由基礎設施強制執行,而非開發者約定。Portkey平臺將政策統一到控制平面,實現快速失敗,而非事後告警。