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 投毒防御在两个维度失效:

  1. Persistence:一条被污染的记忆条目可以在原 context 早已关闭后,在未来任意会话里被重新拉回上下文;
  2. Statefulness:分析单元从"单条输入"迁移到"Agent 不断演化的记忆状态",若干细微偏置的 episodic memory 累积足够多后,会让 Agent 出现行为漂移,远早于任何单条记忆触发传统 safety classifier;
  3. 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 社区统一实验协议后才能横向比较。

对工程落地的启发

  1. 在任何持久记忆系统上先做"原语体检":用五大原语当 checklist 评估当前 LTM 实现,常见会暴露 WA 与 PV 双双缺失;
  2. 写入即打 provenance:哪怕只是 metadata 形式的 src / scope / prov / ver,都能让后续 forensics 与 RB 落地;
  3. 检索前先做 principal scoping:把"这条记忆能被谁读到"做成显式 capability,而不是 ad-hoc 相似度筛选;
  4. retention / 衰减 / 淘汰策略需要 adversary-aware:recency / frequency-based 策略可能反而保住毒条目同时清理合法条目;
  5. 不要把"删除"等同于"不再出现":post-deletion membership test 是 VF 的核心动作,vector index 与压缩摘要里都要查;
  6. RAGForensics / MemCube / VerificAgent 是已经能用的零件:分别覆盖 Store-time audit、Write-time metadata、Write-time 人审 freezing,可以并列接入;
  7. 未覆盖的工程机会:跨 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 结果调整