MemLineage: Lineage-Guided Enforcement for LLM Agent Memory
鍩烘湰淇℃伅
- 鏍囬: MemLineage: Lineage-Guided Enforcement for LLM Agent Memory
- **绗竴浣滆€?*: Ciyan Ouyang
- 鐮旂┒鍥㈤槦: iie_cas (State Key Laboratory of Cyberspace Security Defense, Institute of Information Engineering, Chinese Academy of Sciences, Beijing, China)
- 浼氳/鏈熷垔: arXiv
- 骞翠唤: 2026
- 浠g爜: https://github.com/prov-mem
- PDF 鏂囦欢: [MemLineage](file:///C:/Users/admin/.openclaw/workspace/attachment/papers/20260518_memlineage_lineage_guided_llm_agent_memory.pdf)
MemLineage: Lineage-Guided Enforcement for LLM Agent Memory
Authors: Ciyan Ouyang, Rui Hou
Affiliation: State Key Laboratory of Cyberspace Security Defense, Institute of Information Engineering, CAS, Beijing, China
Venue: arXiv
Year: 2026
Code: https://github.com/prov-mem (inferred from artifact naming and reproducibility surface description)
1. 研究摘要
现代大语言模型(Large Language Model, LLM)agent 的持久化记忆(persistent memory)正在成为攻击者的新战场。用户在多次会话中积累的聊天记录、摄入的文档、工具返回的结果以及 agent 自身推导出的观察记录,共同构成了一个长期运行的记忆存储(memory store)。这个记忆存储既是 agent 完成多步工作流的能力基底,也日益成为其攻击面。与仅存在于当前会话上下文中的间接提示注入(Indirect Prompt Injection, IPI)不同,一种更隐蔽的威胁正在浮现:攻击者通过 agent 正常的记忆更新路径将恶意内容写入持久化存储,这些内容在潜伏多个会话后,会在后续的无关查询中被重新检索出来,并以指令的形式驱动 agent 执行敏感操作。这种跨会话的持久化记忆投毒(persistent memory poisoning)攻击——包括 AgentPoison 式的触发绑定后门、MemoryGraft 式的检索投毒,以及更具挑战性的 sleeper-via-derivation( Sleeper 派生攻击)——已经得到了近期和同期研究的明确验证,不再是理论上的推测。
然而,防御这类攻击面临一个根本性的张力:agent 必须保留有用的长期记忆能力,但同时又要阻止不可信记忆祖先(untrusted memory ancestry)授权敏感操作。传统的防御思路将这一问题视为过滤问题(filtering problem)——试图在检索阶段识别并剔除恶意内容。但 MemLineage 的作者们敏锐地指出,当攻击者采用 LLM 介导的清洗(LLM-mediated laundering)策略时,恶意载荷根本不会以原始形式进入记忆存储。攻击者只在不可信源中植入语义成分(ingredients),然后等待 agent 在正常的检索和总结循环中,由 LLM 自身将这些成分重新表述为一个看似无害的派生条目(derived entry),并由 agent 以自身的写入主体身份(writer principal)提交到记忆中。这个派生条目在构造上就是 agent 主体的真实输出,签名层(signature layer)完全无法将其与良性总结区分开来。
面对这一困境,MemLineage 将问题重新框架化为保管链问题(chain-of-custody problem)。其核心洞见是:仅仅验证"谁写了这条记忆"(provenance)是不够的,还必须追踪"这条记忆从什么推导而来"(lineage)。只有当 agent 能够精确判断当前上下文中的每一条记忆是否在其推导链中经过不可信祖先时,才能在不破坏有用回忆的前提下,阻断依赖不可信血统的敏感操作。为此,MemLineage 围绕一个 RFC 6962 风格的 Merkle 日志构建了一个六模块系统:每个记忆条目都附带 Ed25519 签名和加权推导有向无环图(Weighted Derivation DAG)的祖先边;一个最大强边传播规则(max-of-strong-edges propagation rule)使得任何经过足够强边连接的不可信路径都会将不可信标签传递到链末端;而一个敏感操作门控(sensitive-action gate)则拒绝那些活跃理由中存在派生自不可信祖先的记忆的敏感工具调用。
MemLineage 的主要贡献可以归纳为四个层面。首先,它提出了一种系统性的记忆层执法原语(memory-layer enforcement primitive),将供应链完整性中的密码学方法(签名、Merkle 日志)与信息溯源中的血统追踪(lineage tracking)结合起来,首次在 agent 记忆的场景中实现了跨会话、跨推导步骤的不可信路径持久性(Untrusted-Path Persistence)。其次,它形式化了这一持久性性质,通过定理1证明了在最大强边传播规则下,任何从外部(External)祖先出发且每条边权重都超过阈值 τ 的路径,其链末端条目必然继承不可信标签。第三,它设计了三类归因算法(attribution algorithm)——从廉价的均匀权重(Coarse)到利用辅助 LLM 的语义判断(LmSelfEval)再到需要白盒访问的注意力归因(AttnAttr)——并系统量化了它们在推导链长度 K 上的召回率 r_K 与 τ 的交互作用。最后,它构建了一个完全确定性的评估框架(deterministic evaluation harness),使得攻击适配器、密码学验证路径和脚本化归因法官的行为可以被字节级精确复现,从而将 ASR(Attack Success Rate)测量与 LLM API 的随机性解耦。
实验结果清晰地展示了这一设计的价值。在三种代表性记忆投毒工作负载上,没有任何防御的基线(no_defense)在所有三列攻击中都完全失效;仅带签名和 Merkle 包含证明的基线(sig_only_baseline)只能阻断 AgentPoison 式的直接伪造写入,对 MemoryGraft 和 sleeper-via-derivation 束手无策;而 MemLineage 是将三个攻击列的 ASR 全部驱动到零的唯一配置。与此同时,每次操作的开销保持在亚毫秒级别——远低于任何 LLM 调用的噪声基底——且在良性工作流上的合法调度率(legitimate dispatch rate)保持在 1.00,实现了零误报。这些结果表明,密码学血统追踪不仅是一种理论上的优雅构造,更是一种可以在生产 agent 系统中实际部署的高效防御层。
2. 理论框架
MemLineage 的理论根基横跨两个原本分离的领域:供应链完整性(supply-chain integrity)中的密码学溯源机制,以及动态信息流分析中的血统追踪(lineage tracking)或污点分析(taint analysis)。理解这一框架的演化脉络,有助于把握 MemLineage 在 IPI 防御版图中的独特位置。
在供应链完整性领域,RFC 6962 证书透明日志(Certificate Transparency Log)和 in-toto 框架已经证明,密码学签名和仅追加的 Merkle 日志可以为静态工件的来源提供强有力的证据。这些机制确保了我们能够验证"谁构建了这个二进制文件"以及"这个文件是否出现在被审计的日志中"。然而,它们处理的是静态对象——一个软件包、一个容器镜像——而非由 LLM 在运行时动态派生的内容。当一个条目是由 LLM 对多个父条目进行总结、改写或推理而产生时,传统的供应链完整性只能告诉我们"这个总结是由 agent 主体签名的",却无法回答"这个总结是否受到了某个不可信父条目的语义影响"。这正是 MemLineage 所说的签名层能力缺口(capability gap):签名验证身份,但不恢复推导来源。
在信息流分析领域,传统的动态污点分析(dynamic taint analysis)和神经网络污点追踪(如 Neutaint)能够在程序执行过程中标记数据来自哪些不可信输入。NeuroTaint 等近期工作进一步将这一思想扩展到 LLM agent 的跨会话记忆场景,展示了语义层面的污点可以在多个会话间传播。但这类系统缺乏密码学完整性保证:如果攻击者能够直接写入记忆存储,他们就可以篡改污点标签。MemLineage 的关键理论创新正是将这两个世界桥接起来——它让血统标签(trust label)成为密码学签名覆盖对象的一部分,使得任何重新标记的尝试都会破坏签名验证,从而在不破坏供应链完整性的前提下,实现了跨会话的血统追踪。
论文的核心概念围绕信任层级(trust level)和推导血统(derivation lineage)展开。MemLineage 定义了四个信任层级:Trusted(0)表示来自用户或经明确授权的宿主写入;Derived-Trusted(1)表示由 LLM 从全部父条目都超过血统阈值 τ 的上下文中派生;Derived-Untrusted(2)表示推导链中存在某个不可信祖先且强边路径将其传播到当前条目;External(3)表示来自外部不可信源的直接写入。这四个层级构成了一个偏序关系,其中数值越大表示风险越高。
血统本身被形式化为一个加权有向无环图(Weighted Directed Acyclic Graph, DAG)G = (V, E)。其中顶点集合 V 就是记忆存储 M 中的全部条目,边集合 E ⊆ V × V 中的每条边 (p, c) 表示父条目 p 在子条目 c 被写入时出现在 LLM 的上下文中。每条边携带一个权重 w(p, c) ∈ [0, 1],由归因算法 A 计算得出:
这里 c 是候选子条目,P 是候选父集合,X 是写入时刻的上下文。归因算法回答的核心问题是:"父条目 p 在多大程度上语义地影响了子条目 c 的内容?" 这个问题的答案不是一个二值判断,而是一个连续权重,因为 LLM 的推导过程本质上是模糊的——一个父条目可能提供了背景信息,也可能直接提供了被改写的载荷。
基于这个 DAG,MemLineage 提出了最大强边传播规则(max-of-strong-edges propagation rule)来推导每个条目的信任层级:
其中 P_c 是 c 的父集合,τ ∈ [0, 1] 是去分类阈值(declassification threshold),1[·] 是指示函数。这个公式的含义是:c 继承其所有权重超过 τ 的父条目中信任层级最高的那一个。由于信任层级编码为数值越大越不安全,max 操作选取的是最危险的仍被判定为"强"的父条目。这里的不等式是严格的(w > τ),这一设计使得 τ = 1 成为一个惰性配置——此时没有任何父条目能满足条件,系统回退到无强父默认(no-strong-parent fallback),返回 Trusted。
论文的定理1(Untrusted-Path Persistence)为这一规则提供了形式化保证:
Theorem 1: 对于任意条目 c ∈ V,如果存在一条路径 p_0 → p_1 → ... → p_k = c 使得对于所有 0 ≤ i < k 都有 w(p_i, p_{i+1}) > τ,且 trust(p_0) ≥ 2,那么 trust(c) ≥ 2。
证明思路是简单的归纳:当 k = 0 时,p_0 自身就满足 trust ≥ 2;归纳步骤利用传播规则的单调性——既然 w(p_{k-1}, p_k) > τ,那么 p_{k-1} 的不可信标签必然通过 max 操作传播给 p_k。这个定理的简洁性掩盖了其深刻的系统含义:它意味着只要归因算法能够可靠地识别出推导链中的强边,不可信血统就会像遗传基因一样不可磨灭地传递到任何深度的派生后代。这是一个正向的、构造性的保证——它告诉防御者"如果你能看到祖先,你就能保护后代";但同时也暴露了一个条件性的弱点:定理的前提"每条边都是强边"只有在归因算法具有足够召回率时才能成立。
论文用 r_K 表示归因算法在链长度为 K 时的强边召回率,这一参数成为连接理论与实践的桥梁。τ 和 K 的交互关系在实验中被系统性地扫描:对于均匀权重(Coarse)算法,所有边的权重恒为 1.0,因此只要 τ < 1.0,任何父条目都会传播,导致系统对派生深度不敏感;而对于衰减的 LmSelfEval 法官(如 w_0 = 0.9, d = 0.7 的每步衰减),深层边的权重会指数下降,使得同样的 τ 在长链上可能失效。这意味着部署者必须根据预期的推导深度来联合选择 τ——一个从 K=1 测量中看似安全的 τ 值,在 K=5 的推导链中可能会让攻击者突破防线。
3. 技术架构
MemLineage 的技术实现是一个围绕单一记忆存储 M 的六模块架构,可以类比为一个高度结构化的文件系统,其中每个"文件"(记忆条目)不仅包含内容,还携带完整的审计线索和家族谱系。整个系统的数据流分为写入路径(write path)和读取加门控路径(read + gate path),所有模块通过严格的密码学绑定确保任何篡改都会留下不可消除的痕迹。
写入路径从 M1 到 M2 再到 M3,最终由 M4 附加父边。当 agent 或宿主决定写入一个新条目时,M1(Provenance Metadata)首先构建一个标准化的元数据记录 ProvEntry。这个记录包含十个字段:条目标识符 eid(UUIDv7,按时间排序)、内容载荷 content(可选加密)、写入主体 writer(来自用户、agent、工具或外部源的 principal 标识)、原始数据哈希 h_src(SHA-256)、写入时刻上下文哈希 h_ctx(SHA-256)、信任层级 trust、父条目列表 P、对应的归因权重列表 W、纳秒级时间戳 ts、16 字节新鲜随机数 nonce,以及 Ed25519 签名 σ。这个记录使用规范化的 CBOR(Concise Binary Object Representation)编码,其中键的顺序、整数子类型编码和零长度集合的表示都被严格固定,确保任何两个符合规范的实现都能产生完全相同的字节序列,这是签名能够覆盖"无歧义字节串"的基础。
M2(Cryptographic Binding)为每个注册主体分配一对 Ed25519 密钥。公钥通过一个宿主本地的注册表(verifier registry)分发;私钥由主体自身保管。写入时,主体对除 σ 之外的所有字段的规范化 CBOR 编码进行签名;检索时,M5 在注册表中查找 writer 对应的公钥并验证 σ。这一设计的信任边界非常清晰:攻击者如果不能在注册表中注册公钥,就无法生成能通过验证的条目(满足安全目标 G1);如果攻击者能够攻破已注册主体的私钥,则超出了本论文的威胁模型。注册表 API 还特别防范了两个早期开发中的错误:重复注册会抛出 PrincipalAlreadyRegistered 异常而非静默覆盖;密钥轮换通过显式的 update_key 调用处理,防止部分受信的宿主将已注册主体重新绑定到攻击者密钥。
M3(Append-only Log)采用 RFC 6962 风格的 Merkle 树,每个已提交的条目将其 eid 与 σ 的拼接结果作为 SHA-256 哈希值添加到树的叶子节点。日志根在宿主启动时锚定,并每 N 个叶子进行一次检查点回滚。包含证明(inclusion proof)允许任何第三方在不持有完整日志的情况下验证某个条目是否出现在规范日志中。删除操作被故意设计为非破坏性的:要移除一个条目,宿主发出一个墓碑标记(tombstone marker),该标记在叶子节点前附加字面量 ts: 并命名原始条目 id 和删除原因;原始叶子节点被保留且仍可被包含证明。这一设计的目的是防止攻击者通过静默删除不便的条目来重写历史——任何删除本身也是签名、可审计的事件。
M4(Lineage DAG)是整个系统的理论核心在工程上的落点。它维护一个有向无环图,其中每条边记录了一个 LLM 介导的推导关系。边的权重由三类归因算法之一计算。Coarse(粗粒度)算法是最廉价的:如果父条目出现在子条目的检索集合或工具输出上下文中,则权重为 1.0,否则为 0。它不涉及任何模型检查,部署成本最低,但同时也产生了最多的过度标记(over-tagging)——任何被检索到的父条目都被视为强影响。LmSelfEval(语言模型自评估)算法调用一个辅助 LLM 法官来评分父条目对子条目内容的语义影响程度,输出 [0, 1] 范围内的分数。这是一个更精确但成本更高的方案,且法官本身也是提示注入(prompt injection)的目标——论文在 §4 中详细讨论了通过 JSON 信封结构隔离、显式角色断言和截断候选集来硬化法官的防御措施。AttnAttr(注意力归因)则利用白盒模型的注意力权重进行归因,需要在同一模型上同时提供推理和注意力读取能力(论文使用 Qwen2.5-7B INT4),虽然最强但部署可用性最受限。
读取路径从 M3 出发,经过 M5 到达 agent 的提示上下文。M5(Verifier-aware Retrieval)在检索表面 R(q) 返回候选条目后执行四个步骤:验证签名、验证 Merkle 包含证明、查找信任标签和血统链,最后将条目渲染为带有不可混淆哨兵(sentinel)的结构化上下文片段。这个渲染形式类似于 [BEGIN MEMORY entry_id=<8-hex> trust=DERIVED_UNTRUSTED] ...content... [END MEMORY],其中哨兵被夹在 LLM 无法在不转义的情况下合成的字面量之间。M6(Sensitive-action Gate)直接读取这些哨兵,而非依赖 LLM 自身声称检索了哪些条目。
M6 是系统的最终执法层,它继承自 Progent 的 JSON 模式谓词模型(JSON-schema predicate model)。当 agent 发出一个工具调用时,M6 首先执行上下文级别的保管链检查:遍历活跃提示中的 M5 渲染哨兵,取所有被调用参数提及的记忆段中的最大信任标签;如果任何安全关键参数的理由来自 Derived-Untrusted 或 External 上下文,触发第二层检查。第二层是每工具的权威规则(per-tool authority rule):对于每个受控参数,策略命名允许授权该参数的来源类别。例如,send_money.recipient 可以由受信的账单或新鲜用户请求授权,而外部 TODO 条目可以出现在提示中,但不能授权转账的接收方。M6 返回五种裁决之一:Allow(无不可信祖先,正常调度)、Deny(存在外部祖先,策略禁止调度)、Require-User(升级给用户决定)、Strip-and-Retry(手术式移除不可信段后要求 agent 重新生成)、以及 Repair-and-Retry(当受信证据可提供授权替代值时,仅重写攻击者控制的参数后重试)。
六个模块共同维护的复合不变量恰好对应四个安全目标 G1-G4:M2 和 M3 联合实现 G1(来源绑定完整性),M4 和定理1 实现 G2(血统绑定信任),M2 和 M3 的跨会话持久化实现 G3(来源的跨会话持久性),而 M5 和 M6 的联合实现 G4(敏感操作门控)。整个系统通过将密码学不可篡改性与血统追踪的语义敏感性结合,在工程上实现了一个既严格又灵活的记忆层执法框架。
4. 实验评估
MemLineage 的实验设计体现了一种方法论上的自觉:作者们意识到,在评估防御系统时,如果 ASR(Attack Success Rate)测量依赖于每次都会变化的 LLM API 响应,那么结果将不可复现、不可比较。因此,他们构建了一个确定性的评估框架(deterministic evaluation harness),将攻击适配器、密码学验证路径和脚本化归因法官的行为与真实 LLM 的随机性解耦。这一框架的核心理念是机制隔离(mechanism isolation):通过固定攻击载荷序列、使用预设的权重调度(scripted weight schedule)代替实时 LLM 法官,并验证整个产出在 1000 次重跑中保持字节级相同,论文确保了实验结果不是"恰好这次 LLM 没有上钩"的运气,而是防御机制本身的结构性保证。
评估围绕五个研究问题展开。RQ1 检验 MemLineage 对三种代表性记忆投毒攻击的阻断效果;RQ2 深入探索血统阈值 τ 与推导链长度 K 的交互关系;RQ3 测量每个操作的开销;RQ4 评估良性工作流上的误报率;RQ5 检验自适应清洗边界(adaptive laundering boundaries)。
防御配置的对比是理解实验结果的关键。论文比较了三个核心配置:no_defense(基线,所有检索条目都被视为受信并直接到达敏感操作门控)、sig_only_baseline(每条目 Ed25519 签名加 Merkle 包含证明,但无血统传播,即传统的供应链完整性思路),以及 prov_mem(完整的 MemLineage 栈:签名 + Merkle + Coarse 血统传播 + 验证者感知检索 + 敏感操作策略门控)。攻击方面则对应三种已发布或新设计的工作负载:AgentPoison-style(触发绑定的记忆后门)、MemoryGraft-style(检索投毒)和 sleeper-via-derivation( Sleeper 派生攻击,即论文提出的血统压力工作负载)。
表 1 的 ASR 矩阵揭示了防御能力上的根本性分层。在 AgentPoison-style 列中,攻击者直接以未注册的外部主体身份写入恶意条目;sig_only_baseline 和 MemLineage 都能将其 ASR 驱动到 0,因为签名验证会拒绝任何无法匹配注册表中公钥的条目。然而,真正的分水岭出现在后两列。MemoryGraft-style 攻击通过 agent 自身的主体身份写入投毒条目——签名层无法拒绝一个由合法主体签名的条目,因此 sig_only_baseline 在该列完全失效(ASR = 1.00)。MemLineage 则通过 M4 的血统传播发现该条目的推导链中存在 External 祖先,将其标记为 Derived-Untrusted,从而阻止了门控调度。最具区分度的 sleeper-via-derivation 列则是 MemLineage 的专属展示场:攻击者的载荷从未直接以任何主体身份进入记忆存储,而是通过 LLM 的正常检索和总结循环被"清洗"为一个派生条目。sig_only_baseline 看到的是 agent 主体的有效签名,只能放行;而 MemLineage 通过保留跨会话的父边,使得 External 祖先的标签沿定理1 保证的路径传播到链末端,最终实现 ASR = 0。
RQ2 的 τ × K 消融实验(表 5 和表 6)为部署者提供了关键的校准指导。对于 Coarse 算法,由于所有边的权重恒为 1.0,传播结果在 τ < 1.0 时是二值的且不随 K 变化——这是一个简洁但不够精细的配置。而对于 LmSelfEval 的衰减法官(如 w_0 = 0.9, d = 0.7),情况变得微妙:τ = 0.30 在 K = 1,2,3 时都能阻断攻击,但在 K = 5 时失效(因为最深边权重 w_5 = 0.9 · 0.7^4 ≈ 0.216 ≤ 0.30)。这意味着,如果部署环境允许 agent 进行最多 5 步的推导链,τ 必须选择 ≤ 0.10,而不是从 K = 1 测量中可能误以为安全的 0.30。这是一个违反直觉的发现:更高的 τ 实际上削弱了传播(因为它让更少边满足"强"的条件),而更深的推导链对最深边的权重施加了指数级压力。
性能方面(RQ3,表 7),MemLineage 展现了出色的工程效率。端到端验证热路径(memorystore_verify_full)的中位延迟为 82 微秒,本质上等于一次 Ed25519 验证(81 微秒)加上常数开销;端到端写入热路径为 214 微秒,主要由 Ed25519 签名(27.5 微秒)、编码(8 微秒)和 Merkle 追加(3.7 微秒)构成。血统传播(8 个父条目时 1.0 微秒)和策略门控(0.7 微秒)几乎可以忽略不计。即使是最昂贵的检索时过滤操作(8 个条目的验证和标记,718 微秒),仍然处于亚毫秒级别,远低于任何典型 LLM API 调用的数百毫秒延迟。
良性工作流(RQ4,表 8)上的评估进一步证实了系统的可用性。在四个测试场景中——直接受信指令调度、受信派生指令调度、外部文档非敏感问答、以及外部文档派生后非敏感问答——MemLineage 的合法调度率均为 1.00,即零误报。这表明血统层不会错误地拒绝良性操作:受信父条目的权重(1.0)大于默认 τ(0),因此派生条目正确地继承 Trusted 标签;而含有不可信祖先但无非敏感操作请求的场景也不会被无故阻止。
论文还通过 AgentDojo 桥接验证(表 3)将结果锚定到真实基准。在一个故意设置成易受攻击的工具输出配置文件中,无防御基线和签名基线都在 6/6 的银行任务对中成功执行了攻击,而所有 MemLineage 配置都将严格 ASR 降到 0/6。其中,authority repair(权威修复)配置在保持相同攻击阻断率的同时,将良性任务成功率提升到 5/6,平均每次行仅需 0.33 次拒绝和 0.33 次修复调用,显著优于 strip-and-retry 的 31 次拒绝。这揭示了 MemLineage 不仅仅是一个预防系统,更是一个能够在安全前提下主动修复任务轨迹的恢复系统。
5. 案例研究
为了具体理解 MemLineage 如何在实际 agent 工作流中运作,我们可以考察论文 §6.2 中设计的两会话 RAG-to-memory 工作流(表 2)。这个案例完美展示了跨会话血统追踪的必要性和 MemLineage 的差异化优势。
场景设定如下:在会话 1 中,agent 检索到一个来自外部(External)厂商的文档——可能是一份供应商说明、一份用户上传的 PDF,或一个网页。agent 的 RAG 系统将这份文档的片段检索到上下文中,LLM 对其进行总结,并将总结内容作为一条派生记忆条目写入持久化存储。这是一个完全正常的、良性的操作:agent 只是在做它应该做的知识管理工作。在会话 2 中,用户提出一个看似无关的查询,这条派生记忆被重新检索到上下文中,并触发了 agent 调用一个敏感工具(如发送邮件)。
在无防御(no_defense)的情况下,两次会话的行为都是"盲"的:会话 1 的总结没有任何关于其来源的元数据保留,会话 2 的检索只能看到内容本身。如果外部文档在会话 1 中被投毒(例如包含隐藏的指令成分),这个毒株会在总结过程中被 LLM 内化,然后在会话 2 以 agent 自身的声音重新浮现,最终驱动敏感操作。签名基线(sig_only_baseline)面临同样的困境:会话 2 检索到的总结条目确实是由 agent 主体在会话 1 签名的,签名验证通过,因此门控只能放行。这个案例暴露了一个令人不安的事实:在复杂的 agent 工作流中,合法的操作序列本身就可以成为攻击的载体。
MemLineage 的处理方式则截然不同。在会话 1 的写入时刻,M5 在检索阶段验证外部文档的签名(如果是直接外部写入,其 writer principal 可能是 external:u,trust = 3),然后在 M4 中,LLM 总结产生的新条目被记录为派生自该外部文档,边权重由归因算法计算。在 Coarse 配置下,这条边的权重为 1.0(因为外部文档出现在总结上下文中),大于 τ(如 0),因此新条目的 trust 被计算为 max{1.0 > τ · External} = Derived-Untrusted(2)。在会话 2 的检索阶段,M5 不仅验证该派生条目的签名(通过,因为是 agent 自身签名),还查找其 trust 标签和血统链,将其渲染为带有 DERIVED_UNTRUSTED 哨兵的上下文片段。当 agent 因此提出敏感工具调用时,M6 检查到活跃理由中包含 Derived-Untrusted 祖先,且没有受信的替代权威来授权敏感参数,最终返回 Deny。
Memory Sandbox 风格的方法也能阻断这个攻击,但代价完全不同:它在会话 2 中完全阻止了任何记忆回忆,因为会话 1 接触过外部内容。这意味着即使用户的查询是良性的(如"上周的供应商总结说了什么?"),agent 也无法回答。MemLineage 的差异化优势正在于此:它保留了非敏感回忆的可用性,只阻止那些敏感操作的理由依赖于不可信血统的场景。表 2 明确记录了这种差异:MemLineage 和 coarse taint 都保留了血统边并在会话 2 中阻止了敏感调用,但 Memory Sandbox 通过移除所有回忆来阻断,其效用损失在 §6.5 中单独评估。
另一个值得深入思考的案例是 authority repair 机制(表 4)。假设用户要求 agent "支付上个月的账单",这是一个完全合法的请求。攻击者通过在上下文中注入一个 TODO 条目,试图让 agent 将转账对象改为攻击者控制的账户。在传统的 Deny 策略下,agent 会被完全阻止,用户任务失败。而在 authority repair 模式下,M6 检测到 send_money.recipient 参数被攻击者控制的 TODO 提议,但同时发现用户的受信账单(trusted bill)提供了授权的替代值(正确的收款账号)。此时 M6 不会简单地拒绝整个调用,而是执行 repair_and_retry:用受信账单的值替换攻击者控制的参数,保留其他合法参数(如金额),然后重新提交。审计记录会同时记录被拒绝的攻击者来源和被选中的权威来源。这个案例展示了 MemLineage 不仅是防御性的,更是恢复性的——它在攻击存在的情况下仍然努力完成用户的原始意图。
6. 综合价值与局限
MemLineage 的理论意义在于它将记忆安全问题从"内容过滤"的语义泥潭中拉了出来,重新框架化为"保管链完整性"的结构性问题。这一视角转换具有深远影响:它意味着防御者不再需要与攻击者在"这段文字是否恶意"的语义战场上进行无休止的军备竞赛,而是将问题降维到"这段记忆的祖先中是否有不可信来源"的组合验证。定理1 提供的保证虽然在条件性上依赖归因算法的召回率,但一旦条件满足,它就是数学上不可违背的——这与基于分类器的防御(其错误率永远大于零)有本质区别。MemLineage 为 agent 记忆层提供了一个新的概念工具:血统标签(trust label)作为与记忆内容本身同等重要的第一类对象(first-class object),可以被密码学绑定、跨会话持久化,并成为策略决策的明确输入。
在实践层面,MemLineage 的直接受益者是任何部署了持久化记忆且需要处理不可信外部内容的 LLM agent 系统。金融 agent、代码助手、客户服务自动化系统、以及任何具有工具调用能力的多步推理系统都可能面临记忆投毒风险。MemLineage 的亚毫秒开销意味着它可以在不增加用户感知延迟的情况下部署为中间件。更重要的是,它提供了可组合的防御原语:检测层(如困惑度过滤器、分类器)可以运行在检索之前,机密性层(如 TEE 密钥托管、静态加密)可以运行在存储之下,而 MemLineage 填补的是这些层之间缺失的环节——持久化的、密码学绑定的血统追踪。
论文最强有力的论证体现在实验设计上。确定性框架的构建本身就是一种方法论贡献:它将防御评估从"跑几次看运气"提升到"每次运行都字节相同"的工程标准。1000 次重跑的字节相等验证(byte-equal CI verification)为整个领域的实验复现性树立了标杆。ASR 矩阵的分层结果——尤其是 sig_only_baseline 在后两列的完败与 MemLineage 的全胜——以无可辩驳的方式证明了血统追踪不是签名之上的锦上添花,而是应对 LLM 介导清洗攻击的必需机制。
然而,MemLineage 也存在诚实的局限性。最显著的限制是 LLM 推理信任假设:整个系统建立在 LLM 权重和推理路径本身可信的前提下。如果攻击者能够通过模型微调后门或劫持推理端点来完全控制 LLM 的输出,那么血统层只能追踪到一个已经被篡改的推导过程——就像在一个已经被污染的实验室里追踪样本来源,来源记录本身是正确的,但样本在产生的那一刻就已经是假的了。这是一个超出记忆层防御能力的威胁类别,需要模型供应链的完整性保证来应对。
其次是归因算法的召回率瓶颈。定理1 的前提要求归因算法在推导链的每一步都能识别出强边,但论文承认目前对 r_K(链长度 K 上的强边召回率)只有经验测量而没有下界证明。这意味着在理论上,一个精心设计的攻击可能通过多步语义变换,使得归因算法在深层链上遗漏强边,从而破坏不可信路径持久性。论文提出的缓解措施包括在无强父时回退到 Derived-Untrusted(以误报换安全),以及对多算法进行 quorum 投票,但这些并未在评估中完全展开。
第三个局限是白盒注意力归因(AttnAttr)的部署限制。虽然它在理论上提供了最强的归因精度,但需要开放权重模型和注意力读取接口,而大多数生产部署使用闭权 API(如 GPT-4、Claude)。这使得最强的归因算法在最需要保护的商用场景中反而不可用。论文的部署建议是务实的:Coarse 提供零成本的召回上界,LmSelfEval 提供中间权衡,AttnAttr 留给拥有自主推理栈的场景。
最后,AgentDojo 桥接验证虽然成功,但论文诚实指出 AgentDojo 本身缺乏跨会话持久化记忆原语,因此桥接结果更多是"门控机制在真实基准上有效"的烟雾测试(smoke test),而非端到端集成验证。将 MemLineage 的原生血统标签真正融入公共基准的持久化状态,仍然是一个需要后续工程努力的开放问题。
7. 延伸阅读与思考
理解 MemLineage 的最佳方式之一是将其置于 IPI(Indirect Prompt Injection)防御版图的完整图景中。在记忆攻击方面,AgentPoison(Chen et al., 2024)首次系统化了触发绑定的记忆后门攻击,展示了攻击者如何在向量存储中植入特定 token 序列触发的恶意条目。MemoryGraft(Sahai Srivastava & He, 2025)将攻击面扩展到经验条目的持久化污染,即 agent 在正常运行中自主提交的派生记忆也可能被投毒。Zombie Agents(Yang et al., 2026)则形式化了两阶段的感染/触发模式,确立了跨会话持久化记忆攻击作为一个独立攻击类别的地位。MemLineage 的 sleeper-via-derivation 工作负载正是建立在这些攻击序列的基础之上,将其精炼为一个专门针对血统防御的极限测试器。
在防御方面,MemLineage 与多条并行研究线形成了有趣的张力与互补。Fides(Costa et al., 2025)是一个强有力的确定性基线,它在规划时通过信息流控制(IFC)标签追踪保密性和完整性约束。Fides 的局限在于标签状态是按执行(per-execution)的:一旦 LLM 完成推导并将结果提交到记忆,IFC 标签就丢失了。MemLineage 所做的正是将 IFC 的纪律从规划时延伸到记忆层本身——通过将标签持久化为每个条目签名的一部分。这两个系统在很大程度上是互补的:一个需要确定性规划保证的部署可以同时运行 Fides 和 MemLineage,前者负责单步执行的策略一致性,后者负责跨会话的血统完整性。
NeuroTaint(Cai et al., 2026)在精神上最接近 MemLineage,它在 LLM agent 中实现了跨会话的语义污点追踪,并通过 TaintBench 进行了评估。但 NeuroTaint 缺乏密码学完整性:污点标签没有与条目内容一起被签名,因此攻击者若能直接写入存储,就能篡改标签。MemLineage 通过将 trust label 纳入 Ed25519 签名范围,以零额外信任成本(签名本来就做)解决了这一问题。NeuroTaint 的语义污点方法和 MemLineage 的密码学血统方法因此形成了一种"精度 vs. 完整性"的权衡:前者在开放权重模型上可能更精细,后者在对抗存储篡改时更鲁棒。
RAGPart 和 RAGMask(Pathmanathan et al., 2025)代表了检索阶段过滤的防御范式。它们的假设是良性与投毒的区别在检索时可以从内容中观察到——这在显式恶意条目中成立,但在 sleeper-via-derivation 中彻底失败,因为派生条目的内容在构造上就是良性的 LLM 总结。MemLineage 的 M5 模块并不取代检索过滤,而是在其后严格增加了一层:它执行过滤,但更重要的是将 trust label 渲染到下游门控,使得即使检索阶段放行了一个清洗过的条目,敏感操作仍然可以被拒绝。
Memory Sandbox 和 RTW-A(Leong, 2026; Zha & Wang, 2026)展示了粗粒度记忆控制的另一种哲学:通过移除回忆或衰减高风险能力来阻断攻击链。这些机制有效,但以牺牲效用为代价。MemLineage 的目标操作点是相反的:保留所有普通回忆的可用性,仅在敏感操作的理由依赖于不可信血统时才拒绝。表 9 中的对比明确量化了这种权衡:Memory Sandbox 风格的配置在所有攻击列上达到 0.00 ASR,但也将所有良性列降为 0.00;而 MemLineage 在达到相同攻击防御效果的同时保持了 1.00 的良性可用性。
展望未来,MemLineage 打开了一系列值得探索的研究方向。最迫切的是自适应攻击评估:当前确定性框架固定了非自适应载荷序列,但真实攻击者可能会通过探针查询来估计血统阈值和策略裁决,然后调整后续载荷。将自适应载荷生成集成到现有的 LLM 支持运行器中,是提升外部有效性的关键一步。其次是 r_K 的理论下界:如果能对特定归因算法在特定 LLM 改写分布下的召回率给出数学保证,MemLineage 的保证将从条件性变为无条件的。第三是 batched HMAC 快速路径的工程和评估:对于高频写入场景,将每 N 次写入的 Ed25519 签名替换为对 HMAC 根的单次签名,可以显著降低密码学开销。第四是多主机 Merkle 日志共识协议:当记忆存储跨主机复制时,日志根需要分布式共识来维护其仅追加保证。
这篇论文最令我深思的是它对"什么是记忆安全"这一根本问题的重新定义。传统的安全思维倾向于将记忆视为被动的数据容器,防御的重点放在"如何阻止坏数据进入"或"如何在检索时识别坏数据"。MemLineage 提出了一种更深刻的视角:记忆是一个活跃的认知基础设施,其中每条信息都携带其认知血统——它从哪里来、经历了怎样的变换、在什么信任条件下被派生。这种血统不是附加的元数据,而是记忆的完整性的有机组成部分。在一个 agent 日益自主、日益依赖长期记忆的世界里,忽略血统的安全设计就像忽略 DNA 的法医学——你只能看到表象,却无法追溯本质。MemLineage 为 agent 记忆的"法医学"奠定了基础,而它的局限——如 LLM 推理信任假设和归因召回率的开放问题——恰恰指明了这一领域最有价值的未来工作。
绗旇鍒涘缓鏃堕棿: 2026-05-18
闃呰鏂瑰紡: L2 娣卞害闃呰
Topics:
- "memory_mechanism"
- "agent_architecture"
- "llm"
- "agent_security"
- "lineage_tracking"
References: - "iie_cas"