Skip to content

Translation in progress Some entries still include text in the original language.

论文追踪· arXiv:2609.22818· Pritom Bhowmik·Indexed by this site · Originally published

研究测量 LLM Agent 记忆投毒防御的良性场景开销

The Price of Safety: Benign-Case Utility and Token Overhead of Memory-Poisoning Defenses in LLM Agents

Quick read

Evaluation and benchmarks

Based on 论文 PDF (AI 生成); refer to the original

良性LoCoMo上,写时记忆防御的效用差区间含零;读时reranker使核心准确率降4.4点。

Threat model攻击者把文本插入对话,该文本成为记忆,日后被检索并当作事实。

Questions
记忆投毒防御几乎在每轮写入和读取时运行,收益却只在少数攻击中出现。现有评测报告攻击成功率后即止,缺少良性流量上的效用和token代价。
Methods
固定记忆后端、作答模型和评审,只更换防御。在截断到150轮的良性LoCoMo上,比较写时清洗、来源核验、LLM异常检测、读时reranker及四者堆叠,各重复三次。
Experiments and results
三种写时防御的核心准确率变化,95%区间含零。读时reranker降4.4点(CI [-9.0,-0.05],p=0.064),误隔离33.6%,token开销2.7%。堆叠的准确率区间含零,平均FQR为0.303。
Limitations and future work
作者称分辨率约±4.5个百分点,看不出一两点代价;未更换骨干,也未测行动时拦截。校准取自自身运行。论文未报告攻击成功率,结果节也未给出对抗题配对效用差。
Experimental setupLoCoMo · paired core-accuracy delta、token overhead ratio et al.
Threat model
攻击者把文本插入对话,该文本成为记忆,日后被检索并当作事实。测量不覆盖攻击本身,只在无注入的良性对话上估计防御代价。干预点为Write、Read、Act。实验实现写时清洗、来源信任权重和LLM异常检测,以及读时重排序隔离;行动时未测。
Benchmarks
LoCoMo
Metrics
paired core-accuracy deltatoken overhead ratioFQR
AI summary研究者搭建统一测量装置,在记忆后端、检索流程和评判模型保持一致的前提下,只改变防御本身,评估 LLM Agent 记忆投毒防御在完全良性流量下的效用损失与 token 开销。测试覆盖三种写入时防御(输入清洗、来源检查、基于 LLM 的异常检测)和一种读取时防御(重排序),每种条件在五段对话上重复三次,以区分真实效应与流水线噪声。写入时防御未显示出可分辨的效用损失,95% 置信区间约为正负 4.5 个百分点并包含零。重排序器则使核心准确率下降 4.4 个百分点(95% CI [-9.0,-0.05],bootstrap;McNemar p=0.064),该结果可复现但处于测量分辨率边缘;在无攻击对话中,它隔离了 33.6% 的合法记忆条目,单段对话最多出现 106 次误隔离,token 开销为 2.7%。研究认为,决定防御良性场景代价的是它拦截流水线的位置,而非是否使用 LLM。

研究者搭建统一测量装置,在记忆后端、检索流程和评判模型保持一致的前提下,只改变防御本身,评估 LLM Agent 记忆投毒防御在完全良性流量下的效用损失与 token 开销。测试覆盖三种写入时防御(输入清洗、来源检查、基于 LLM 的异常检测)和一种读取时防御(重排序),每种条件在五段对话上重复三次,以区分真实效应与流水线噪声。写入时防御未显示出可分辨的效用损失,95% 置信区间约为正负 4.5 个百分点并包含零。重排序器则使核心准确率下降 4.4 个百分点(95% CI [-9.0,-0.05],bootstrap;McNemar p=0.064),该结果可复现但处于测量分辨率边缘;在无攻击对话中,它隔离了 33.6% 的合法记忆条目,单段对话最多出现 106 次误隔离,token 开销为 2.7%。研究认为,决定防御良性场景代价的是它拦截流水线的位置,而非是否使用 LLM。

