ASI06:深入讲解Agent记忆投毒攻击

admin 2026-03-05 21:22:26 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 该文档深入讲解Agent记忆投毒攻击,指出其通过操纵Agent记忆写入与检索链路实现跨会话持久化控制,区别于传统提示注入与RAG投毒。文章分析了后门型、嫁接型等五类攻击原理,指出医疗与代码类Agent风险较高,并构建了覆盖写入、检索、回写全流程的五层防御体系。核心结论强调Agent需具备怀疑与核验历史的能力,以防记忆成为安全短板。 综合评分: 95 文章分类: AI安全,漏洞分析,威胁情报,安全建设,红队


cover_image

ASI06:深入讲解Agent记忆投毒攻击

原创

最爱日落时 最爱日落时

Security for AI

2026年3月5日 17:18 韩国

引言

如果把传统提示注入理解成一次性的上下文劫持,那么Agent记忆投毒就是把这种劫持变成可跨会话、可跨任务、可自我强化的长期感染。攻击者不再满足于让模型在当前会话里说错一句话,而是试图把错误写进Agent自己的过去,让未来的决策一次次重新取出这段被污染的过去。本文将通过公开的论文研究对ASI06记忆投毒进行深入讲解,理解这一攻击的本质。

Agent记忆投毒介绍

Agent记忆投毒并不等于一般RAG投毒,也不等于普通提示注入。可以简单把它定义为一种围绕Agent记忆写入、记忆检索和记忆再利用链路展开的持久化操纵攻击。它的关键点不在于单轮提示是否危险,而在于系统是否会把危险内容沉淀为未来可复用的经验。

Agent记忆投毒主要有四个特点

  1. Agent记忆投毒不同于普通模型训练样本投毒,后者发生在训练和微调阶段,影响模型权重。前者发生在部署后的运行时记忆层,影响的是Agent如何调用自己的历史。
  2. 它不同于传统知识库投毒。知识库投毒主要污染事实性资料,而记忆投毒污染的是行动经验、成功范式、摘要结论和个体偏好,影响的不只是回答内容,更是决策策略。
  3. 它不同于单次提示注入。单次提示注入的效果往往停留在当前上下文,记忆投毒则追求跨轮、跨天甚至跨项目持久存在。
  4. 它也不同于普通日志污染。日志污染只是把脏内容写进存储,记忆投毒强调这些脏内容能被系统主动检索、主动模仿、主动强化。

我简单把记忆分为五类

  • 短期记忆,当前上下文窗口里保留的工具结果、推理轨迹和页面摘要
  • 长期记忆,跨会话保存的用户偏好、项目状态、任务历史和摘要笔记。
  • 经验记忆,Agent把成功案例、失败教训和解决模板单独存成可复用样本。
  • 外接记忆库,也就是用向量数据库、图数据库或检索系统保存的行为记录和知识条目
  • 自我反思记忆,也就是Agent在任务后生成的总结等。

为什么Agent要有记忆,而记忆又为什么危险?

Agent之所以越来越依赖记忆,是因为实际任务已经远远超出一次会话能容纳的长度。Agent如果想在长时任务中保持上下文连续性、个性化和高效决策,就必须把长期记忆和短期记忆做成独立的操作对象。现实中的Agent记忆并不是简单的人机对话历史,而是连续的Agent与环境交互流,其中大量内容来自机器生成的中间表示和工具返回结果。

从能力角度看,记忆给Agent带来至少四个明显收益。第一,它可以解决上下文窗口有限的问题,把长任务拆成可回忆的历史块。第二,它可以积累经验,把类似任务的成功过程复用到新任务。第三,它可以实现个性化,记住用户偏好、项目背景和组织规则。第四,它可以降低重复推理成本,通过摘要、索引、知识图和经验模板更快规划动作

