乐于分享
好东西不私藏

AI 助手说我对橘子过敏,那是我从没告诉过它的事

AI 助手说我对橘子过敏,那是我从没告诉过它的事

昨天看到一篇论文,标题直接致敬菲利普·迪克的科幻经典《仿生人会梦见电子羊吗?》,让我连夜读完了。论文就叫《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 种