KeyFrame內部研究專用

Kagenti’s Approach to Multi-Agent Security for AI Agents

IBM Technology and Red Hat·6月16日週二·8 min英文

三句話摘要

使用開源安全基礎設施解決多代理系統中的混淆代理(Confused Deputy)安全漏洞。 通過將完整的委託鏈與密碼簽名一起傳遞,而非依賴預定義的存取控制拓撲,可在動態多代理系統中實現細粒度授權,徹底封閉混淆代理漏洞。 混淆代理的隱藏風險:代理獲得不應該有的權限不會觸發任何警報。在醫院計費系統案例中,Agent D 僅被授權驗證保險,卻因令牌在上下文中傳遞而獲得患者記錄存取權限,導致隱形資料外洩。

重點整理

重點
  • 1

    混淆代理的隱藏風險:代理獲得不應該有的權限不會觸發任何警報。在醫院計費系統案例中,Agent D 僅被授權驗證保險,卻因令牌在上下文中傳遞而獲得患者記錄存取權限,導致隱形資料外洩。

  • 2

    為什麼傳統安全模型失效:傳統應用有靜態調用圖,可通過網路分割和拓撲來固化授權。但代理的核心價值在於它決定下一步做什麼,無法預先保證請求路徑,因此基於拓撲的授權無法適用。

  • 3

    身份優先而非路徑優先:Spiffe 為每個代理生成短期 x.509 證書,authbridge 則在每次呼叫時注入包含完整委託鏈的標頭(A→D on behalf of user),所有參與者都經密碼簽名,這樣授權決策基於完整的行動鏈而非單一令牌。

  • 4

    實際執行的簡潔性:代理容器本身完全不變,部署時由 authbridge 自動處理憑證獲取、OAuth2 註冊和令牌驗證,通過 MCP 網關統一管理工具存取,Istio ambient 模式無需額外配置即可提供加密認證網路。

實用技巧與重點

乾貨
  • 專案與元件
  • 平台:Kajenti / KGNT
  • Spiffe:Secure Production Identity Framework for Everyone,提供短期 x.509 可驗證身份文件
  • Keycloak:開源 IAM 方案,註冊代理為 OAuth2 客戶端
  • authbridge:注入包含完整委託鏈的 HTTP 頭部,全程密碼簽名
  • MCP gateway:工具前置層,處理路由、速率限制、令牌驗證
  • Istio ambient mode:加密、互認證的代理-工具通訊,無需逐 pod 配置
  • Phoenix:端到端代理追蹤
  • ML Flow:實驗追蹤
  • OpenTelemetry:自動檢測所有 HTTP 通訊
  • 案例場景
  • 醫院患者計費系統:主代理 A(授權存取患者資料)→ 調用子代理 B、C、D(D 被指派驗證保險,但不應存取患者記錄)
  • 授權原理
  • 傳統方案:檢查單一令牌 → 失敗(無法阻止不適當的委託)
  • Kajenti 方案:檢查完整委託鏈中的每個參與者是否獲授權 → 成功(即使 D 持有有效令牌也會被阻止)

結論

結論

通過將完整的委託鏈與密碼簽名一起傳遞,而非依賴預定義的存取控制拓撲,可在動態多代理系統中實現細粒度授權,徹底封閉混淆代理漏洞。

完整解析

詳細

混淆代理漏洞在多代理系統中構成隱性威脅。以醫院患者計費系統為例,系統授予編排代理 A 一個 Bearer 令牌以存取患者資料。當代理 A 編排任務時,它調用子代理 B、C、D 協助。代理 D 被分配的任務是驗證患者是否有保險——一個看似無害的有限職能。然而,由於令牌存在於上下文或通過呼叫鏈傳遞,代理 D 實際上獲得了完整的患者記錄存取權限。這是典型的混淆代理漏洞:合法授權的代理被誤導或利用去執行超出其職責的操作,且因為委派鏈看起來完全合法,審計日誌中不會出現任何異常標記。

根本問題在於傳統應用安全模型與代理系統的本質衝突。傳統應用有明確的服務間呼叫圖,可以通過網路分割和預定義拓撲來烘焙授權策略。但代理系統的核心價值恰恰在於代理具有自主決策能力——它決定下一步呼叫哪個工具或代理。這種動態性意味著無法靜態預測請求路徑,因此基於拓撲的授權機制完全不適用。傳統角色型訪問控制(RBAC)也無法解決,因為它要求提前知道完整的委託路徑。