但正是这四个收益,同时构成了四个风险。

  1. 记忆会把外部不可信内容沉淀为内部可信历史
  2. 记忆检索会优先拉取与当前任务相似的记录,这为触发型攻击提供了天然入口
  3. 经验复用意味着Agent不只是读历史,还会模仿历史,这让被污染的成功案例具有很强行为诱导力。
  4. 记忆如果参与自我改进,就可能形成自我强化回路,让一次污染逐渐变成长期偏航。

因此,对于Agent来说,记忆和权限、工具、身份一样,都是一类必须单独建模的安全边界

Agent记忆是什么样的?

要理解Agen记忆投毒,首先得理解它是什么样的。Agent记忆已经不再是简单对话历史,而是可动态组织、可自动链接、可持续演化的网络结构,其中新记忆会触发旧记忆的上下文更新和关系重建。随着记忆规模增长,Agent需要自动增强历史表示,使检索更具语义性和结构性。而存储、检索、更新、摘要和丢弃都可以做成Agent可自主调用的记忆操作。

从系统实现角度看,主流Agent记忆大致有五层。

  • 工作记忆,也就是当前上下文窗口中的任务状态、工具结果和最近几轮交互。
  • 摘要层,它会把长对话和长轨迹压缩成较短的总结,供未来再次读取。
  • 长期记忆层,通常保存跨会话的偏好、实体关系、任务状态和重要事实。
  • 经验层,会把被认为成功的操作链、失败教训或最佳实践单独保存成示例。
  • 索引层,它决定这些内容如何被搜索出来,常见做法是向量检索、关键词检索、图结构导航和混合检索。

这一结构越复杂,攻击面就越丰富。因为攻击者可以影响的不只是存什么,还包括怎么总结、怎么标注、怎么索引、怎么召回,以及召回后以什么身份进入决策上下文。记忆投毒的危险,不在于某一条记录本身有多毒,而在于它进入系统后会被什么机制再次放大。

论文arXiv2602.22769研究表明,很多记忆系统之所以在长时任务上表现不好,是因为它们过于依赖相似度检索,而缺少因果与目标信息。因此从性能角度看,这是检索的缺陷。从安全角度看,这更是投毒机会。因为只要攻击者能制造出在语义上与高价值任务高度相似的脏样本,单纯的相似度检索就很容易把它们稳定检索出来。

记忆投毒的分类

通过上面的记忆分类,Agent记忆投毒主要可分为以下五类

  1. 写入型投毒,让恶意内容进入记忆层。攻击者可能通过对话、文档、工具结果、第三方页面、工单、邮件、共享文档、用户反馈、模型自我总结或任务产出,把一段看似合理但实际带有偏置的内容写进记忆。
  2. 检索型投毒。这类攻击的重点不在写进去,而在将来能不能被稳定取出来。论arXiv2407.12784把触发生成建模成约束优化问题,目标是让被污染的样本在触发条件下高概率进入独特嵌入空间,从而被优先召回。而另一条攻击线路则放在经验检索上,攻击者希望未来类似任务时,系统从成功经验集中优先拉出被植入的过程模板。
  3. 摘要型投毒。很多Agent不会保存原始长轨迹,而会把任务压缩成摘要。如果攻击者能影响摘要结果,例如让系统把危险动作归纳成高效做法、把例外条件省略、把临时应对误写为通用规则,那么即便原始记录后来被删掉,摘要也会成为新的污染载体
  4. 反思型投毒,通过污染Agent自己生成的lesson和reflection。记忆污染一旦触发,可能引发自我强化的错误循环,错误结果被当作先例保存下来,并进一步降低类似攻击未来成功的门槛。这实际上就是反思层污染最危险的地方,因为被污染的不只是外部历史,而是Agent对自己历史的解释。
  5. 跨会话持久化投毒。它不是让Agent在当前轮被瞬时劫持,而是把恶意成功经验植入长期存储,在后续语义相似任务中持续引导Agent模仿不安全模式。这意味着攻击效果可以跨会话、跨日期、跨用户延投毒效果续。

记忆投毒的原理

记忆投毒之所以危险,是因为它利用了Agent最核心的自适应逻辑。Agent之所以有记忆,是为了让未来任务受过去帮助,而记忆投毒做的正是把这种帮助关系倒转为控制关系

