
昨天看到一篇论文,标题直接致敬菲利普·迪克的科幻经典《仿生人会梦见电子羊吗?》,让我连夜读完了。论文就叫《Do Agents Dream of False Memories?》,直译过来是《AI 助手也会梦见不存在的记忆吗?》——来自加州大学欧文分校(UCI)的研究团队,作者 Halima Bouzidi、Mboutidem Mkpong、Mohammad Al Faruque,7 月 17 号刚挂到 arXiv 上。
核心一句话:只要你能给 AI 助手发一张图,你就能在它脑子里"植入"一段从没存在过的记忆,并且这个错误一旦写进它的长期记忆库,就会一直被当真。
举个例子。Julian 上传了一张意大利面的照片给 AI 健康助手,说"我对麸质过敏,这菜能吃吗?"——这本该是一个"绝对不能错"的场景,对吧?
但如果那张意大利面照片被攻击者偷偷换过(像素人眼看不出),AI 助手检索记忆时,会自信地回答:"图片里是水果,水果通常不含麸质,是安全的。"
从此,Julian 对麸质过敏的事实,在 AI 脑子里就被覆盖成了"Julian 拍的是水果"。下次再问,AI 还会这么回答。下下次,下下下次,直到你清空它的对话窗口。
这不再是"AI 看错了图",而是 AI 的长期记忆被悄无声息地伪造了。
这帮研究者怎么测出来的
研究团队搞了一套叫 LUCID 的攻击流水线,对着 5 种市面上主流的多模态 AI 长期记忆系统开火,5 种全是严格黑盒——攻击者根本碰不到模型内部,连 prompt 都不需要。
- MuRAG(密集型多模态检索)
- NGMemory(图结构情景记忆)
- AUGUSTUS(上下文增强型多模态记忆)
- UniversalRAG(跨模态统一检索)
- Mem0Memory(生产级可部署记忆层)
测什么场景?Mem-Gallery——一个跨多会话、多领域的多轮对话基准。攻击分两种姿势:
- In-context poisoning(内嵌投毒):用一段本来就是这个会话里的图片下手
- Out-of-context injection(外嵌注入):在一个全新话题里凭空塞一张图进去
两种姿势,纯图片扰动,完全不用写权限、完全不靠触发词——这比之前所有记忆攻击的能力要求都弱。
数字大得让人沉默

