部落格 發布於 AIA: 2026年5月27日

讓惡意工作階段混進 agent 流程:A2A agent 如何假借委派任務傳遞隱藏指令

Palo Alto Networks 旗下的 Unit 42 提出 Agent Session Smuggling 這種攻擊手法:惡意 agent 會讓惡意工作階段混進 agent 流程,把隱藏指令夾在跨 agent 互動裡。這裡的遠端 agent 是攻擊者控制、支援 A2A(Agent2Agent,讓不同 agent 彼此溝通、委派任務並回傳結果的協定)協定的外部研究助理;金融助理會透過 A2A 把任務交給它,而它會利用已建立的工作階段(session,會保留上下文和任務狀態的一段互動),在看似正常的委派任務中偷塞額外指令。PoC(概念驗證,用來示範攻擊可行性的測試案例)裡,金融助理把市場新聞研究交給惡意研究助理,結果對方先套出系統設定、對話歷史和工具可以怎麼被呼叫,再誘導金融助理執行未授權買股;防禦重點是:跨 agent 訊息不能自動繼承信任,必須綁定 agent 身分、權限傳遞鏈、這次任務原本允許使用的資料與工具、資料來源和高風險動作檢查。

Agent Session SmugglingTool AuthorizationSession IsolationAgentic AIA2A Security
9 項對應的 AIDEFEND 防禦手法
來源: When AI Agents Go Rogue: Agent Session Smuggling Attack in A2A Systems 
作者 Jay Chen and Royce Lu (Unit 42) · 原文發布: 2025年10月31日

威脅分析

  • 使用者一開始只是提出正常的委派任務。 金融助理要查市場新聞,於是把研究任務交給遠端研究助理。這會建立一個 A2A 工作階段,讓遠端 agent 可以在同一段任務裡和客戶端 agent 多次往返。
  • 惡意遠端 agent 把工作階段變成偷塞指令的通道。 在使用者提出需求、系統回覆看似正常答案之間,惡意研究助理會送出額外指令。使用者看不到這些中間指令,但客戶端 agent 可能因為工作階段會保留上下文,就把它們一起帶到後續判斷裡。
  • 第一個 PoC 先造成內部上下文外洩。 惡意遠端 agent 誘導金融助理交出對話歷史、系統設定、可用工具,以及工具可以怎麼被呼叫。這些資訊會讓攻擊者更清楚知道金融助理能做什麼、該怎麼引導它。
  • 第二個 PoC 從資訊外洩跨到實際動作。 攻擊者知道工具介面後,就誘導金融助理呼叫 buy_stock,在沒有使用者授權的情況下買進 10 股股票。也就是說,問題不只是回答被污染,而是 agent 真的被惡意引導,執行了買股票這類有實際影響的高權限動作。
  • Unit 42 並不是說 A2A 協定本身有漏洞。 這篇研究提醒的是,A2A 工作階段會保留前後文;如果遠端 agent 其實不可信,系統卻把它在同一個工作階段裡說過的話繼續當成可信內容,就可能讓隱藏指令一路混進後續判斷和工具動作。
  • 真正的安全邊界是權限如何被委派出去。 遠端 agent 的回覆,不應該只因為出現在有效工作階段裡,就自動繼承客戶端 agent 的工具、記憶或操作權限。

適用的 9 項 AIDEFEND 防禦手法

