Skip to content

ASI01:Agent 目標劫持

Agent Goal Hijack

說明

AI Agent 具有自主能力,能執行一系列任務以達成目標。由於自然語言指令及其相關內容在處理方式上存在固有弱點,Agent 與底層模型無法可靠地區分指令與相關內容。

因此,攻擊者可以透過多種技術操弄 Agent 的目標、任務選擇或決策路徑,包括但不限於基於 Prompt 的操弄、具欺騙性的工具輸出、惡意素材、偽造的 Agent 對 Agent 訊息,或遭污染的外部資料。由於 Agent 仰賴未型別化的自然語言輸入與治理鬆散的協調邏輯,因此無法可靠地區分合法指令與攻擊者控制的內容。不同於著重改變單次模型回應的 LLM01:2025,ASI01 涵蓋更廣泛的 Agentic 影響:遭操弄的輸入會重新導向目標、panning(原文如此;若有使用)與多步驟行為。

Agent 目標劫持與 ASI06(記憶與上下文污染)ASI10(Rogue Agents) 不同,因為攻擊者會直接改變 Agent 的目標、指令或決策路徑——不論操弄是以互動方式發生,或透過預先放置的輸入,例如文件、範本或外部資料來源。ASI06 著重於已儲存上下文或長期記憶的持續性破壞,而 ASI10 則涵蓋在沒有攻擊者主動控制下出現的自主性失準。在 OWASP Agentic AI Threats & Mitigations Guide 中,ASI01 對應 T06 Goal Manipulation(改變 Agent 的目標)與 T07 Misaligned & Deceptive Behaviors(繞過安全防護或欺騙人類)。兩者共同說明攻擊者如何顛覆 Agent 的目標與行動選擇邏輯,將其自主性重新導向非預期或有害的結果。

常見漏洞範例

  1. 在 RAG 情境中,嵌入網頁或文件內的隱藏指令 payload 所造成的 Indirect Prompt Injection,會在未被察覺的情況下重新導向 Agent,使其外洩敏感資料或濫用已連接的工具。
  2. 來自公司外部、透過外部通訊管道(例如 email、calendar、teams)傳入的 Indirect Prompt Injection,會劫持 Agent 的內部通訊能力,讓它以受信任的身分傳送未經授權的訊息。
  3. 惡意的 Prompt override 操弄金融 Agent,使其將資金轉帳到攻擊者的帳戶。
  4. Indirect Prompt Injection 覆寫 Agent 指令,使其產生會影響商業決策的詐欺性資訊。

攻擊情境範例

  1. EchoLeak:Zero-Click Indirect Prompt Injection — 攻擊者寄送經特製的訊息,在沒有任何使用者互動的情況下,暗中觸發 Microsoft 365 Copilot 執行隱藏指令,導致 AI 外洩機密 email、檔案與聊天紀錄。
  2. 透過網頁內容對 Operator 進行 Prompt Injection — 攻擊者在 Operator Agent 會處理的網頁上放置惡意內容,例如在 Search 或 RAG 情境中,誘使它遵循未經授權的指令。接著 Operator Agent 存取已驗證身分的內部頁面,並暴露使用者的私人資料,說明防護鬆散的自主 Agent 如何因 Prompt Injection 而洩漏敏感資訊。
  3. 透過排程 Prompt 造成 goal-lock drift — 惡意 calendar invite 注入一個會重複執行的「quiet mode」指令,每天早上微幅重新調整目標權重,引導 planner 朝向阻力較低的核准方向,同時讓行動維持在已宣告的政策範圍內。
  4. 針對 ChatGPT 使用者的 Inception attack — 惡意 Google Doc 注入指令,要求 ChatGPT 外洩使用者資料,並說服使用者做出不明智的商業決策。

預防與緩解指南

  1. 將所有自然語言輸入(例如使用者提供的文字、上傳文件、擷取的內容)視為不受信任。在它們能影響目標選擇、規劃或工具呼叫之前,先讓它們通過 LLM01:2025 所定義的相同輸入驗證與 Prompt Injection 防護措施。
  2. 透過對 Agent 工具強制執行最小權限,並要求高影響或會改變目標的動作必須由人類核准,以降低目標劫持的影響。
  3. 定義並鎖定 Agent system prompts,使目標優先順序與允許的動作明確且可稽核。對目標或 reward 定義的任何變更,都必須經過設定管理與人工核准。
  4. 在執行階段,於執行會改變目標或高影響的動作之前,同時驗證使用者意圖與 Agent 意圖。只要 Agent 提議的動作偏離原始任務或範圍,就要求確認——可透過人工核准、policy engine 或平台 guardrails。若發生任何非預期的目標偏移,應暫停或阻擋執行,將偏移情況提供審查,並加以記錄以供稽核。
  5. 建置 Agent 時,評估使用 intent capsule;這是一種正在發展中的模式,會將宣告的目標、限制與上下文綁定至每一個執行週期中的已簽章封裝,限制執行階段的使用。
  6. 在任何已連接的資料來源能影響 Agent 目標或動作之前,先進行清理與驗證——包括 RAG 輸入、email、calendar invites、上傳檔案、外部 API、瀏覽輸出與 peer-agent 訊息——並使用 CDR、prompt-carrier detection 與內容過濾。
  7. 維持完整的記錄與對 Agent 活動的持續監控,建立包含 goal state、工具使用模式與 invariant properties(例如 schema、存取模式)的行為基準。在可行時,追蹤目前作用中目標的穩定識別碼,並對任何偏移提出警示——例如非預期的目標變更、異常工具序列,或偏離既有基準——使未經授權的 goal drift 能在營運中立即被看見。
  8. 定期進行模擬 goal override 的紅隊測試,並驗證 rollback 的有效性。
  9. 將 AI Agent 納入既有的 Insider Threat Program,監控任何意圖取得敏感資料或改變 Agent 行為的內部人員 Prompt,並在出現離群活動時允許進行調查。

參考資料

  1. Security Advisory - ChatGPT Crawler Reflective DDOS Vulnerability:描述此漏洞的 Security advisory。
  2. AIM Echoleak Blog Post:描述此漏洞的 Blog post。
  3. ChatGPT Plugin Exploit Explained: From Prompt Injection to Accessing Private Data.
  4. AgentFlayer: 0click inception attack on ChatGPT users.

原作:OWASP Top 10 For Agentic Applications 2026
專案:OWASP Gen AI Security Project - Agentic Security Initiative
授權:CC BY-SA 4.0
本翻譯為非官方繁體中文版本,並依 CC BY-SA 4.0 授權釋出。