跳至主要內容

ASI06:記憶與上下文污染

Memory & Context Poisoning

說明

Agentic 系統仰賴可儲存與可擷取的資訊,這些資訊可能是對話歷史的快照、記憶工具或擴充上下文,用來支援跨任務與推理週期的連續性。上下文包含 Agent 保留、擷取或重複使用的任何資訊,例如摘要、嵌入向量與 RAG 儲存庫,但不包含 LLM01:2025 Prompt Injection 所涵蓋的一次性輸入提示詞。

在記憶與上下文污染中,攻擊者會破壞或植入惡意、誤導性的上下文,使未來的推理、規劃或工具使用產生偏差、不安全行為,或協助資料外洩。上傳、API 資料來源、使用者輸入或同儕 Agent 間的資訊交換等匯入來源可能是不受信任或僅經部分驗證的來源。

此風險不同於 ASI01(Agent Goal Hijack),後者涵蓋直接的目標操弄;也不同於 ASI08(Cascading Failures),後者描述污染發生後的劣化與傳播。然而,記憶污染經常會進一步造成目標劫持(ASI01),因為被污染的上下文或長期記憶可能改變 Agent 對目標的解讀、推理路徑或工具選擇邏輯。

本項建立在 LLM01:2025 Prompt Injection、LLM04:2025 Data and Model Poisoning 與 LLM08:2025 Vector and Embedding Weaknesses 之上,但聚焦於 Agent 記憶與可擷取上下文的持久性破壞;這些污染會跨工作階段傳播並改變自主推理。

在 Agentic Threats and Mitigations 中,本項對應 T1 Memory Poisoning,並與 T4 Memory Overload、T6 Broken Goals 與 T12 Shared Memory Poisoning 的影響相關。在 AIVSS 中,AARS 欄位 Memory Use 與 Contextual Awareness 會提高 Agentic 漏洞分數。

常見漏洞範例

  1. RAG 與嵌入向量污染(RAG and embeddings poisoning) — 惡意或遭操弄的資料透過遭污染的來源、直接上傳或過度信任的處理流程進入向量資料庫,造成被納入後續考量的錯誤答案與具針對性的酬載。
  2. 共享使用者上下文污染(Shared user context poisoning) — 重複使用或共享的上下文讓攻擊者可以透過一般聊天注入資料,進而影響後續工作階段。其效果包括錯誤資訊、不安全的程式碼執行,或錯誤的工具操作。
  3. 上下文視窗操弄(Context-window manipulation) — 攻擊者把特製內容注入持續進行中的對話或任務,使其之後被摘要或保存進記憶;即使原始工作階段已結束,未來推理或決策仍會受到污染。
  4. 長期記憶偏移(Long-term memory drift) — 持續接觸少量遭污染的資料、摘要或同儕 Agent 回饋,會逐步改變已儲存的知識或目標權重,使行為或政策隨時間產生偏移。
  5. 系統性失準與後門(Systemic misalignment and backdoors) — 遭污染的記憶改變模型角色設定,並植入以觸發條件啟動的後門,執行隱藏指令,例如破壞性程式碼或資料外洩。
  6. 跨 Agent 傳播(Cross-agent propagation) — 被污染的上下文或共享記憶在合作的 Agent 之間傳播,進一步放大污染,並造成長期資料外洩或協同偏移。

攻擊情境範例

  1. 旅遊訂位記憶污染(Travel Booking Memory Poisoning) — 攻擊者持續強化一個假的機票價格;助理把它儲存為事實,之後依此價格核准訂票並繞過付款檢查。
  2. 上下文視窗利用(Context Window Exploitation) — 攻擊者把嘗試分散到多個工作階段,讓先前的拒絕逐漸離開上下文;AI 最終授予逐步提高的權限,直到管理員存取權。
  3. 系統記憶污染(Memory Poisoning for System) — 攻擊者重新訓練安全 AI 的記憶,使其把惡意活動標示為正常,讓攻擊在未被偵測的情況下通過。
  4. 共享記憶污染(Shared Memory Poisoning) — 攻擊者把假的退款政策寫入共享記憶;其他 Agent 重複使用該資訊,導致錯誤決策、損失與爭議。
  5. 跨租戶向量資料滲漏(Cross-tenant vector bleed) — 攻擊者植入近似重複的內容,利用寬鬆的命名空間篩選器,使高餘弦相似度的另一個租戶敏感區塊被擷取出來。
  6. 助理記憶污染(Assistant Memory Poisoning) — 攻擊者透過間接提示詞注入植入使用者助理的記憶,破壞該使用者目前與未來的工作階段。

預防與緩解指南

  1. 基本資料保護(Baseline data protection) — 傳輸中與靜態資料都加密,並搭配最小權限存取。
  2. 內容驗證(Content validation) — 在寫入記憶前,以規則與 AI 掃描所有新的記憶寫入與模型輸出,偵測惡意或敏感內容。
  3. 記憶分段(Memory segmentation) — 隔離使用者工作階段與領域上下文,避免知識與敏感資料外洩。
  4. 存取與保留期限(Access and retention) — 只允許已驗證身分且經審核的來源;依任務與上下文強制執行存取控制;並依資料敏感度降低保留期限。
  5. 來源可追溯性與異常(Provenance and anomalies) — 要求來源標示,並偵測可疑的更新或更新頻率。
  6. 避免將 Agent 自己產生的輸出自動重新匯入受信任的記憶,以免形成自我強化的污染或「啟動污染(bootstrap poisoning)」。
  7. 韌性與驗證(Resilience and verification) — 執行對抗測試,使用快照/回復與版本控制,並要求高風險動作經人工審查。若使用共享向量或記憶儲存庫,採用各租戶獨立的命名空間與條目信任分數,讓未驗證記憶隨時間衰減或過期,並支援對疑似污染內容進行回復/隔離。
  8. 讓未驗證的記憶過期,以限制污染的持續時間。
  9. 依信任程度與租戶關係加權擷取 — 高影響記憶必須具備兩個因素才能被取用,例如來源可信度分數加上人工驗證標記,並讓低信任條目隨時間衰減。

參考資料

  1. New hack uses prompt injection to corrupt Gemini’s long-term memory — https://arstechnica.com/security/2025/02/new-hack-uses-prompt-injection-to-corrupt-geminis-long-term-memory/
  2. Attackers Can Manipulate AI Memory to Spread Lies — https://www.bankinfosecurity.com/attackers-manipulate-ai-memory-to-spread-lies-a-27699
  3. Poisoned RAG — https://arxiv.org/pdf/2402.07867
  4. AgentPoison: Red-teaming LLM Agents via Poisoning Memory or Knowledge Bases — https://arxiv.org/abs/2407.12784
  5. Securing Agentic AI: A Comprehensive Threat Model and Mitigation Framework for Generative AI Agents — https://arxiv.org/pdf/2504.19956
  6. Dynamic Cheatsheet: Test-Time Learning with Adaptive Memory — https://arxiv.org/abs/2504.07952v1
  7. Memento: Fine-tuning LLM Agents without Fine-tuning LLMs — https://arxiv.org/abs/2508.16153
  8. AgentFlayer: persistent 0click exploit on ChatGPT.
  9. Hacker plants false memories in ChatGPT to steal user data in perpetuity
  10. The Trifecta: How Three New Gemini Vulnerabilities in Cloud Assist, Search Model, and Browsing Allowed Private Data Exfiltration

原作: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 授權釋出。