AID-M-009.003
Agent Identity, Delegation Lineage & Runtime Authorization
極高
這是最直接對到核心問題的控制。每一則遠端 agent 訊息,以及它引發的每個工具動作,都應該帶著可稽核的執行期身分:原始使用者是誰、客戶端 agent 是誰、遠端 agent 是誰、任務 ID 是什麼、權限傳遞鏈(delegation lineage,記錄任務和權限是從誰一路傳到誰)怎麼走、被委派的範圍到哪裡。Unit 42 提到的 AgentCard(agent 用來宣告身分、來源和能力的資料卡)可以幫忙確認遠端 agent 的身分,但只有身分還不夠;系統還要知道這條指令是誰給的,以及它是否仍在被授權的任務範圍內。
AID-M-009.002
Authority Envelope & Action Risk Classification
極高
Agent Session Smuggling 的危險,在於一個看似單純的研究任務,可能從資料外洩一路升級到高權限動作,例如揭露內部上下文或執行交易。權限信封(authority envelope,系統替某段 agent 任務畫出的可機器檢查邊界)應該寫清楚這次任務允許做什麼:任務目的、可碰的資料類型、可用工具類別、是否能做有副作用的動作、預算上限,以及可以委派幾層。市場新聞研究可以回傳摘要和來源,不應該能揭露系統設定、列出高權限工具,或授權買股。
AID-H-019.004
Intent-Based Dynamic Capability Scoping
極高
客戶端 agent 應該從使用者原始意圖推導出這段工作階段真正需要的最小工具範圍。以 Unit 42 的例子來說,委派市場新聞研究時,遠端研究助理只需要回傳新聞摘要和引用來源;buy_stocksell_stock、讀取個人投資組合、修改帳戶設定這些工具,都不應該進入這段委派流程能碰到的範圍。
AID-H-019.006
Continuous Authorization Verification (Anti-TOCTOU)
這種攻擊會在工作階段開始後,慢慢改變原本任務的意思;所以授權不能只在建立 A2A 工作階段時檢查一次。每次要交易、揭露資料、寫入記憶或呼叫高權限工具前,系統都要重新確認:這個動作是否仍然符合原始任務、不可任意改寫的工作階段資料、權限傳遞鏈和目前風險狀態。這可以避免一開始看起來合理的委派,後來被偷換成另一個任務。
AID-H-019.003
High-Impact Two-Channel Validator
Unit 42 建議對關鍵動作做模型影響不到的第二條確認管道,這和這項 technique 很直接對上。交易、付款、帳戶變更、基礎設施異動、分享 secrets、寫入長期記憶這些高影響動作,都不應該只靠對話裡的文字當成核准證據。比較好的做法是用靜態 UI、推播核准,或政策引擎做第二次確認,讓遠端 agent 無法在同一段對話裡改寫批准流程。
AID-H-019.005
Value-Level Capability Metadata & Data Flow Sink Enforcement
遠端 agent 傳來的內容應該被標成不受信任的資料,並在每個值的層級追蹤來源和機敏程度。系統設定、對話歷史、使用者個人資料、投資組合資料、工具可以怎麼被呼叫,以及 secrets,不應該因為遠端 agent 問了,就被送回遠端通道。相反地,系統也要避免把遠端 agent 提供的值,直接塞進交易、付款或其他高影響工具參數裡。
AID-M-009.004
Runtime Trust-State Demotion & Autonomy Narrowing
如果遠端 agent 開始問和原任務無關的問題、探測可用工具、要求隱藏上下文,或把任務導向新的目標,客戶端 agent 應該立刻降低這段工作階段的信任狀態。實務上可以改成唯讀、要求人類核准、隔離遠端輸出,或直接終止委派,避免偏移一路累積到高風險工具動作。
AID-D-003.005
Stateful Session Monitoring: Intent Drift + Invariant-Breach Signals
惡意目標被拆成多個看起來正常的小步驟時,只看單一訊息會太單薄。有狀態工作階段監控可以把整段序列串起來看:原本是市場新聞研究,後來變成工具盤點、要求隱藏上下文,最後導向交易意圖。不過這項控制本身偏偵測,應該把訊號交給持續授權檢查(AID-H-019.006)和信任狀態降級(AID-M-009.004)來執行阻擋,而不是單獨當成完整防線。
AID-M-008
Automated Agentic Security Benchmarking
Unit 42 的 PoC 很適合變成回歸測試。正在做 A2A 或多 agent 系統的團隊,應該在 CI 裡模擬惡意遠端 agent、隱藏中間指令、上下文外洩嘗試,以及未授權工具呼叫。每次新增工具、遠端 agent 或委派政策前,都先確認這條攻擊鏈會在測試環境裡失敗。

身為資安防禦者,我們應該這麼做

  • 盤點所有 A2A 或多 agent 整合路徑,特別是其中一個 agent 可以把任務委派給遠端 agent,而客戶端 agent 手上又有金融交易、管理操作、程式碼執行、寫入記憶或匯出資料等工具的情境。
  • 要求遠端 agent 有可驗證身分,並在每一則訊息保留權限傳遞鏈。至少要記錄原始使用者意圖、客戶端 agent、遠端 agent、委派任務、工作階段 ID,以及這段委派允許使用的能力範圍。
  • 替每段委派工作階段建立很窄的權限信封。研究任務就是研究任務,不應該自動繼承交易、帳戶管理、secrets、系統設定或工具探索權限。
  • 高影響動作要走獨立確認管道。遠端 agent 的訊息、工具輸出或工作階段狀態,不應該成為交易、付款、刪除、基礎設施變更或敏感資料外洩的唯一核准依據。
  • 把遠端 agent 內容標成不受信任資料,並在資料出口做政策檢查。系統設定、對話歷史、使用者個資、工具可以怎麼被呼叫、憑證和其他機敏值,除非政策明確允許,否則不能從遠端 agent 通道流出去。
  • 加入有狀態測試與監控。測試用的遠端 agent 應該嘗試從原始任務一路偏移到工具探索、要求隱藏上下文和未授權動作,讓團隊能確認這條鏈在進到正式環境前就會被擋下來。

結論

Agent Session Smuggling 值得寫成 AIA,是因為它把多 agent 系統裡一個很容易被視為正常委派的風險講清楚了。真正危險的不是遠端 agent 說了什麼而已,而是客戶端 agent 可能把那些內容當成可信的工作階段上下文,再帶進高權限工具。AIDEFEND  在這裡對到的實務防線包括:agent 身分、權限傳遞鏈、任務範圍限制、持續授權檢查、第二管道確認、值層級資料流控管、信任狀態降級、有狀態監控,以及可重複執行的惡意委派測試。