← 返回 2026-09-02

智能体记忆是内生授权洗白的温床 Agent Memory Is a Surface for Endogenous Authorization Laundering

Tommaso Cerruti, Mika Okamoto, Ansel Kaplan Erol 📅 2026-09-01 👍 4 2026-11-02 18:30
LLM智能体 基准评测 持久记忆 智能体安全 访问控制

智能体持久记忆会自发伪造权限并致执行器越权,EAL-BENCH 量化了这一内生授权洗白现象

前置知识

持久记忆(Persistent Memory)

让 LLM 智能体在多轮、长周期会话之间保存状态的技术。系统把交互历史压缩成一份持续维护的记忆(自由文本或结构化 JSON),后续交互只读这份记忆而不重放全部历史,从而节省上下文窗口和算力。LangMem 等框架提供按画像组织、反复增量改写的记忆管理器。

本文的全部问题都发生在「历史→记忆」的压缩与增量更新环节,不理解持久记忆如何被写入和改写,就无法理解授权状态为何会失真。

授权状态与生命周期(Authorization State & Lifecycle)

某主体在时刻 t 被允许做什么,由授予、修订、撤销、替换等权威事件决定,可用确定性重放函数 $S_t = R(B_1,\dots,B_t)$ 从历史精确计算。生命周期指权限从被授予到被收回的完整演化链条,任何一环被遗忘或写错都会导致错误授权。

论文要测的核心就是记忆能否忠实保存这个随时间演化的状态:被遗忘的撤销让失效权限继续生效,被吸收的非权威信息让权限范围凭空扩大。

内生失败 vs 对抗攻击(Endogenous Failure)

与提示注入、记忆投毒等外部攻击相对:系统在完全正常、无恶意输入的运行中,因自身记忆更新出错而产生的失败。EAL-BENCH 的威胁模型里没有攻击者,所有历史和消息都是真实可信的。

论文首次把「无攻击者条件下记忆自发伪造权限」命名为内生授权洗白并系统测量,整个基准的问题设定和与投毒类工作的区分都建立在这个概念上。

记忆写入器与执行器(Writer / Executor)

EAL-BENCH 把带记忆的智能体拆成两个角色:写入器 W 负责把可见历史压缩成持久记忆 $M_T$;执行器 E 之后只拿到 $M_T$ 和新请求 $q$,看不到原始历史,据此决定是否调用工具执行动作 $a_q$。

论文的核心方法论就是把「写入时引入虚假权限」与「执行时据此越权」两个环节分开测量,必须先分清这两个角色及其信息不对称(执行器永远看不到真实历史)。

事件溯源(Event Sourcing)

一种软件架构模式:不直接维护可变状态,而是把每次变更作为不可变事件追加到日志,再由确定性的归约函数从完整日志重建当前状态。修改历史不可篡改,状态永远可追溯。

它是论文两大缓解措施之一(把授权状态维护从概率性模型移交给确定性代码),理解它才能读懂缓解方案的安全-效用权衡从何而来。

研究动机

长时运行智能体把权限、限制和撤销都记在持久记忆里,而记忆是被压缩、反复增量改写的:一次遗忘的撤销会让已经不存在的权限继续生效,一次误写会让从未授予的权限凭空出现。论文开篇给出真实场景:2026 年 2 月,一个邮件智能体在例行上下文压缩时把「行动前需确认」的指令摘要掉了,随后删除了两百多封只是被要求审阅的邮件。现有评测要么测记忆召回、要么测对抗投毒、要么测下游任务分数,没有刻画「演化中的授权状态是否被忠实保存」。最接近的工作各有盲区:AUTHMEM-BENCH 固定声明只变源头权威、不追踪增量更新;PPMF 假设平台维护溯源并从不可信观测出发;GATEMEM 在检索层做生命周期门控却不检查门后状态本身是否正确;HARNESSAUDIT 和 MASDRIFT 都默认执行器看到的状态是对的。