Paper analysis

6 questions; open one to read the full answer

  1. What problem does this paper attempt to solve?

    良性流量上,记忆防御的代价更取决于拦截位置,而不是是否调用LLM。

    记忆投毒防御几乎在每次交互上运行,但现有评测只报攻击成功率,不测良性流量上的效用和token代价。

    • 部署场景:作者称LLM智能体的流量几乎都不是攻击,防御却在几乎每轮写入、以及其后几乎每轮读取时运行;收益只在很小比例的情形出现。没有日常流量上的数字,就无法判断能挡住多数攻击、却损伤普通交互的防御是否值得部署。
    • 评测缺口:作者称常见做法是构造攻击、报告攻击成功率下降后即止。系统侧文献则在准确率、延迟和token成本上评测记忆架构,往往不叠加防御。作者认为两边都没错,但不相交。
    • 测量主张:在原则上无法兑现防御收益的良性对话上,只更换防御,对照同一无防御基线,测量效用、token和误隔离。作者称这是已知的首次在相同条件下、聚焦良性情形比较写时与读时防御;并称测量框架与代码随论文提供。
    • 威胁模型:
      • 攻击目标:把文本插入对话,使其成为记忆,日后被检索并当作事实。该测量不覆盖攻击本身,作者把攻击细节指向所引文献。
      • 可控输入:论文写明的能力是插入对话文本,使该文本可能被写入记忆。未再写攻击者能否看到权重或检索分数。
      • 受害系统:持久记忆智能体。逐轮抽取应记住的内容写入向量库;提问时检索top匹配,加入上下文后作答。
      • 防御落点:干预点为Write、Read、Act。实验实现三种写时防御、一种读时reranker,以及四者堆叠;行动时拦截没有实现。
  2. What related research exists?

    相关工作覆盖记忆投毒、分阶段防御,以及只报攻击成功率的评测缺口。

    作者按记忆投毒、分阶段防御,以及攻击成功率评测与系统基准之间的缺口来组织相关工作。实验对照是无防御管线,数据是LoCoMo。

    记忆如何被投毒

    • 持久落点:Dong等(2025)与Srivastava、He(2025)的MemoryGraft讨论持久记忆:一次会话写入的内容可在之后重现,攻击不必留在单次交互里。
    • 相似度而非可信度:作者在引用Chen等(2024)的AgentPoison与Zou等(2025)的PoisonedRAG时写到,检索比较的是相似度,没有把伪造记忆和合法记忆分开的标准。
    • 阶段与信任边界:Chu(2026)与Zhang等(2025)的Agent Security Bench把表面写到写入、检索和行动;Dash等(2026)与Debenedetti等(2025)讨论不可信文本何时进入智能体记录。

    按阶段提出的防御

    • 写时:作者把Sunil等(2026)与Zhou等(2025)的TrustRAG归入写入前清洗;Sharma(2026)的SMSR附加来源并按来源可信度加权;Gowda(2026)的MEMSAD在提交前做异常筛查,有时用LLM。
    • 读时:Xiang等(2024)不改存储,按信任或一致性信号重排检索候选,再放入上下文。
    • 行动时与组合:Wei等(2025)的A-MemGuard在记忆影响决策前过滤;Beurer-Kellner等(2025)讨论组合多个阶段,而不是只靠一层。

    评测没有交汇

    • 攻击成功率:作者把“构造攻击、看防御是否阻止、报告攻击成功率下降”系于A-MemGuard一文所代表的评测,并称这是自然的第一步,领域在这一步上已经做得相当好,但没测没有攻击时防御做了什么。
    • 记忆系统基准:作者称另一侧在准确率、延迟和token成本上评测记忆架构,引用包括Mem0(Chhikara等, 2025)、LongMemEval(Wu等, 2025)、AgentMemBench(Cherif, 2026)以及Wolff与Bennati(2026),并称往往不考虑叠在上面的防御。

    基线与定位

    • 基线方法:无防御条件。记忆后端、检索配置、作答模型和评审与各防御相同,作者把差异归于防御本身。
    • 基准:LoCoMo(Maharana等, 2024),长程多会话对话及问答;实验用其中五段对话。

    作者称两条路线都没错,只是不相交;该测量要的是防御没在抓攻击时付出的代价。

  3. How does the paper address this problem?

    固定后端与评审,只换防御,在良性对话上测效用差、token开销和误隔离。

    作者把四种记忆投毒防御和它们的堆叠放进同一条记忆管线,只更换防御,在无攻击对话上估计良性代价。核心量是配对的良性效用差、token开销比和误隔离率。

    管线位置

    • 三处拦截:对话逐轮进行。抽取决定记住什么并写入向量库;提问时检索,把top匹配加入上下文再生成。作者把干预点称为Write、Read、Act,并认为位置比具体机制更重要。
    • 攻击不在测量内:作者关注的威胁是插入对话的文本变成记忆、日后被检索并当作事实。攻击本身不在该分析范围内。行动时拦截只出现在威胁模型里,实验没有实现。

    四种防御与堆叠

    • Sanitization:对候选记忆做词法扫描,匹配注入里常见的模式就在存储前丢弃或改写;不调用模型。论文没有列出具体模式。
    • Provenance:给记忆标来源和信任等级;不可信或含糊来源降低信任权重,权重存成元数据。论文把它标为写时,同时写明存储和检索时都会检查该权重。
    • Anomaly detection:每条候选交给LLM,检查是否与正在进行的对话一致;不一致则隔离、不写入。调用模型与抽取、作答相同,为gemini-3.1-flash-lite。
    • Reranker:不改库。先按相似度取top候选,再相对查询和其他已检索记忆做检查;匹配差或互相矛盾的条目隔离,不进入上下文。作者强调两点:写时每条记忆只判一次且判决终局,reranker会在对话中反复重判,先收下的后来仍可被拒;检索时看到的是脱离来源轮次的短字符串,上下文少于写时。
    • Stacked:按清洗、来源、异常检测、重排序依次包裹。作者称每一层包的是下一层防御,不是直接包住记忆库,reranker因此到不了底层库;初跑在每道题上失败,改为沿包装链访问存储后才跑通。附录D记录了这一失败。

    隔离、归因与数据

    • 只改变防御:记忆后端、嵌入模型、候选数和相似度阈值、作答模型、问题集、评审和上下文格式保持不变。候选数和阈值的数值论文未给出。每格使用独立记忆命名空间,避免一次隔离改变下一次可读的库。temperature为0。
    • token分开记:请求经本地代理,header标明用途:记忆抽取、问答、评审或具名防御。开销比是防御组件token除以智能体原本会花的token。作者不用墙钟作主指标,因为供应商限速退避会拉长耗时;不用美元作主指标,因为标价会变。
    • 对话与过滤:LoCoMo五段对话各截到150轮。证据若落在截掉的轮次,任何条件都答不出,所以先按保留轮次去掉这些题,且对所有条件用同一过滤器。作者称过滤前准确率大约25%,主要反映被截掉的证据。保留题数见Table 4与附录A。
    • 评审:评审来自与作答模型不同的供应商,全程冻结。核心题在实验前用24条手工标签校准,κ=0.909。对抗性弃答题问的是应否拒绝作答,不走事实对错这条路,单独计分。

    重复、定义与区间

    • 非确定性:temperature为0时,相同输入的记忆条数仍会变。每条件、每段对话跑3次。五种防御加无防御,共90格,顺序执行、共用后端但命名空间隔离。对每题做多数表决:三次里严格超过半数判对,才记为对。
    • 配对:作者称对话间变异大约比要测的效应大一个数量级,因此不比组均值。同一对话、同一题与无防御基线作差。对话等权,避免长对话主导。核心题集和对抗题集分开计算。
    • 定义:对话等权的良性效用差为 Δd=1/(|C|)∑c∈ CΔd,c。作者将负值定义为防御在无攻击流量上破坏了效用;Delta_d,c是该对话上逐题正确性之差的均值。误隔离率为 FQRd=1/(|C||R|)∑c,rnquard,c,r/nseend,c,r。语料没有注入记忆,每次隔离按定义都是假阳性。FQR读的是防御自己的判决,不经过下游检索和生成。
    • 不确定性:主证据是分层bootstrap,B=10^4,在对话内有放回抽题,取2.5与97.5百分位。另有只看不一致题对的精确McNemar,以及以对话为单元的符号翻转置换。五段对话只有32种符号赋值,最小双侧p为0.0625,任何效应都到不了0.05。作者因此把bootstrap当主证据,置换p只作保守界。作者称区间大约跨±4.5个百分点;更小的效应与噪声分不开。
  4. What experiments did the paper conduct?

    写时防御的效用差区间含零;读时reranker降4.4点,误隔离33.6%。

    实验设置

    • 模型:抽取、作答和异常检测均为gemini-3.1-flash-lite(Google);检索嵌入text-embedding-3-small(OpenAI);评审claude-haiku-4-5-20251001(Anthropic)。temperature为0。向量库存于本地,每格独立命名空间。
    • 条件与数据:无防御、Sanitize、Provenance、Anomaly、Rerank、四者Stacked。LoCoMo五段对话各截断150轮。Table 4在证据对齐后保留:conv-26为75/86,conv-30为51/51,conv-41为32/32,conv-42为42/42,conv-43为55/55。每条件3次重复,共90格、每条件15次运行。
    • 协议:先逐轮写入并在对应阶段启用防御,再回答该对话保留下来的问题,由冻结评审打分。非基线条件与同一对话、同一题上的无防御基线配对。问题分为核心集与对抗弃答集;Table 3报的是核心准确率。
    • 指标:核心准确率的配对变化(百分点)、防御token占框架基线token的开销比、FQR。主区间为分层bootstrap 95% CI,B=10^4。对话等权。
    • 评审校准:核心题实验前24条手工标签,κ=0.909(附录B)。弃答检测最初用正则,相对58条盲标一致率86.2%、κ=0.663;改为可泛化的否定与拒绝模式后,与这58条全部一致,κ=1.000(Table 1)。原分数保留、未覆盖。
    • 论文未写明:检索候选数、相似度阈值;核心题与对抗题的题数拆分;结果节里对抗题配对效用差的汇总。作者称曾因90格费用放弃更强的Gemini变体,论文未给出该变体名称。

    主结果

    Swipe horizontally to read the table

    防御阶段效用差(百分点,95% CI)token开销FQR
    No defense———0.000
    Sanitizewrite+1.8 [−1.7, +5.6]0.0%0.000
    Provenancewrite+1.9 [−2.2, +6.0]0.0%0.000
    Anomalywrite+3.1 [−0.9, +7.1]1.2%0.000
    Rerankread−4.4 [−9.0, −0.05]2.7%0.336
    Stackedwrite+read−3.1 [−7.4, +1.0]4.1%0.303

    据Table 3,三次重复乘五段对话后的核心准确率配对变化。Rerank一行的McNemar p=0.064;论文未给其他条件的McNemar p。Figure 1画的是同一组配对差,条为分层bootstrap 95% CI;纯文本看不到条端。

    • 写时:三种写时防御的区间都含零。作者把略为正的点估计解释为抽样变异,而不是真实收益;基于LLM的异常检测与两种不调用模型的防御,在这一分辨率下同为零结果。
    • 读时:reranker的区间不含零,但上界紧贴零,McNemar略高于常用的0.05阈值。作者仍报告这一结果,理由是符号和大致幅度在三次独立重复中保持;并称单次运行不会给出同样的把握。
    • 堆叠:点估计的准确率损失小于单独的reranker,自身区间含零,且与reranker的区间重叠很大。摘要认为写时防御可能部分抵消reranker丢掉的内容。Section 7.4把两句分开:数据没有显示代价叠加的证据;不能据此说数据确立了保护性交互。

    误隔离

    • 测了什么:语料按构造不含注入记忆,因此每次隔离都是假阳性。FQR直接读防御判决,不像效用差那样经过下游检索和生成。
    • 结果:基线与三种写时防御的FQR为0。reranker隔离其裁决条目的33.6%(Table 3记为0.336)。摘要称单次对话最多106次误隔离;Table 5中Rerank、conv-43、seed 3的Quar.为106。Stacked平均FQR为0.303,但同表Stacked、conv-43、seed 3的Quar.为125,高于rerank任一格。
    • 作者解读:作者把FQR看得比准确率差更清楚。准确率差贴着统计边界;FQR是计数,没有配成与效用差同类的区间。作者称,在无攻击流量上丢掉大约三分之一被裁决的合法记忆,本身就是代价;同一事实若有冗余记忆支撑,准确率可以盖住这种无提示的记忆丢失。

    token开销与图示

    • 机制而非阶段:作者称token开销跟着机制走。清洗和来源核验不调用模型;异常检测虽在写时,但每条候选都要送入LLM;reranker按题而不是按记忆运行,开销更高。作者称堆叠开销接近各部分之和,这是结果里代价相加、准确率却不相加的一处。Table 3分项为0.0%、0.0%、1.2%、2.7%,堆叠为4.1%。
    • Figure 3:横轴为token开销,纵轴为准确率变化。作者称写时防御靠近原点,读时reranker单独落在高代价、高开销象限。纯文本看不到点的坐标,数值以Table 3为准。
    • Figure 2:各条件的FQR。图注写明语料无注入记忆,隔离按设计都是假阳性。纯文本看不到柱高。

    其他消融与分析

    • 弃答路径:原检测器相对58条盲标一致率86.2%、κ=0.663;校正后κ=1.000(Table 1)。作者称主要测量错误发生在这条单独计分路径,而不是核心事实题评审(Section 4.4);引言里一次表观防御效应经检查是计分假象。
    • 证据对齐前准确率大约25%(Section 4.3);对齐后题数见Table 4。
    • 抽取若无显式输出token上限,大约只得到预期记忆的四分之一,管线不报错(Section 6.1、附录D)。
    • 过期价格条目使报告成本偏差到五倍,按用途记账后才发现(Section 4.2)。
    • Table 5:temperature为0时记忆条数仍随seed变化;无防御conv-26三次Mem.为309、292、316。Rerank conv-42 seed 3的nq为41,同对话另两次为42。
    • 符号翻转的最小双侧p为0.0625(Section 5.6)。论文未报告各条件的置换p,也未在结果节汇总对抗题的配对效用差;Table 5有各格Adv.列。
  5. What are some points that can be further explored?

    作者称分辨率看不到一两点代价,未测行动时,换骨干后是否仍成立并不确定。

    作者指出的局限与后续方向

    • 分辨率:五段对话、三次重复给出大约±4.5个百分点的bootstrap区间。作者称这能在reranker代价大到贴近区间边缘时看到它,但不能识别任何情况下一到两个点的真实代价。写时零结果应理解为该分辨率下未观察到效应,而不是没有效应(Section 9)。
    • 骨干:抽取、作答和唯一的LLM防御都用gemini-3.1-flash-lite。作者称这使防御成为唯一变量,但换一个指令遵循行为不同、或对检索时短上下文敏感度不同的骨干后,写时与读时的差距是否仍在,并不确定(Section 9)。
    • 校准同源:核心准确率评审相对手工标签κ=0.909;对抗弃答检测器相对58条手工标签κ=1.000。两次校准都取自作者自己的运行,而不是独立构建的基准。作者称这是常见做法,但校准与评测仍同源(Section 9)。
    • 行动时未测:威胁模型有三个干预点,实验只测了两个。作者称没有行动时拦截的证据,无法把它的良性代价与写时、读时结果比较(Section 9)。
    • 开销比的适用范围:token开销比在实验定价期内保持稳定,但该比隐含的美元成本随API价格变化。作者称这个比假设了特定模型,换骨干需要重算(Section 9)。
    • 机制未分开:作者称尚未确定代价分裂来自反复重判,还是读时检查的其他方面(Section 8)。关于堆叠,作者称数据支持“写时防御减少reranker要判的材料”这一可能解释,但实验只改变了哪些防御开启,没有控制顺序或具体交互,因而没有确证(Section 8)。

    实验覆盖范围

    • 六个条件为无防御、Sanitize、Provenance、Anomaly、Rerank、Stacked;骨干gemini-3.1-flash-lite同时做抽取、作答和异常检测,嵌入为text-embedding-3-small,评审为claude-haiku-4-5-20251001(Table 2、Section 6)。
    • 数据为LoCoMo的conv-26、conv-30、conv-41、conv-42、conv-43,各截断150轮;证据对齐后题数为75、51、32、42、55(Table 4)。每条件3次重复,共90格,temperature为0。
    • 主结果指标为核心准确率配对差、token开销比和FQR;不确定性为分层bootstrap(B=10^4)、精确McNemar和符号翻转置换(Section 5、Table 3)。
    • 防御实现覆盖写时词法清洗、来源元数据和LLM异常检测,以及读时重排序。论文写明行动时拦截未实现(Section 3、Section 9)。流量为无注入的良性对话,论文未报告攻击成功率。
    • 核心评审在实验前用24条手工题校准;弃答检测器用58条盲标校准(Section 4、Table 1、附录B)。论文未报告检索候选数和相似度阈值,也未在结果节给出对抗题配对效用差的汇总。
  6. Summarize the main content of the paper

    写时代价落在噪声内;读时reranker有临界准确率损失和约三分之一误隔离。

    在没有攻击的对话上,给记忆投毒防御计价,而不是再测一轮攻击是否被挡住。

    • 问题:防御几乎每轮写入、其后几乎每轮读取都要运行,收益却只在很小比例的情形出现。作者认为只报攻击成功率,看不到普通交互被损伤的程度。
    • 测法:记忆后端、检索、作答模型gemini-3.1-flash-lite和评审claude-haiku-4-5-20251001保持不变,只换防御。LoCoMo五段对话截到150轮并做证据对齐;每条件三次重复、多数表决,用来分开temperature为0时仍然存在的运行差异。
    • 对照:写时是词法清洗、来源信任权重和LLM异常检测;读时是检索后重排序并隔离;另有四者按此顺序堆叠。每一题都与同一无防御基线配对。
    • 数字:三种写时防御的核心准确率配对差,95%区间都含零(Table 3)。Rerank为−4.4点(95% CI [−9.0, −0.05],McNemar p=0.064),token开销2.7%,无攻击流量上FQR为33.6%,单次对话最多106次误隔离。堆叠为−3.1点且区间含零,token开销4.1%,平均FQR 0.303;Table 5里仍有一格隔离计数为125。
    • 作者的收束:拦截发生在管线哪一层,比防御是否调用语言模型,更能对应良性代价;只报攻击成功率的评测看不到这个区别。摘要认为写时防御可能抵消reranker的丢弃;Section 7.4只承认没有看到代价叠加,不把保护性交互当成已经确立。大约±4.5个百分点以内的代价,这套五段对话的设计分辨不了。
Read originalarxiv.org