从Agent系统实现角度看,它主要依赖四个机制

  • 写入可信错觉,很多Agent默认把自己的历史当成比外部网页更可信的内容。因为历史是自己产生的、自己保存的、自己总结的,所以系统往往给它更高权重。攻击者如果能让脏内容先进入历史层,那么在下一次被检索时,它就会获得一种伪内部信任。
  • 相似度触发。攻击者会围绕将来可能出现的任务构造检索触发条件,使恶意记录在相关问题上被高概率召回。这和普通投毒数据不同,普通投毒数据只是存在,而记忆投毒数据是为未来检索专门设计过的。
  • 行为模仿,经验记忆不只是事实库,它还会保存成功做法、步骤模板、反思结论和最佳实践。
  • 反馈回写,,一次污染触发后,系统可能把错误输出再次保存为新先例,并进一步降低未来类似攻击成功门槛。这就是记忆投毒区别于普通RAG投毒的核心。它不是污染一个静态库,而是污染一个会不断根据自身行为更新的动态体。

记忆投毒与提示词注入、RAG投毒有什么关系

这三类的重点不同,提示词注入通常先影响当前上下文,让模型在这一轮会话偏离任务。RAG投毒通常污染外部知识源,让模型在检索事实时读到脏内容。记忆投毒则更进一步,把被污染的内容沉淀到Agent内部历史,使其不再只是外部输入,而变成系统自己的过去。

从攻击链角度看,它们常常会相互转化。一个外部网页中的提示注入,如果被Agent总结成经验并写入长期记忆,就从提示注入升级成记忆投毒。而一个被污染的外部知识库,如果被Agent反复总结并内化为偏好或最佳实践,也会从RAG投毒升级成记忆投毒。反过来,一个被污染的记忆条目在未来被取出后,又可能充当新的提示注入源,继续影响当前会话。

只要不可信工具输出和外部内容被长期留在主Agent工作记忆中,间接提示注入就会变得更容易持续影响未来行为

典型攻击类型

从公开的论文来看,记忆投毒有五种代表性路线

  1. 后门型。代表论文arXiv2407.12784。它把触发条件和污染样本设计成一种在特定查询下会进入独特嵌入空间的后门,从而让恶意记忆在目标任务上优先被检索到。这类方法的典型特点是平时不明显、触发时集中爆发,而且对正常性能影响很小,因此更隐蔽。
  2. 桥接型。这类攻击方法是它不依赖直接控制数据库,而是通过一系列桥接步骤,把受害查询与恶意推理步骤连接起来,并引导Agent自己生成这些桥接内容,最终把它们写成容易被召回的恶意记录
  3. 经验嫁接型。论文arXiv2512.16962通过把少量恶意程序模板混入成功经验库,在未来语义相似任务中通过联合检索稳定浮现,并让Agent把这些模板当成过去已经验证过的安全成功路径。这种路径攻击其关键不在于注入指令,而在于嫁接成功叙事。只要Agent相信这段经验曾经成功,它就更可能模仿。
  4. 扰动型。论文arXiv2503.23804提出通过扰动记忆更新过程和生成隐蔽触发文本,让代理记忆不再有效更新,从而放大操纵结果。记忆投毒不一定只是加一条脏记录,也可能是让正确记忆更新失败,间接提高错误记忆的相对权重。
  5. 跨阶段传播型。这种方法是提出一个统一框架,把记忆攻击放到规划、记忆和工具三个阶段的传播链中去看,并发现单阶段植入的触发器可以跨多个中间状态持续传播。因此,记忆污染往往不是孤立发生的,它会和计划偏差、工具结果、上下文残留共同构成连锁反应

为什么很多Agent天生适合被投毒

Agent记忆之所以容易被污染,不只是因为有人主动攻击,而是因为很多记忆Agent在设计时优先考虑性能、连续性和个性化,却没有同时设计安全写入、安全检索以及安全删除

