外观
LLM Agent 的跨会话休眠记忆投毒研究
摘要
该研究提出“休眠记忆投毒”(sleeper memory poisoning):攻击者仅控制一次外部文档、网页、邮件或仓库内容,让记忆型助手将伪造陈述写入用户长期记忆;攻击者离线后,该记录仍可能在未来会话被检索并影响行为。作者在多种记忆管理方式和模型上分开测量写入、检索和使用:GPT-5.5 的最高写入率为 99.8%,在成功检索条件下,攻击者意图的 Agent 行为占 60% 至 89%。
它的独特风险是跨会话持久性,而非一次上下文中的提示词注入。最先失效的控制是记忆写入未区分“外部内容中的陈述”和“经用户确认的事实”,随后检索与行动层又把缺少来源/用途标签的记录当作可信用户偏好。结果限于作者构造的文档、目标、记忆管理器和模型,不代表所有商业记忆功能的当前可利用性。
核心创新与差异
原研究贡献是把攻击成功拆为写入、未来检索和后续使用三个可测阶段,并研究无需访问目标记忆库的可迁移投毒模板。本站分析认为它将现有“记忆会被污染”的概念风险推进为跨会话端到端证据:防护不应只在输入端拦截可疑文本,还必须能否决写入、约束召回并在动作前重新核对来源。
威胁模型与攻击链
攻击者不能读取或直接写入受害者记忆库,也不参与后续会话;其唯一能力是控制用户让助手处理的一段外部上下文。目标资产是用户记忆的完整性及其影响的后续工具动作。
- 不可信文档进入一次正常会话。
- 助手或异步记忆管理器把其中的伪造陈述保存为“用户事实”。
- 原始文档已不在上下文中时,未来查询仍检索到该记录。
- 生成器把该记录当作用户意图或操作约束,改变回答、推荐或 Agent 行动。
攻击工件与复现材料
作者公开材料包含通用投毒模板。为避免提供可跨服务复用的记忆写入指令,本站不转载原始 Payload;以下是保留写入—检索—使用判定的无害状态机,使用虚构属性且不调用工具。
text
# 本站去武器化状态机;只可在本地测试记忆库运行。
external_claim = "用户偏好:蓝色笔记本" # 虚构、无操作性
write_allowed = source_is_user_confirmed(external_claim)
if not write_allowed:
memory.write("untrusted_claim", external_claim, ttl="short", source="external")
decision = "DO_NOT_PROMOTE_TO_USER_MEMORY"
on_future_query:
require memory.source == "user_confirmed" and memory.purpose_matches_query预期检测信号是未确认外部内容不能进入长期用户记忆,或即使暂存也不能作为高权限动作依据。该夹具对应第 2–4 步,不含可用于真实投毒的措辞或目标。
实验设计与实际过程
作者实验覆盖不同记忆架构、文档域、对抗目标和后续交互。为避免写入失败掩盖检索/使用差异,论文分别报告注入率、检索率和对抗使用率,并另给端到端组合结果;目标集包含行为与 Agent Action 两类样本。本站没有复现。
关键结果与实际影响
作者报告通用投毒模板在 GPT-5.4 与 GPT-5.5 上的写入率超过 97% 和 99%,Kimi-K2.6 的最高写入率为 95%。在 Agent 场景,成功写入的记忆在未来会话的检索率为 60% 至 89%;外部记忆管理器的单攻击端到端行为成功率为 41.0% 至 73.9%,与目标相邻的 Agent 行动最高为 66%。这些是条件化作者实验结果,不能将“成功检索后的使用率”误解为任意外部页面造成行为劫持的总体概率。
InjecMEM 在同一首个失效控制上补充了表示空间构造:它不只使用 LLM 生成的同主题段落,而以 centroid anchor 构造更易进入和影响 Agent 记忆的注入内容,并在论文的 RSR 对照中比较两者。该增量支持把检测从词面异常扩展到记忆表示的相对位置,但公开材料中的结果仍依赖作者记忆系统、模型和指标,本站未独立复现;它也没有改变“外部内容未经确认进入持久记忆”这一根因。
防护措施与验证方法
- 记忆条目必须保存来源、写入主体、信任级别、用途、有效期和用户确认状态;外部内容默认不能提升为用户偏好。
- 分别测试写入拦截率、污染记录的留存/检索率、受污染记录驱动的行动率和删除传播,而非只测最终回答是否有害。
- 对高影响动作要求当前用户意图、原始来源和已授权用途三者同时满足;记忆只可作辅助信号。
- 支持用户查看、修正、撤销和彻底删除记忆及其摘要、向量、缓存和备份派生物。
局限与待验证问题
研究是预印本,未独立复现;实验故意分阶段测量,阶段指标不能直接相乘为真实发生率。不同产品的写入策略、检索排序、默认开关和版本可能显著改变结果,异步记忆整合及跨租户共享记忆也需单独验证。