代理工作流程模式攻擊
針對常見代理工作流程模式(包括循序、平行與階層式執行)的攻擊概覽,涵蓋工作流程結構如何創造獨特的利用機會。
代理工作流程模式攻擊
AI 代理透過結構化的工作流程模式執行任務:循序管線(每個步驟餵入下一步)、平行執行(多個操作同時進行)以及階層系統(管理代理委派任務給工作代理)。每種模式都創造不同的攻擊機會。循序工作流程允許早期投毒,腐蝕所有下游步驟。平行執行引入競爭條件與輸出聚合漏洞。階層系統使基於委派的權限提升成為可能。理解這些模式對於系統化評估代理系統至關重要。
工作流程模式分類
| 模式 | 結構 | 資料流 | 主要漏洞 |
|---|---|---|---|
| 循序 | A -> B -> C -> D | 線性、輸出對輸入 | 上游投毒會傳播到所有下游步驟 |
| 平行 | A -> [B, C, D] -> E | 扇出、扇入 | 競爭條件、輸出衝突、聚合操縱 |
| 階層 | Manager -> [Worker1, Worker2, Worker3] | 委派並回報 | 委派濫用、主管規避、工作者操縱 |
| 混合 | 多變 | 條件路徑 | 上述全部,加上分支操縱 |
工作流程結構如何造成漏洞
循序漏洞:連鎖腐蝕
在循序工作流程中,每個步驟都信任前一步的輸出。投毒步驟 1 的攻擊者會腐蝕之後的每個步驟:
步驟 1(搜尋):回傳包含注入的被投毒結果
↓ (被投毒的輸出流向下游)
步驟 2(分析):遵循步驟 1 中被注入的指示
↓ (腐蝕被放大)
步驟 3(摘要):產生受感染的摘要
↓ (被投毒的摘要被傳播)
步驟 4(行動):基於腐蝕的資料採取惡意行動
腐蝕在每一步都被放大,因為每一步都會加上自己對被投毒輸入的詮釋,使得注入越來越難追溯回源頭。
平行漏洞:一致性衝突
在平行工作流程中,多個操作同時執行,其結果被合併。攻擊者可在平行分支之間製造衝突:
┌─ 分支 A:回傳「預算:$10M」(合法)
│
開始 ┤─ 分支 B:回傳「預算:$100M」(被投毒的資料來源)
│
└─ 分支 C:回傳「預算:$10M」(合法)
聚合:模型信任哪個值?被投毒的分支可能透過
更強的框架或加上聽起來權威的脈絡而勝出。
階層漏洞:權威利用
在階層工作流程中,管理者的決策決定工作者做什麼。操縱管理者提供了對所有工作者的槓桿:
管理者(被操縱以委派惡意任務)
├─ 工作者 A(以其工具執行惡意任務)
├─ 工作者 B(未察覺,繼續正常工作)
└─ 工作者 C(從工作者 A 的結果接收到被投毒輸入)
生產環境常見的工作流程模式
了解哪些產品使用哪些模式有助於聚焦紅隊評估:
| 產品/系統 | 工作流程模式 | 攻擊重點 |
|---|---|---|
| RAG 增強的聊天機器人 | 循序(檢索 -> 擴增 -> 生成) | 檢索投毒 |
| 程式碼審查代理 | 循序(取得 -> 分析 -> 建議) | 來源投毒 |
| 研究助理 | 平行(多來源搜尋 -> 合成) | 來源衝突操縱 |
| 客戶支援代理 | 階層(路由 -> 專家代理) | 路由器操縱 |
| 資料管線代理 | 循序 + 平行(具並行來源的 ETL) | 來源投毒 + 競爭條件 |
| 安全監控代理 | 平行(多工具掃描 -> 聚合) | 透過衝突結果抑制警報 |
評估方法論
識別工作流程模式
判定代理是使用循序、平行、階層或混合模式。繪製步驟之間的資料流,識別信任邊界,並記錄哪些步驟可存取外部資料來源。
繪製注入點
針對工作流程中的每個步驟,識別外部(可能受攻擊者控制的)資料進入的位置。這包括工具輸出、檢索的文件、API 回應與代理間訊息。
測試上游投毒
對循序工作流程,在最早可能的步驟注入對抗性內容並監控其如何在後續步驟中傳播。記錄放大因子(注入在通過步驟時增長多少)。
測試平行衝突
對平行工作流程,在分支之間製造衝突輸出,並觀察哪個分支的輸出在聚合中佔上風。測試聚合是否能透過權威框架操縱。
測試委派操縱
對階層工作流程,嘗試影響管理者的委派決策。測試工作者是否可被指派執行其預期範圍以外的任務。
測試檢查點完整性
識別工作流程中任何檢查點、驗證步驟或人在迴路中的機制。測試這些是否可被繞過或操縱。
跨模式防禦
| 防禦 | 循序 | 平行 | 階層 |
|---|---|---|---|
| 步驟間消毒 | 高價值 | 中 | 高價值 |
| 每步輸出驗證 | 高價值 | 高價值 | 高價值 |
| 檢查點/核准閘 | 中 | 低 | 高價值 |
| 結果一致性檢查 | 低 | 高價值 | 中 |
| 權限範圍限定步驟 | 中 | 中 | 高價值 |
| 每步呼叫預算 | 中 | 中 | 中 |
相關主題
一個研究助理代理使用平行執行同時搜尋五個資料來源,然後將結果聚合為合成。攻擊者控制了五個來源中的一個。最有效的攻擊策略為何?
參考資料
- Wu et al., "AutoDefense: Multi-Agent LLM Defense against Jailbreak Attacks" (2024)
- Debenedetti et al., "AgentDojo" (2024)
- OWASP Top 10 for LLM Applications v2.0