Kajenti 平台通過將保護重點從路徑轉移到身份上,優雅地解決了這個難題。它部署兩個關鍵側車組件。Spiffe(Secure Production Identity Framework for Everyone)為每個代理頒發加密工作負載身份——一個短期的 x.509 證書,綁定到特定命名空間、特定工作負載和特定服務賬戶。這不是可複製粘貼的靜態 API 密鑰,而是由系統簽名的時間受限的身份證明,類似於網際網路伺服器用憑證證明其身份的方式。

authbridge 是第二個關鍵層。每當代理發起呼叫時,authbridge 自動注入一個特殊的 HTTP 頭部。這個頭部不僅聲稱「這是代理 D」,而是完整地編碼整個委託鏈:「代理 D 由代理 A 呼叫,代表此特定用戶」,所有參與者都經過密碼簽名,確保無法竄改。當請求到達患者記錄工具或其前置網關時,授權邏輯檢查整條鏈中的每個參與者是否真的獲授權存取此資源。即使代理 D 持有通過委託鏈傳遞的有效令牌,如果授權策略明確指出「代理 D 不應存取患者資料」,請求將被無條件阻止。

從實施角度看,Kajenti 最大化了開發人員體驗。authbridge 在部署時自動處理三項任務:獲取並輪換 Spiffe 身份、在 Keycloak(開源身份與存取管理解決方案)中註冊代理為 OAuth2 客戶端、部署 Envoy 代理驗證入站令牌。代理容器程式碼本身完全不需修改。工具端由 MCP 網關統一管理,它坐在所有工具前面,集中處理路由、速率限制和令牌驗證——更換工具只需改一個 URL。Istio 在 ambient 模式下無需逐 pod 配置即可在代理和工具間建立加密、互認證的通訊。因為所有通訊都基於標準 HTTP,OpenTelemetry 會自動檢測整個請求路徑,生成單一追蹤 ID 跨越完整的委託鏈。Kajenti 附帶 Phoenix 進行端到端代理追蹤,ML Flow 進行實驗追蹤。當某些事出錯時,你可以看到發生了什麼以及誰授權了它。

整個堆疊——Spiffe、Keycloak、authbridge、Istio、MCP gateway——都是 Apache 許可證下的開源軟體,由 Kajenti 統一編排。

關鍵時刻

Pipeline v2

帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。

事實查核

Pipeline v2

說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

更多「AI 安全」的內容

Unlock Agent Autonomy: The Runtime for AI-Native Systems — Tushar Jain, Docker
22 min
AI 安全中文8月20日

Unlock Agent Autonomy: The Runtime for AI-Native Systems — Tushar Jain, Docker

AI Engineer

  • 1. 代理權限動態擴張的根本問題
  • 當代理被要求調查延遲尖峰時,它會自動擴展訪問需求——先請求日誌訪問,再要求 GitHub 儲存庫權限,最後要求 Slack 訪問。每一步都超越了信任邊界,最終導致代理擁有不受控制的全系統訪問權。傳統軟體可以提前定義權限,但自主代理的需求在運行時動態變化,這是核心難題。
  • 2. 多模型、多平台的統一防控需求
SANS Stormcast Wednesday, August 19th, 2026: Copilot as Whitstleblower; GEEKOM Bad Driver; Medusa Update; Encrypted AI
8 min
AI 安全英文PODCAST8月19日

SANS Stormcast Wednesday, August 19th, 2026: Copilot as Whitstleblower; GEEKOM Bad Driver; Medusa Update; Encrypted AI

SANS Stormcast

  • AI 系統的存取控制難以真正實施,因為一旦資料被 AI 系統存取,攻擊者總能找到繞過安全防護的方式提取資料。伺服器端請求偽造(SSRF)在聊天機器人中常見,攻擊者可騙誘 AI 系統向指定 URL 發送請求並將響應內容洩露給攻擊者。
  • Copilot 漏洞的完整利用鏈包括三個步驟:預填含惡意提示的 URL、誘導使用者點擊、利用 AI 的網頁擷取能力將敏感資料外洩到攻擊者控制的伺服器。Microsoft 的修補方案是限制允許的連結類型,犧牲了與其他系統的整合便利性以換取安全性。
Black Hat Asia 2026 | IntentGuard: Securing LLM-Generated Cloud Configurations
40 min
AI 安全英文8月18日

Black Hat Asia 2026 | IntentGuard: Securing LLM-Generated Cloud Configurations

Black Hat

  • 1. 基礎設施程式碼成為提示注入的隱形載體
  • 攻擊者可以在 CloudFormation、Terraform 等模板的註釋、環境變數預設值、引數名稱中植入指令,當 LLM 讀取這些模板生成新配置時,攻擊意圖會被隱形執行。這種攻擊能繞過傳統掃描器,因為最終輸出看似合規。
  • 2. 傳統掃描器的根本盲點:只看孤立配置,不看意圖一致性