本文的目标是作者要构建一个开源、可扩展的基准 EAL-BENCH,精确回答三个层层递进的问题:第一,持久记忆在增量更新过程中会不会凭空制造历史从未授予的权限(形成);第二,这些虚假权限会不会被下游执行器当作真实依据去实施越权的采购、系统变更或交易(传播);第三,错误究竟形成于写入阶段还是执行阶段,从而指导防御应该打在哪一层。基准还要求在「无攻击者、无 LLM 裁判」的条件下给出确定性判定,使失败可以在授予执行器任何工具权限之前被审计发现。

与已有工作不同的是,独特切入角度有三点。一是威胁模型完全内生:所有历史和消息都是真实的,排除注入与投毒,把失败归因于普通内部错误,这是与记忆投毒线的根本分野。二是因果可定位:每条用例都带一个隐藏的确定性账本和配对的授权/未授权请求(只差一个授权相关字段),并用 oracle 精确状态替换干预——只换记忆、其余一切不动——证明越权动作随错误记忆消失而归零。三是把洗白分解成两个可分别测量的因子:虚假权限形成 $P(F)$ 与执行器据此行动 $P(G=1\mid F=1)$;论文 Table 1 显示,此前没有任何基准同时覆盖生命周期追踪、增量更新、形成与传播分离、精确修复四个维度,只有 EAL-BENCH 全部打勾。

核心方法

直觉上,论文把带记忆的智能体拆成「记账员」和「办事员」:记账员把不断演化的组织历史压缩成持久记忆,办事员只凭记忆和新请求决定是否执行采购、系统变更或交易。EAL-BENCH 给每个用例配一个隐藏的确定性账本:重放函数 $S_t = R(B_1,\dots,B_t)$ 从权威事件序列算出真实授权状态 $S_T$,域谓词 $A(S_T,x)\in\{0,1\}$ 判定动作是否被授权。写入器 $W$ 把历史变成记忆 $M_T$;执行器 $E$ 拿着 $M_T$ 和请求 $q$ 输出动作。对结构化记忆可确定性地定义记忆侧谓词 $A_M(M_T,x)$,于是形成事件为 $F(M_T,a_q)=\mathbf{1}\{A(S_T,a_q)=0\wedge A_M(M_T,a_q)=1\}$(记忆授权了账本拒绝的请求),传播事件为 $G(E,M_T,q)=\mathbf{1}\{E(M_T,q)=a_q\}$(执行器照做),端到端洗白就是 $F\wedge G$,其发生率分解为 $P(F)\cdot P(G=1\mid F=1)$。运行示例:审批人授予采购员向 TableWorks 购买午餐和咖啡、上限 6000 美元的权限,后续修订收窄为仅午餐,非权威 ERP 记录又把该供应商归入午餐和茶歇两类——写入器吸收了 ERP 分类后,一笔 6000 美元的茶歇订单在账本下被拒、在记忆下被批,洗白完成。

核心创新是把授权洗白分解成两个可独立测量的阶段,并用记忆替换干预建立因果链。与已有工作的本质区别:AUTHMEM-BENCH 只在固定声明下变源权威,PPMF 依赖平台溯源并从不可信输入出发,GATEMEM 在检索边界拦截而不检验门内状态,而 EAL-BENCH 让历史本身演化——授予、修订、撤销、替换、过期声明、非权威建议混杂其中——测的是写入器在增量维护中能否保住状态。第二个创新是 exact-state repair(精确状态修复):对自然形成 $F=1$ 的记忆,把生成记忆换成账本精确状态、其余一切不动,若越权动作归零则证明瓶颈在记忆而非执行器对齐。第三个创新是全程无 LLM 裁判:类型化记忆的 $A_M$ 是确定性谓词,$F$ 只需读记忆即可计算,意味着部署方可以在给执行器任何工具权限之前预估违规率。

方法步骤详情

