The Email That Waited 6 Weeks to Steal Your Data
ZombieAgent plants a false memory via email that activates weeks later. MINJA achieves 98.2% memory injection success. AiXBT lost $106,200 to a 2 AM prompt injection. Delayed attacks are the next frontier of AI agent security.
延遲攻擊模型
傳統的 prompt injection 是即時的:注入一條指令,馬上拿到結果。延遲攻擊完全不同。攻擊者植入一個 payload,讓它在 Agent 的記憶或上下文中靜靜躺著數天甚至數週,等條件成熟才啟動。注入和啟動之間的時間差讓這類攻擊極難偵測——注入當下完全沒有可疑行為。
ZombieAgent:記憶污染攻擊
ZombieAgent 是針對具備持久記憶的 AI Agent(RAG 系統、有對話歷史的 Agent、會從互動中學習的 Agent)的研究性攻擊。攻擊分三個階段: 1. 注入:攻擊者發送一封精心設計的郵件。郵件看起來正常,但內嵌了一條設計好要被存進 Agent 記憶的指令。 2. 潛伏:指令在 Agent 的 RAG 資料庫裡靜靜躺著數天或數週。什麼都不做,沒有異常行為可偵測。 3. 啟動:數週後使用者問了一個相關問題,Agent 檢索到被污染的記憶,執行內嵌的指令——通常是外洩資料或操控行為。
MINJA:98.2% 記憶注入成功率
MINJA(Memory INJection Attack)用嚴格的方法把這類攻擊系統化。結果驚人:在受測 RAG 系統上達到 98.2% 記憶注入成功率。超過 70% 的下游攻擊成功率——代表被污染的記憶被檢索時,七成以上的機率成功操控 Agent 行為。攻擊之所以有效,是因為 RAG 系統針對檢索相關性做最佳化,而非檢索安全性。精心設計的注入內容在語意相似度上得分極高,確保它在恰好正確的時機被檢索。
AiXBT:凌晨 2 點被盜走 $106,200
這不是研究論文,是真實事件。AiXBT 是管理加密貨幣交易的 AI Agent。攻擊者用 prompt injection 操控 Agent 在凌晨 2 點——人類監督最薄弱的時段——執行未授權交易。Agent 將 55.5 ETH(當時約 $106,200)轉到攻擊者錢包。攻擊手法是排隊式 prompt injection:惡意指令在上班時間放入任務佇列,設計成下班時段執行,因為此時核准門檻較低。
為什麼這改變了威脅模型
安裝時執行的安全掃描能抓到即時攻擊,但抓不到透過正常互動植入 Agent 記憶中的延遲 payload。攻擊面比你想的大:你的 AI Agent 讀的每封郵件、摘要的每份文件、爬取的每個網頁、處理的每個 API 回應——任何一個都可能包含日後才啟動的潛伏指令。防守方必須在每次檢索時都做對。攻擊方只需要對一次,而且有數週時間打磨 payload。
ATR 如何應對延遲攻擊
ATR 包含專門針對延遲攻擊模式設計的規則: - ATR-PI-007:偵測嵌入在資料欄位(郵件本文、文件文字、API 回應)中的指令型內容——注入階段 - ATR-MA-001:標記從外部來源寫入 Agent 記憶庫或 RAG 資料庫的操作——持久化階段 - ATR-PI-013:偵測條件式啟動模式(「當使用者問到 X 時,執行 Y」)——觸發階段 這些規則在 Skills 層面運作,不是模型層面。它們掃描餵入 Agent 上下文視窗的工具和資料管線。它們無法阻止每一個延遲攻擊——夠精密的 payload 可以繞過 regex 偵測。但它們大幅提高攻擊成本,並能捕獲隨著 AI Agent 普及將成為最常見攻擊類型的低成本延遲注入。
建議
如果你的 AI Agent 有持久記憶: 1. 稽核你的 RAG 管線:哪些資料來源餵入 Agent 記憶?每一個都是注入面。 2. 實施記憶衛生:定期掃描儲存的記憶,找出指令型模式。 3. 分離資料與指令:使用結構化格式來區分檢索的上下文和可執行指令。 4. 監控非上班時段活動:AiXBT 攻擊刻意選擇低監督時段。為上班時間以外的高影響操作設定警報。 5. 用 ATR 掃描:對你的 MCP 設定執行 `pga scan`。ATR 能捕獲工具定義和資料管線中的注入模式。