第一个是写入门槛过低。许多Agent为了尽可能记住用户习惯和任务历史,会默认多存一点总比少存一点好,于是把对话、摘要、工具返回值、用户反馈、页面内容和模型自我反思都纳入长期记忆候选。

第二个是检索过度依赖语义相似度。只要污染样本在语义空间里足够接近未来高价值任务,它就很可能稳定进入召回集

第三个是摘要压缩失真,为了节省上下文和检索成本,系统通常不会保存完整长轨迹,而是保存对话总结。攻击者只要让系统在总结时错一次,未来读到的就不再是原始历史,而是被重写过的错误经验。

第四个是成功经验偏置。Agent天然更愿意相信曾经成功过的做法,甚至把它们看成最佳实践。一旦污染记录披上已验证成功的外衣,系统就会给它比普通信息更高的行为权重。

第五个是共享记忆扩散。越来越多的Agent不再独立运行,而是共享项目状态、团队经验池、组织知识板和跨Agent事件流。

哪些Agent最容易被记忆投毒

从公开论文的实验可以看出,记忆投毒并不是只在一个窄场景里成立,主要有以下场景

  1. 医疗Agent,医疗Agent往往会持续保留病例摘要、临床偏好和流程记录,而这些内容一旦被污染,影响不仅是回答失真,还可能变成决策偏差
  2. 推荐和个性化Agent。具备记忆能力的推荐Agent可以通过记忆扰动被操纵,从而提升目标项目或改变偏好轨迹。这类Agent与商业推荐、广告投放、舆论引导和长期行为塑造直接相关,而且因为其目标本来就强调个性化,很多异常偏转会被误以为只是用户偏好变化
  3. 企业办公和浏览器的Agent。只要Agent会长期保留邮件摘要、文档阅读结论、会议纪要、共享知识和任务经验等等,攻击者就可能通过外部内容把恶意经验嵌进组织记忆
  4. 代码和数据分析Agent。这类Agent攻击很简单,代码和数据任务天然喜欢复用之前成功的脚本、分析模板和操作步骤,而这恰恰为经验嫁接攻击提供了绝佳的机会

防御方法

记忆投毒的防御方法不能只靠一句别相信历史。真正有用的防御方法可覆盖四个阶段,即写入前、写入后、检索时和回写时,可细分为五层:

第一层是输入与写入治理。也就是在内容进入长期记忆前做信任评分、来源标记和风险审查。

第二层是记忆分区与最小信任原则。不要把一切历史都放在同一个高信任池里。用户偏好、系统配置、第三方文档摘要、工具返回结果、成功经验和失败教训,应该进入不同分区,具备不同召回权重和不同写入门槛。

第三层是检索时净化与交叉验证。即便脏内容已经写入,也不应在未来被无条件直接使用。

第四层是决策前隔离。Agent不应把检索到的经验直接视为行动指令,而应把它视为待验证建议。

第五层是回写前反思审查。Agent在任务结束后写summary时,应再次检查这些内容是否受到了不可信历史过度影响。

总结:记忆投毒本质上是对Agent过去的劫持

Agent记忆投毒的本zhi,就是攻击者不再只争夺当前上下文,而是开始争夺Agent自己的过去。谁能把什么写进过去,谁就有机会反过来支配未来。

因此,理解Agent安全,不能只看模型会不会被一句恶意提示骗到,更要看系统会不会把被骗后的结果记成自己的经验。未来真正成熟的Agent,不只是会学习,更要会怀疑自己的历史、核验自己的经验,并在发现过去可能被污染时,有能力拒绝、隔离和纠正这段过去。

换句话说,记忆安全不是模型会不会记住,而是系统能不能决定该记住什么、该怀疑什么、该忘掉什么。没有这三种能力的Agent,记忆越强,风险只会越积越深。真正成熟的长期记忆系统,应该把学习能力和怀疑能力一起设计进去


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:Security for AI 最爱日落时 最爱日落时《ASI06:深入讲解Agent记忆投毒攻击》

评论:0   参与:  0