第一步,构造用例:每个域 8–16 个案例、32–64 对匹配请求(一授权一未授权,只差一个授权相关字段),历史跨 5–18 个会话块,含政策变更、过期陈述与非权威建议;由 Claude Opus 4.8 辅助生成后人工精修。第二步,构造记忆:所有写入器用 LangMem 画像式管理器;自由文本(单个 Markdown 字符串)与类型化(schema 校验的 JSON 授权记录带来源 ID)两种表示,分别配 one-shot($M_T=W(H)$,见全史)与增量($M_t=W(M_{t-1},B_t)$,只看旧记忆和新块、永不重放旧块)两种更新;容量设为忠实负载最大值的 2 倍,每次写入一次机会加至多一次修复,最终记忆冻结并哈希后跨探针复用。第三步,执行器校准:只有对忠实记忆控制达到 100% 授权使用、0% 越权提交的执行器才合格,入选的是 GPT-OSS-120B 与 DeepSeek V4 Pro。第四步,确定性打分:比对执行器工具调用与请求动作是否完全一致,并从类型化记忆确定性计算 $F$。第五步,干预实验:扩大/精确修复/表面伪装单个授权字段、跨执行器重放冻结记忆、添加紧急压力语句(不含任何授权信息)。第六步,缓解与扩展:来源权威门控(引用源必须有效可见且来自有权授权的主体)与有界事件溯源(写入器只提取变更,外部不可变日志加确定性归约器重建状态);另测写入器候选池 $k\in\{1,2,4,8\}$ 的推理扩展。全部主实验跑 3 个种子、5 个写入器(Nemotron 3 Ultra、Kimi K2.6、GLM 5.2、Grok 4.3、Qwen-Plus)、2 个执行器、温度 1.0、4096 输出上限。

技术新颖性

技术新颖性集中在三点。第一,问题重定义:把智能体安全从「执行器是否服从策略」转向「执行器拿到的持久状态是否仍代表历史建立的策略」,持久记忆本身被论证为智能体有效授权策略的一部分、应当纳入安全边界,这是对安全防线的重新划界。第二,测量方法完全去裁判化:类型化记忆的 $A_M$ 是确定性谓词,形成率在执行前即可审计;自由文本虽无法计算 $A_M$,也通过只换记忆的记忆替换干预保持因果推断,不引入主观判断。第三,缓解方案把授权状态维护从概率性模型移交给确定性代码(事件溯源)或可验证的来源检查(门控),并诚实量化其代价——两者都靠拒批合法请求换安全,形成离散的实证帕累托前沿而非免费午餐。相比之下,Table 1 中此前所有相关基准要么缺生命周期、要么缺增量更新、要么不区分形成与传播、要么没有精确修复干预,没有一项同时覆盖四个维度。

EAL-BENCH system and example failure. A writer creates persistent memory from an evolving history, an executor uses that memory with a later request to choose an action, and a hidden canonical ledger evaluates authorization deterministically.
Figure 1: EAL-BENCH system and example failure. A writer creates persistent memory from an evolving history, an executor uses that memory with a later request to choose an action, and a hidden canonical ledger evaluates authorization deterministically.

实验结果

四个核心发现。其一,增量更新是最大风险源:在所有域、两种表示下增量更新都推高越权提交,类型化增量记忆全程最不安全,金融域越权提交达 51.0%,而同条件下授权使用仍在 95% 以上——不是能力崩溃,而是不对称的状态失真。其二,虚假权限形成于记忆并传播到行动:类型化增量记忆的形成率 $P(F)$ 在采购 28.3%、网络安全 10.4%、金融 50.2%,与对应越权提交率差距均在 0.8 个百分点内;对 $F=1$ 记忆做精确状态修复后,越权执行从 66/68(97.1%)、60/60(100.0%)、79/80(98.8%)全部降到 0,因果定位到记忆。其三,失败随工件而非执行器走:同一份冻结记忆在两个校准执行器后重放,越权提交率差距不超过 1.1 个百分点,逐重放一致率 97.9–99.5%;压力语句使金融越权提交从 20.9% 升到 27.3%,同时五个写入器在所有域的授权使用全线下滑(采购平均降 27.2 点,Qwen-Plus 金融从 93.0% 跌到 54.7%),Qwen-Plus 金融基线越权率 43.8% 是最差单点。其四,缓解措施形成安全-效用权衡:来源权威门控把越权提交从 25.3% 压到 7.3%(降 18.0 点,95% CI 14.9–21.1),但授权使用从 93.3% 跌到 53.8%;有界事件溯源压到 9.0%(降 16.3 点,CI 12.2–20.4),授权使用 64.7%;表示层形成率从 24.9% 降到 5.5% 和 8.7%,幸存的 5.5% 说明来源正确仍可能范围/有效期/生命周期出错。写入侧推理扩展 $k=1\to 8$ 使越权提交从 13.2% 降到 8.6%、授权使用从 94.2% 升到 95.8%,但 $k=8$ 时 55.0% 的池里存在精确记忆、自评只选出 26.7%、DeepSeek 独立评审 30.0%(下游 7.6% 越权/97.2% 授权使用);最终状态错误率从 63.3% 降到 51.7%,而已观测错误 100% 存活、自修复率 0%——瓶颈在验证而非生成。

