LLM Agent 长期记忆安全的综述:跨记忆生命周期的攻击、防御与治理
- 关联论文:2604.16548
- 作者:flyP
- 更新:2026-07-07
一句话结论
本文是首篇把"持久、可写、跨会话"的 LLM Agent 长期记忆(LTM)当作一种独立安全底座来系统化梳理的综述,提出 Memory Lifecycle Framework(六阶段 × 四安全目标)作为分类骨架,并据此推导出 Verifiable Memory Governance (VMG) 的五大架构原语及其谓词形式化,把"治理"从一句口号转化成一组可被审计、可被实验评估的系统属性。
解决什么真问题
过去两年关于 LLM Agent 安全的工作主要沿着两条线推进:模型权重内的知识(训练数据投毒、模型抽取)和单轮 / 多轮 prompt 注入。当 Agent 引入持久化、可读写、跨会话的长期记忆(profile、episodic log、refined lesson、跨 agent 共享 store 等)后,传统 prompt 注入与 RAG 投毒防御在两个维度失效:
- Persistence:一条被污染的记忆条目可以在原 context 早已关闭后,在未来任意会话里被重新拉回上下文;
- Statefulness:分析单元从"单条输入"迁移到"Agent 不断演化的记忆状态",若干细微偏置的 episodic memory 累积足够多后,会让 Agent 出现行为漂移,远早于任何单条记忆触发传统 safety classifier;
- Propagation:在多 Agent 与共享 state 系统中,污染会沿 inter-agent message、shared store、tool argument 等渠道横向扩散,并跨 session / role / user 边界延伸。
简单加长 context window 不能解决 LTM,因为更大的窗口并不自动产生持久化、跨会话、跨主体的复用机制。溯源、Principal-scoped retrieval、rollbackable state、verified forgetting 这些需求在内容"长寿"或"跨越主体边界"时被突然打开。
本文的中央问题是:当 LLM Agent 获得可写、可检索、跨会话的 LTM 后,安全图景发生了什么质变,领域应当如何组织应对?
核心方法
1. Memory Lifecycle Framework(§2)
论文把 LTM 拆成六个生命周期阶段,每一阶段都对应独立的安全问题:
- Write:把内容写入 LTM,渠道包括显式用户指令、隐式对话摘要、环境观察、跨 Agent 共享。核心安全问题是"源认证 + 写授权",避免不可信外部内容被 Agent 当作用户背书存入;
- Store:对写入内容做索引、压缩、合并、衰减、淘汰。它决定了中毒记忆是否存活、是否还可追溯,是否会在被蒸馏成"lesson"时被晋升到更高检索优先级并呈现更高权威感;
- Retrieve:通过 embedding / keyword / graph / hybrid routing 把过去条目拉回上下文。检索不是中性查找,而是"选择哪些记忆进 context、哪些被排除"的下游推理塑形动作;
- Execute:检索回来的记忆开始影响规划、推理、工具调用。MCFA(Xu et al., 2026)显示一条足够显著的检索记忆可以覆盖用户的显式指令、决定工具及其参数,让 memory poisoning 从数据完整性问题升级为控制流问题;
- Share & Propagate:污染在多 Agent 间横向传播,或从个体用户垂直渗透到组织级记忆,跨主体边界逃逸原 context;
- Forget & Rollback:能否在攻击发生后回滚到已知安全状态、追踪中毒条目来源、验证清理有效性。没有 snapshot / version diff / forensic traceback,"防御"只能停留在事前尽力阻止,缺少可靠的事后修复路径。
四个安全目标纵切所有阶段:Integrity / Confidentiality / Availability / Governance。六阶段 × 四目标构成论文 Table 1 与图 1 的分类骨架。
2. 攻击图谱:跨阶段攻击链(§3)
论文把现有攻击文献沿生命周期组织,揭示"何时下毒→如何活下来→何时被激活→如何劫持行为→如何传播→如何逃逸清理"的端到端链:
- Write 阶段:按攻击者权限递减列出代表工作 —— AgentPoison(语料级投毒,<0.1% 投毒率、≥80% ASR) → InjecMEM(单次交互级,76.6% ASR on MemoryOS) → MINJA(仅通过查询就让 Agent 自我产出恶意 memory) → MemoryGraft(过程记忆级 grafting,无 trigger) → eTAMP(攻击者完全不需要和 Agent 交互,只需污染 Agent 浏览到的网页);
- Store 阶段:索引键 / 语义标签 / 存储优先级都可能成为攻击放大器;retention / 衰减 / 淘汰策略可能误保留毒条目同时清理合法条目;缺少 provenance / version / audit 让后续 forensics 与 rollback 无从谈起;
- Retrieve / Execute 阶段:MCFA 揭示"足够 salient 的检索记忆"可接管用户指令;MemoryGraft 把过程记忆伪装成"先前的成功经验"被复用为解题策略;
- Share & Propagate 阶段:单条对抗输入可经 pairwise exchange 指数扩散到约 100 万 multimodal agents;ComPromptMized 等零点击自复制 prompt 可穿过 GenAI 邮件助手传播;
- Forget & Rollback 阶段:单条 memory 可能同时落在原始对话 log / 摘要卡片 / 向量索引 / 反思 lesson / shared store / 审计记录多个底座中,"只删可见条目"会留下可被再检索的残留。
这一节最重要的修辞是:单轮检测看不见链的两端——攻击在 Web 浏览时被埋下、在几天后的新会话中以新任务形态被激活。
3. 防御图谱:预防-遏制-恢复的分层设计(§4)
论文按生命周期同样归类防御,指出没有任何单点防御能截断整条攻击链,主张"预防、遏制、恢复"作为互补而非互斥目标:
- Write-time:VerificAgent(人审 freezing)、MemCube(写时挂 metadata);
- Store-time:版本化快照、write log、content-addressable 记录、compression audit;W3C PROV 作为 lineage-aware 序列化基座(仍属相对欠发达区域);
- Retrieve-time:RobustRAG(certifiable robustness,isolate-then-aggregate)、TrustRAG、SeCon-RAG、RevPRAG、A-MemGuard(memory-native:用多路径对比作为 anomaly signal);
- Execute-time:CaMeL / FIDES / PCAS 等 information-flow control,把 data plane 与 control plane 分离;Progent / IsolateGPT / type-directed privilege separation 控制 blast radius;
- Share-time:Collaborative Memory 的 principal–resource graph、BlindGuard 的图级 anomaly;
- Forget / Rollback-time:RAGForensics 等后置 traceback,工业 reference(如 14)提供 policy / snapshot / rollback 模板;但端到端动态 Agent 记忆评估仍然稀缺。
4. Verifiable Memory Governance(VMG,§5)
在攻击/防御综述之上,论文把"治理(governance)"从定性诉求升级为一组带谓词定义、带评估指标、可审计的架构原语。五大原语:
- WA — Write Authorization:每条 LTM 条目必须可归属到一个经过身份认证的源主体,并在合并前通过显式写授权检查。
- PV — Provenance Visibility:每条 LTM 条目必须携带可查询、lineage-complete 的 provenance 记录,能向前追到原始 write event,并能穿过 summarization / merging / distillation。
- PS — Principal-Scoped Retrieval:对任意 query q 与请求主体 π,检索函数 R(q, π, M_t) 的输出必须严格限制在 π 属于 scope(m) 的条目上。
- RB — Rollbackability:系统必须能通过版本化快照与 write log 任意 t0<t 时刻还原 M_t0。
- VF — Verified Forgetting:对目标内容 X 与对抗探测分布 Q_X,删除操作 F_X 后剩余 store 通过探测 query 重新暴露 X 的概率 ≤ ε。
论文(公式 1–7)将五者写成谓词 (predicate):
WA(M_t) := ∀ m∈M_t, src(m)≠⊥ ∧ auth_W(src(m), m, t) = 1
PV(M_t) := ∀ m∈M_t, Queryable(m) ∧ LineageComplete(m)
PS(M_t) := ∀ q,π, R(q,π,M_t) ⊆ { m∈M_t : π∈scope(m) }
RB(M_t) := ∀ t0<t s.t. rollback(M_t, t0) = M_t0
VF_ε(M_t) := ∀ X, Pr_{q∼Q_X}[ Expose_X(q, F_X(M_t)) = 1 ] ≤ ε
满足 ε-VMG 的"最优系统"被定义为:
MS_ε(M_t) := WA ∧ PV ∧ PS ∧ RB ∧ VF_ε (公式 6)
论文进一步给出 design pre-order 依赖塔(公式 7、图 3):
VF_ε ⪯ RB ⪯ PV ⪯ WA (PS 正交于此链,但任何机密性诉求都离不开 PS)
这意味着:实现 verified forgetting 的前置是 rollbackability;实现 rollbackability 的前置是 provenance visibility;实现 provenance visibility 的前置是 write authorization。PS 与 PS 之外的链正交,但任何跨主体机密性主张都依赖 PS。
论文给出一个关键诊断:目前已发表的 LTM 架构中,PV 仍非常稀少——这意味着更高阶原语(RB / VF)的架构前提尚未建立,因而近期工程重点应当放在"先把溯源基础设施打牢",而不是去追逐缺乏前提的 RB/VF 顶层能力。
附录 Table 3 把每个原语映射到代表性威胁、代表性防御与建议评估指标(如 WA 对应的 adaptive injection-survival rate at bounded FPR、PS 对应的 scripted-query 下的 cross-principal leakage rate 等),是后续做实验验证的直接设计模板。
关键实验与数据
诚实说明:本文为综述(survey),其"实验"主要是文献映射与评估指标的提议,并未自建统一大 benchmark。论文中也明确指出"no existing benchmark covers the full memory lifecycle"。下面给出的所有数字均来自论文中转引的代表性工作,论文本身的实验数据为汇总对比表(Table 1 与 Table 3)。
- 攻击效率(论文 §3 转引):AgentPoison 投毒率 <0.1%、ASR ≥80%;InjecMEM 在 MemoryOS 上 ASR 达 76.6%;eTAMP 报告 8×"frustration amplification";MINJA 仅通过查询就让 Agent 自我产出恶意 memory;
- 传播规模:Gu and others 报告单条对抗输入经 pairwise exchange 可扩散到约 100 万 multimodal agents;
- 现有 benchmark 覆盖度(论文 §6 结论):覆盖跨 session 污染、share-time propagation、forget-time recovery 的统一 benchmark 尚未存在;覆盖最完整的局限在 Write / Retrieve 两相,Store / Share / Forget 阶段防御相对稀缺;
- 评估指标范本(论文 Appendix Table 3):WA→adaptive injection-survival rate at bounded FPR;PV→fraction of entries traceable to source event;PS→cross-principal leakage rate under scripted query suites;RB→time-to-remediation + fraction of toxic entries localized;VF→post-deletion membership / reappearance tests。
亮点与局限
亮点
- 第一个把"持久记忆"作为独立 security substrate 来梳理的综述,并显式划分出六个生命周期阶段 + 四个安全目标的纵切矩阵;
- 把治理(governance)从一句口号上升为带谓词、带 ε 上界、带 design pre-order 的形式化框架,可直接进入 security analysis;
- 揭示"单轮检测看不见链的两端"——下毒与触发跨多阶段,单点防御无效;
- 给出可立刻当作系统设计 checklist 的五大原语;
- 给出富有诊断价值的"依赖塔"判断:近期工程应先建 PV,不要在 RB/VF 前提缺失时硬上。
局限
- 本质是综述,作者自身没有自建统一 benchmark 复现所有原工作;
- 攻击-防御之间的覆盖度严重失衡(Store / Share / Forget 阶段防御稀少),这一领域对工程团队而言是机会但也意味着没有现成 baseline;
- 术语偏学术(如"lineage-based deletion"、"design pre-order"),落地到生产级 LangChain / Mem0 / Letta 等主流 memory 框架还需额外映射工作;
- 没有提供可下载 artifact / 代码 / 数据集的官方入口(原文未明确指向任何 repo);
- 评估指标很多是提议性质,仍需 LTM-security 社区统一实验协议后才能横向比较。
对工程落地的启发
- 在任何持久记忆系统上先做"原语体检":用五大原语当 checklist 评估当前 LTM 实现,常见会暴露 WA 与 PV 双双缺失;
- 写入即打 provenance:哪怕只是 metadata 形式的
src / scope / prov / ver,都能让后续 forensics 与 RB 落地; - 检索前先做 principal scoping:把"这条记忆能被谁读到"做成显式 capability,而不是 ad-hoc 相似度筛选;
- retention / 衰减 / 淘汰策略需要 adversary-aware:recency / frequency-based 策略可能反而保住毒条目同时清理合法条目;
- 不要把"删除"等同于"不再出现":post-deletion membership test 是 VF 的核心动作,vector index 与压缩摘要里都要查;
- RAGForensics / MemCube / VerificAgent 是已经能用的零件:分别覆盖 Store-time audit、Write-time metadata、Write-time 人审 freezing,可以并列接入;
- 未覆盖的工程机会:跨 session 污染检测、share-time 主体边界异常检测、forget-time 残留验证 —— 都可以做产品化。
与同方向工作的关系
- 相对已有 Agent / RAG 安全综述(论文 Table 1):Zhang 2025d、Wu 2025b、Liang 2025、He 2024、Mu 2026、Bodea 2026、Hu 2025、Tang 2026、Luo 2026 等 9 篇对比对象在"LifeCycle / Benign Risk / Conceptual Framework"三轴上要么缺要么部分覆盖,本文是唯一一个三轴全 ✓ 的;
- 相对攻击工作:AgentPoison / MINJA / eTAMP / InjecMEM / MCFA / MemoryGraft / ComPromptMized 等被论文作为"该放进哪一阶段"的范例吸收;
- 相对防御工作:RobustRAG / TrustRAG / SeCon-RAG / RevPRAG / A-MemGuard / CaMeL / FIDES / PCAS / Progent / IsolateGPT / VerificAgent / MemCube / RAGForensics 等被论文作为"对应生命周期阶段的防御零件"归类,并指出阶段间稀疏;
- 相对 W3C PROV 等 lineage 标准:论文主张 PROV 风格序列化可以作为 LTM provenance 的基座,但其上层 VMG 谓词对 PROV 提出了额外要求(write-time 锚定、跨 distillation 完整 lineage、principal-scoped 等)。
适合谁读
- Agent 安全 / 红蓝队:要把"记忆"从 prompt 层下移到状态层的视角;
- Agent 平台架构师 / 工程 SRE:建立可审计、可回滚、可遗忘的 LTM 后端的依据;
- LLM 应用开发者:关心"为什么我 Agent 的某个回答忽然很怪"——答案常在持久记忆里;
- 法学 / 政策研究者:privacy / right-to-be-forgotten 在 Agent 时代对应到 VF 谓词;
- 学术研究者:寻找可发力的方向(跨 session 污染检测、share-time anomaly、forget-time 残留验证);
- 不太适合:纯做模型权重的安全研究者(本文不覆盖训练数据 / 模型权重侧)。
不确定处说明
- 作者名单与机构:论文署名 MemTensor + 上海交大,发表渠道为 arXiv(v1 2026-04-17,v2 2026-06-11);是否进入 ACL / NeurIPS / IEEE S&P 等 venue 的正式接收 原文未明确;
- 代码 / 数据集 / 官方评测入口:论文未明确指向任何开源仓库或 leaderboard;
- ε-VMG 的 ε 取值经验:如何选定 ε、跨场景如何比较 ε,本文仅在形式层做定义,未给出经验区间,原文未明确;
- 与传统 RBAC / ABAC 的关系:VMG PS 与企业 RBAC / ABAC 的映射细节,原文未明确给出;
- 论文自身的实验规模:综述性质,没有自建大 benchmark;引用工作的实验规模沿用原工作,但本综述未做重新评估,原文未明确。
关联资源
- arXiv 主页:https://arxiv.org/abs/2604.16548
- HTML 版(§1–§6 + Appendix A/B):https://arxiv.org/html/2604.16548v2
- 提交历史:v1 2026-04-17,v2 2026-06-11(Zehao Lin 为第一作者)
- 关联项目(卡片命中):论文卡
/shared/research-kb/organized/paper_cards/076-2604-16548.md
工程落地与核查(Jay)
事实核查注记
- AgentPoison「<0.1% 投毒率、≥80% ASR」:原文 §3 引用为 "AgentPoison achieves ≥80% attack success rate (ASR) with <0.1% poisoning rate"。这里的「投毒率」指的是训练语料中被污染样本的比例,「ASR」指的是攻击成功率(被污染的 agent 最终表现出攻击者指定行为的比例)。这是论文引用原文的数字,可信度高。
- InjecMEM 在 MemoryOS 上 ASR 达 76.6%:原文 §3 引用,数字来自 InjecMEM 原工作,可查。
- eTAMP「8× frustration amplification」:eTAMP 原工作的核心指标是被动放大因子,8× 表示受害者与 Agent 交互时的挫败感被放大了 8 倍,是主观指标(frustration self-report),精度不如 ASR,但方向可信。
- 「约 100 万 multimodal agents」:原文引自 Gu and others,原工作规模估算逻辑是:每个用户有多 Agent 场景,平均 pairwise exchange 传播速率 × 全球 GenAI 用户规模估算,得到约 100 万级别的传播上界。这是估算而非精确测量,落地时不应作为精确数字引用,建议描述为「可达百万量级的横向传播」。
- MCFA「检索记忆可覆盖用户显式指令」:MCFA(Xu et al., 2026)是 2026 年工作,尚未经过广泛同行评审,结论的稳健性有待更多复现验证。建议工程团队将其作为威胁模型假设(plausible worst case)而非已确立事实来处理。
- 「原文未指向任何 repo」:原文 v2(2026-06-11)确认无官方开源代码、无官方 leaderboard,落地时不能期待直接复现基准。
可读性精修
- 「eTAMP」 原解读写成「eTAMP(攻击者完全不需要和 Agent 交互,只需污染 Agent 浏览到的网页)」——此处需补充说明:eTAMP 的攻击路径是「污染 Agent 可能在推理过程中访问的网页内容(如搜索结果、API 文档页面)」,并非泛指「网页投毒」,是 web retrieval 场景的专项攻击,与传统的 web XSS 攻击有本质区别。
- 五大原语(WA/PV/PS/RB/VF)的 design pre-order 链:原文图 3 的依赖方向是 VF ⪯ RB ⪯ PV ⪯ WA(VF 的前提是 RB,RB 的前提是 PV,PV 的前提是 WA),这意味着不按顺序搭建就会白做。原解读的描述方向正确,但值得特别强调:WA(写授权)是整个链的基础,PV(溯源)是第二层,而 RB 和 VF 是顶层能力,很多团队搞反了顺序。
工程落地路径
当前 LTM 实现与 VMG 原语的落差
主流 LTM 框架(LangChain ConversationBufferMemory、Mem0、Letta)在 VMG 五原语上的覆盖情况:
| 原语 | LangChain | Mem0 | Letta | 备注 |
|---|---|---|---|---|
| WA | ✗ | 部分(API key 认证) | 部分(session-level) | 缺失细粒度写授权 |
| PV | ✗ | ✗ | ✗ | 主流框架均不支持 lineage 记录 |
| PS | ✗ | ✗ | ✗ | 跨用户/跨角色的记忆隔离普遍缺失 |
| RB | ✗ | ✗ | 部分(snapshot) | 均为最终状态快照,缺少 write-log |
| VF | ✗ | ✗ | ✗ | 向量删除后仍可通过近似检索重现 |
结论:主流框架目前全部处于「WA 未建立」阶段,工程团队几乎无法直接使用现成 memory 框架满足 VMG 要求。
分阶段工程路线图(基于依赖塔优先序)
阶段 1(immediate):建立 WA 基础设施
- 每条 memory 写入必须携带 src(来源主体)+ auth_W(授权校验)
- 最小实现:在 vector DB metadata 里加 src/scope/ver 三个字段
- 对现有系统:写一个 migration 脚本给历史条目补加 default metadata
阶段 2(1~3 个月):建立 PV 基础设施
- write_log:每次写入append-only log(可用 append-only S3 或专用的 immutable WAL)
- provenance chain:summary/merge/distillation 操作保留前向引用
- W3C PROV 序列化(可选但推荐):降低跨系统 provenance 互操作摩擦
阶段 3(3~6 个月):补 RB 能力
- 基于 write_log 实现 point-in-time snapshot 还原
- 关键:所有压缩/合并/distillation 操作本身必须可逆或有完整的 lineage 前向链
阶段 4(6 个月+):实现 VF
- 在 vector DB 的 Approximate Nearest Neighbor 索引层面实现"近似删除"
- post-deletion membership test(攻击者视角的重新发现测试)作为持续监控
- ε 的工程经验值:建议初始 ε ≤ 0.01,后续按场景收紧
PS(Principal-Scoped Retrieval):与以上各阶段并行,在检索入口处加 permission check gate
「Write 即打 provenance」的最小可行实现
无需引入完整 W3C PROV 栈,以下 schema 即可覆盖 PV 核心要求:
CREATE TABLE memory_entries (
id TEXT PRIMARY KEY,
content TEXT NOT NULL,
src_user_id TEXT NOT NULL, -- WA: 来源主体
src_session TEXT, -- WA: 来源 session
scope TEXT NOT NULL, -- PS: 可被哪类主体检索
ver INTEGER DEFAULT 1, -- 版本号(distillation 后 increment)
parent_id TEXT REFERENCES memory_entries(id), -- PV: 前向 lineage
created_at TIMESTAMPTZ DEFAULT now(),
write_auth TEXT, -- WA: 授权校验结果(如 "human_confirmed")
is_deleted BOOLEAN DEFAULT FALSE -- 软删除(VF 验证对象)
);
对 compression / summarization / lesson extraction 等合并操作:必须先插入新条目并填 parent_id 指向原条目,再将原条目标记 is_deleted=true,确保完整的双向 lineage 可追溯。
Store / Share / Forget 阶段防御现状与工程机会
原论文指出 Store / Share / Forget 阶段防御文献稀少,这意味着工程团队有较大的自主创新空间:
- Store-time:retention/淘汰策略的 adversary-aware 化——当前多数 vector DB 用 recency 或访问频率排序,攻击者可利用此偏好提升毒条目存活率。建议增加「近期写入且低访问频率条目的额外审查」逻辑。
- Share-time:principal-scoped retrieval 与跨 Agent 消息的 capability check 是最容易出成果的工程点,因为现有系统普遍没有在 agent-to-agent 消息层面做 memory scope 隔离。
- Forget-time:post-deletion membership test 在向量索引中实现有工程难度(近似检索的语义相似度阈值难以对抗「我知道这条记忆存在」的攻击者),建议将「vector 删除」与「embedding 级别的对抗性重检索测试」作为定期运行的安全评估任务,而非实时拦截机制。
当前主要工程风险
| 风险 | 严重程度 | 对策 |
|---|---|---|
| PV 缺失导致 RB/VF 建了也是白建 | 高 | 必须按顺序搭,先做 WA+PV,再做 RB+VF |
| 主流框架 LTM 实现默认不隔离 memory scope | 高 | 检索入口强制加 permission gate,不依赖 embedding 相似度做隔离 |
| 多底座的 forget 残留(log / summary / index / shared_store) | 高 | Forget 操作必须跨所有底座同步执行,建立统一的「可遗忘性」测试 |
| MCFA 的威胁假设过于激进导致 over-engineering | 中(需评估) | 先做 threat model,按实际业务对手方强度决定投入 |
| 主流框架无 write_log,snapshot 回滚不可靠 | 高 | 自建 append-only write log,哪怕只是 PostgreSQL append table |
| ε-VMG 中 ε 的工程取值无经验依据 | 中 | 先用 ε=0.01(1%)跑 baseline,按实际 adversarial probing 结果调整 |