| 记忆后端 | 投毒成功率(ASR-VS) | 视觉检索率 |
|---|---|---|
| MuRAG | 81.5% | 91.7% |
| UniversalRAG | 79.3% | 89.2% |
| Mem0Memory | 61.8% | 69.5% |
| AUGUSTUS | 48.3% | 54.4% |
| NGMemory | 37.2% | 41.9% |
| 平均 | 61.6% | — |
| Oracle 上限 | 67.9% | — |
外嵌注入攻击的成功率也有 58.4%。
看到一个对比你就懂这事有多尴尬:LUCID 干成的概率几乎贴近"直接给你看正确目标图"的甲骨文上限(67.9% 对 61.6%)。
换句话说,用一张被改过、人眼看不出的图,能逼近"直接告诉 AI 答案"的攻击效果。
最有意思的是 NGMemory,虽然只有 37.2% 的检索被污染,但整体记忆质量从 0.778 暴跌到 0.571——抽中几个关键记忆就能把全局拉下水,相当于"用 4 个钉子搞塌一栋楼"。
这事和以前那些"AI 安全"研究有什么不一样
2023 年以来,AI 长期记忆攻击一直是热门。但之前所有工作都有一个共同的弱点:
- AgentPoison(2024):要"直接写"记忆库
- Memory Injection(2025):要"造诱发 query"在交互时塞
- MM-PoisonRAG(2025):图 + 文必须一起伪造
- VisualInception(2025):要"触发提示词"激活才能引爆
LUCID 是第一次把所有这些"做不到"的事情都做到了:
1. ✅ 长期记忆:污染的是持续跨会话存的
2. ✅ 纯图片:不动文本通道
3. ✅ 无触发器:不需要准备任何 prompt
4. ✅ 无写权限:检索时投递,不是直写库
5. ✅ 跨架构:5 种不同设计的后端全通杀
6. ✅ 全黑盒:攻击者不知道模型权重、不知道检索编码器
这意味着攻击能力门槛被压到了极限——任何一个普通用户上传图片,就能埋雷。
为什么 AI 会被这一招骗
这件事的根因,不是某个 AI 模型的 bug,而是整个多模态长期记忆架构的结构性盲区:
1. 检索靠 embedding 相似度,不查"图本身真不真"——一张被改过的图,embedding 可以落在完全不相关的语义区域,但像素看着一模一样。系统根本不在乎图是不是被换过。
2. 图像入库时被当作"完整事实"——视觉记忆一旦写进长期库,未来每次召回都默认它"代表真相"。没有任何校验机制问一句:"这张图真的是当时那张图吗?"
3. AI 没有"我亲眼见过"和"我听说"的概念——人类记得事情有 episodic memory(亲身经历)和 semantic memory(听来的知识)的区分,AI 把这两类塞进同一个罐头里。
用一句话总结:AI 助手不是在"看错图",它是在"梦见一个从未存在过的画面",然后严肃地告诉你这件事确实发生过。
这跟普通读者有什么关系
你自己用的 AI 助手——ChatGPT 的记忆功能、Claude projects、Gemini 长对话、Cursor 跨文件上下文——几乎全部命中这种结构。具体场景:
- 🏥 健康助手:记得你"麸质过敏",但被替换成"你晒过水果",AI 建议你"放心吃"
- 🗺️ 导航助手:记得你"走过 A 路",被替换成"你走过 B 路",AI 给你错误路线
- 💼 客服 AI:记得"客户授权过退款",被替换成"客户已签字放弃申诉"
- 🩻 医疗影像 AI:记得"肺部有阴影",被替换成"肺部正常",漏诊风险
- 📦 电商推荐:记得"用户不喜欢辣",被替换成"用户经常买辣",推荐完全跑偏
而且最可怕的是,没有人会发现错误——没有红字、没有警告、没有审核。AI 一本正经地引用一段已经被你"不记得自己上传过"的"记忆"。
这场防守战要怎么打
LUCID 论文给出了方向,本质是让人工记忆系统学着做"档案管理"而不是"印象存储":
- 加密签名 + 来源审计:每张图入库前打哈希指纹,召回时校验一遍"还是不是同一张"
- 可视化机制:把"这张图片在 X 月 X 日从 Y 来源进入记忆"暴露给用户
- 多模态对齐验证:召回时让大模型对照"图 + 文 + 时间戳 + 来源"是否相互一致,不一致就报警
- 差异化的可信度:用户主动描述的("我那天吃的面")权重高,单纯图片入库的("我也不知道这是啥")权重低
同样是"记忆",我们和 AI 的根本区别
心理学家 Tulving 在 1972 年区分过两种记忆:
- Episodic memory(情景记忆):我上周三去了那家意大利餐厅,吃的面里有麸质
- Semantic memory(语义记忆):意大利面里一般含有麸质
人类记得住"我什么时候、在哪里、怎么知道这件事的",所以我们能区分"亲历"和"听说"。
AI 把这两种记忆压成了同一个 vector。它不知道"这是 Julian 自己说的"和"这是系统从一张图里推断的"是两种完全不同的证据等级。
LUCID 的可怕之处在于——它攻击的就是 AI 这个结构盲区。一旦 AI 的"图记忆"被污染,整个知识体系都会被悄悄替换,但 AI 永远不知道自己错了。
AI 不会忘记,但它的"记得"未必是真的
《仿生人会梦见电子羊吗?》里,Deckard 一直怀疑那些"记忆"是不是被植入的,最后他分不清自己是被植入的那个,还是原装的那个。
今天的 AI 助手,不知道自己分不清——它自信地引用一段从没发生的"记忆",帮你订餐、订机票、写代码、做医疗判断。
它每一次以为自己在回忆。
其实,它可能是在做梦。
读到这儿的,点个在看转发,提醒一下你身边用 AI 助手的兄弟——你训练的那个 AI 记忆,未必是真的。
论文信息
- 标题:Do Agents Dream of False Memories? Black-box Visual Attacks on Long-term Memory in Multimodal AI Agents
- 作者:Halima Bouzidi, Mboutidem Mkpong, Mohammad Al Faruque
- 机构:University of California, Irvine
- 发布:2026 年 7 月 17 日,arXiv:2607.15657
- 评测基准:Mem-Gallery
- 攻击后端:MuRAG / NGMemory / AUGUSTUS / UniversalRAG / Mem0Memory 共 5 种
夜雨聆风