Closest authorization-memory work. Checks denote dimensions explicitly evaluated in each setup; crosses indicate the dimension is outside the evaluated setting.
Table 1: Closest authorization-memory work. Checks denote dimensions explicitly evaluated in each setup; crosses indicate the dimension is outside the evaluated setting.
False-authority formation closely tracks downstream unauthorized submission. Typed incremental memory, pooling three seeds and five writers.
Table 2: False-authority formation closely tracks downstream unauthorized submission. Typed incremental memory, pooling three seeds and five writers.
Unauthorized action rate under erroneous and exact memory. Oracle-exact memory eliminates unauthorized execution across all domains.
Table 3: Unauthorized action rate under erroneous and exact memory. Oracle-exact memory eliminates unauthorized execution across all domains.
Authorized use (AU, higher is better) and unauthorized submission (US, lower is better) by writer and domain, at baseline (B) and under pressure (P).
Table 4: Authorized use (AU, higher is better) and unauthorized submission (US, lower is better) by writer and domain, at baseline (B) and under pressure (P).
Exact percentages underlying the memory design comparison across domains (referenced by Figure 2).
Table 6: Exact percentages underlying the memory design comparison across domains (referenced by Figure 2).
Memory design across domains. Blue (left) bars show authorized use and orange (right) bars show unauthorized submission for the four memory conditions in each domain.
Figure 2: Memory design across domains. Blue (left) bars show authorized use and orange (right) bars show unauthorized submission for the four memory conditions in each domain.
Safety–utility Pareto frontier on the exact shared population. Moving left means fewer unauthorized submissions; moving up means more authorized use.
Figure 3: Safety–utility Pareto frontier on the exact shared population. Moving left means fewer unauthorized submissions; moving up means more authorized use.
Writer-side inference scaling in procurement. Five writers generate nested candidate pools while GPT-OSS-120B remains the fixed executor.
Figure 4: Writer-side inference scaling in procurement. Five writers generate nested candidate pools while GPT-OSS-120B remains the fixed executor.
查看结构化数据
任务指标本文基线提升
类型化增量记忆授权保真(金融域) 越权提交率 / 形成率 P(F) 51.0% / 50.2% 同写入器 one-shot 条件显著更低;校准执行器在忠实记忆控制下为 0% 首次量化出该失败模式,无既有基线可比
来源权威门控缓解(三域共享三种子群体) 越权提交率 7.3% 类型化增量基线 25.3% 降低 18.0 个百分点(95% CI 14.9–21.1),代价是授权使用 93.3%→53.8%
有界事件溯源缓解(三域共享三种子群体) 越权提交率 9.0% 类型化增量基线 25.3% 降低 16.3 个百分点(95% CI 12.2–20.4),授权使用保持 64.7%,高于门控
精确状态修复(oracle 记忆替换干预) 越权执行率 三域全部 0%(0/68、0/60、0/80) 自然错误记忆下 97.1%、100.0%、98.8% 完全消除,证明记忆形成是瓶颈而非执行器对齐
写入器候选池推理扩展(采购域) 越权提交率 / 授权使用 k=8 时 8.6% / 95.8%(DeepSeek 独立评审 7.6% / 97.2%) k=1 时 13.2% / 94.2% 降低 4.6 个百分点,但选择瓶颈仍在:精确记忆选出率仅 26.7%

局限与改进

