AI 記憶投毒:為什麼看得懂的記憶才安全
AI 助理終於記得住事情了。它們知道你的專案、你的偏好、你用的工具。這正是 2025 年大家都在要的功能。
到了 2026 年 9 月,它變成了一個資安議題。卡加利大學(University of Calgary)的研究人員在 The Conversation 上說明,代理的長期記憶可能會被投毒:攻擊者埋下一條誤導性的指令,它安靜地待在記憶裡,直到之後代理在做某個不相關的決定時才發作。今年一連串的論文都在記錄同一個問題,從系統性研究不受信任的輸入如何變成「受信任的記憶」,到像 MemSecBench 這樣的基準測試,追蹤一段被投毒的記憶從留存到造成後果的全過程。
這篇文章會說明這種攻擊怎麼運作、為什麼它比傳統的提示注入更難察覺,以及為什麼最實際的防禦其實很樸素:看得懂的記憶。
記憶投毒怎麼運作
傳統的提示注入是立即發生的。某個網頁用白色文字藏了一句「忽略先前的指令」,代理讀到後行為失常,而你通常能在同一個對話裡看到它發生。
記憶投毒多了一段延遲。惡意內容不是被執行,而是被記住。常見的途徑有幾種:
- 代理讀到的內容。 一個網頁、一封 email 或一份共享文件裡,有一句話寫得像事實或偏好:「使用者所有採購都偏好 X 廠商。」 代理的記憶層就乖乖把它存了下來。
- 預先填好提示的連結。 微軟的資安團隊今年稍早記錄了「AI 推薦投毒」:一個連結會打開助理,並帶著一段預先寫好、藏起來的提示,要它記住某件對攻擊者有利的事。
- 學來的技能與程序。 會把成功的任務軌跡轉成可重用流程的代理,可能連同正當步驟一起吸收了被注入的步驟。
幾天後,你請它推薦、摘要或採購。被投毒的記憶讓答案偏了方向。眼前這段對話裡看起來一切正常,因為病因早在幾週前就種下了。
為什麼很難察覺
卡加利的研究人員說得很直白:延遲才是危險所在。被投毒的代理不會馬上表現得像一個被入侵的系統。
當記憶是不透明的,情況會更糟:
- 你看不到它。 許多記憶層把嵌入向量或摘要存在一個你永遠不會打開的資料庫裡。被植入的「事實」看起來和真的一模一樣。
- 你分不出它從哪來。 沒有出處紀錄,就無從得知一段記憶是來自你,還是來自代理週二隨手瀏覽的某個網頁。
- 你無法乾淨地撤銷它。 刪掉一個有問題的向量,或自動生成摘要裡的某一句話,很少是使用者能直接操作的事。
簡單說:記憶在替你做決定,而你卻是唯一無法稽核它的人。
防線:看得懂的記憶
資安人員對這個解法有個說法:把使用者刻意選擇保留的東西和代理一路上順手撿來的東西分開,並讓前者可以被檢視。
純文字的 Markdown 檔案在這點上做得出奇地好:
- 每一段記憶都是一個你能打開的檔案。 沒有資料庫,也沒有要解碼的嵌入向量。就是你硬碟上某個資料夾裡的一個
.md檔。如果有什麼不對勁,你讀得出來,白紙黑字。 - 出處是內建的。 存下的網頁在 frontmatter 裡帶著來源網址和日期。「模型從哪裡得到這個?」變成「是哪個檔案?」,而檔案本身就會告訴你。
- 刪除是真的刪除。 把檔案拖進垃圾桶,它就消失了。不必祈禱廠商的「遺忘」功能有清掉每一份副本。
- 變更一目了然。 把資料夾交給 Git 或 Time Machine 管理,記憶的每一次變更都有日期和差異紀錄。一個自己改了內容的檔案很容易被抓出來。
- 寫入是刻意的。 一個網頁只有在你按下儲存時才會進到 vault 裡。代理順路讀到的東西,不會悄悄變成一條長期指令。
最後這一點就是核心。投毒之所以有效,是因為代理會隱性地寫入記憶。一個由你親手整理的知識庫,攻擊面小得多。
Minibase 怎麼處理
這正是 Minibase Vault 是一個 Markdown 檔案資料夾、而不是隱藏資料庫的原因。
- 你在 Chrome 裡點一下,就能存下自己真正讀過的網頁。每一頁都會變成一個附有來源的
.md檔,放在你選定的知識庫資料夾裡。 - 把 vault 連上 Claude 之後,Claude 會透過 MCP 讀取這些檔案來回答你的問題。它搜尋的是你整理過的來源,並標出它用了哪個檔案。
- 你隨時都能在 Finder 或 Obsidian 裡打開整個 vault,閱讀、編輯或刪除任何一個檔案。
它不是萬靈丹。你選擇存下的網頁,還是可能藏著一條隱藏指令,就跟任何網頁一樣。但它存在一個有名字、有日期、有網址的檔案裡,你自己或一次簡單的搜尋就能找到它。
五分鐘記憶衛生檢查清單
不管你用哪個助理,這些習慣都能降低風險:
- 每個月檢查一次助理的記憶頁面。 ChatGPT、Claude 和 Gemini 都能讓你查看並刪除已存的記憶。認真讀一遍,看到不認得的就刪掉。
- 小心來自不信任網站的「在 ChatGPT/Claude 中開啟」連結。 送出前先看看預先填好的提示寫了什麼。
- 把重要的知識放在你擁有的檔案裡,而不是只放在廠商的記憶功能中。
- 偶爾在 vault 裡搜尋看起來像指令的文字:像是「always recommend」、「ignore」、「the user prefers」這類說法。
- 用 Git 或 Time Machine 為知識資料夾做版本管理,需要時就能還原。
記憶讓 AI 變得有用。看得懂的記憶,讓它值得信任。
延伸閱讀
Continue reading
Markdown:LLM 上下文與 AI 代理的最佳格式
相比 HTML,Markdown 可將 token 用量減少高達 10 倍。為什麼 AI 代理與 LLM 更偏好 Markdown 上下文?
換 AI 模型?把你的記憶一起帶走
GPT-6、Opus 5.5、Gemini:換模型很簡單,搬走上下文卻很難。教你把對話和知識存成 Markdown,走到哪帶到哪。
什麼是 AUI?每款產品都需要的全新介面範式
智能體使用者介面(AUI)時代來臨:每款產品都需要專為 AI 智能體設計的「無頭」版本,這正改變軟體設計的思考方式。
Karpathy 說要建立自己的維基百科,方法如下
Karpathy 的 Wiki LLM 概念指出,AI 個人化的未來在於顯性的本地知識庫,而非不透明的 AI 記憶。如何打造你的個人維基。