代理身份:為何每個代理漏洞都是信任邊界失敗
本文探討了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平台將政策統一到控制平面,實現快速失敗,而非事後告警。