作者承认的限制:基准虽自然主义但比真实职场沟通更有结构——显式会话块、异常清晰的授权事件、模拟终端工具,结果不能估计部署系统中的真实发生率;确定性形成测量只适用于类型化记忆,自由文本需要经过验证的语义标注才能做同等分析;两项分析(Table 4 逐写入器比较和压力干预)只跑了单个固定种子,压力对授权使用的冲击还集中在一个执行器(GPT-OSS 降 21–41 点)上;缓解措施各有前提——门控假设有权授权的主体已知,事件溯源改变整体记忆架构;跨域差异可能反映任务构造与模型行为而非行业属性(网络安全域偏低与模型对安全任务过度保守的证据一致)。我自己的观察:所有写入器都绑定在 LangMem 单一实现上,结论对其他记忆框架的迁移性未知;每域仅 8–16 例、三个种子只支持描述性复制而非精确分布估计(作者也如此声明);模拟终端与真实 IAM 系统的差距未量化讨论。

独立分析的弱点

第一,自由文本记忆缺形成测量:$A_M$ 无法确定性定义,等于基准对部署中最常见的记忆形态只能测下游行为,改进方向是为自由文本开发经过验证的授权语义抽取器,或把类型化记录作为影子标注共同评估。第二,单框架依赖:全部写入器绑定 LangMem 画像管理器,其合并与淘汰策略本身可能就是洗白来源之一(覆盖旧约束的倾向),应至少再加一个记忆框架交叉验证「洗白是记忆维护范式固有」这一隐含主张。第三,缓解的实用性代价沉重:门控把授权使用砍掉 39.5 个百分点、事件溯源丢 28.6 个点,作者只给出离散三点前沿,未探索折中配置——如只对高风险域或高金额动作启用门控、按动作敏感度分级拦截——这是明显的工程改进空间。第四,压力干预显示紧急情境下系统双向失败(金融越权从 20.9% 升至 27.3% 的同时授权使用大跌 15–27 点),但两个缓解都只针对写入侧,执行器侧的鲁棒性(如压力下的记忆审计、权限置信度校准)完全空白。第五,网络安全域越权率仅 10.4% 且作者归因于模型保守性,说明「安全」与「过度拒批」在该域相互纠缠,基准未能把两者干净分开,域间可比性存疑。

未来方向

作者指出的方向:记忆架构应保存来源与授权生命周期,并在更新持久化之前验证变更;对从业者的立即启示是把持久记忆当作安全边界的一部分,像管理 IAM 条目一样管理存储的权限(来源、生命周期、审计纪律)。可以延伸的方向:把有界事件溯源与来源门控组合成混合防御,或把确定性检查从写入时过滤改成执行器调用工具前的运行时拦截;用经过验证的语义标注把形成测量扩展到自由文本记忆;在真实企业系统(而非模拟终端)中复制基准以估计真实发生率;研究执行器侧恢复——本文证明换模型无用,但若执行器要求每个存储权限附可验证引用,可能部分闭环;写入侧通用 LLM 评审失败(自修复率 0%)提示应训练专门的验证模型替代之;最后,紧急语境压力把金融越权从 20.9% 推到 27.3%,这种效应在真实运维事件中几乎必然出现,压力鲁棒性值得单独的基准与防御线。

复现评估

复现条件相当好。开源情况:基准、评测代码和相关工件全部开源(论文给出 github.com/tommasocerruti/eal-bench),运行清单记录模型路由、参数、软件版本、记忆谱系与归一化结果,每个重放都能链回产生它的确切记忆和模型可见输入,三种子实验的原始工件与精确上下文全部保留,提供方失败也显式记录。算力门槛极低:全部推理总花费约 836 美元(Baseten 赞助开源权重模型,闭源模型由作者自付),7 个模型按固定版本与路由调用,温度 1.0、4096 输出上限。难度主要在工程而非算力:需搭建 LangMem 记忆管线、确定性账本与重放基础设施,以及 5 写入器 × 2 执行器 × 4 记忆条件 × 3 种子的网格(每格 128–256 对请求)。由于确定性打分不依赖任何 LLM 裁判,核心结论的复现一致性有保障;主要风险是闭源模型 API 版本与定价随时间漂移。

相似论文推荐