论文提出持久计费状态概念,揭示工具调用 LLM Agent 的拒绝钱包攻击与防御
Persistent Billable State: Denial-of-Wallet Attacks and Defenses in Tool-Calling LLM Agents
论文把已准入工具返回在后续计费上下文中的留存定义为 persistent billable state,并用 DOW-BENCH 与主机侧 D1–D4 度量与约束其重复计费。
攻击者只需控制受害智能体在普通工作流中已可调用的恶意或被攻陷远程工具端点(含 MCP server)的返回内容;无需受害者凭证、文件系统或内网访问、本地运行时权限、隐藏提示词访问、模型控制或提供商控制。
- 多步工具调用智能体把外部工具返回带入后续模型输入后,提供商会再次计费。已准入的恶意或被攻陷工具可把不可信数据变成反复向受害者计费的处理,而不需要受害者凭证或本地权限。
- 作者将主机是否以及如何让外部返回进入后续计费上下文定义为 persistent billable-state boundary,给出 V0–V5 六类 DoW 向量,并用 DOW-BENCH 做端到端测量;防御在再次送入模型前用确定性历史变换加 D1–D4 四条主机不变量约束提示词体量、上下文增长、递归机会和累计花费。
- 243 次执行中最大 CAF 为 14,293×;51/69 个有标价攻击会话超过 $0.10,最大暴露 $3.404,良性最大 $0.025。保留原始历史使均值有效会话成本增加 21.2–35.9%;压缩在依赖历史的任务上成功 10/12 与 11/12,删除为每家提供商 2/12。123 次回放均被内核拦住;Mistral Small 4 上 progress-authorized 策略 22/24 成功且无完成前中断,固定上限为 13/24。3,830 个公开 MCP 仓库中仅 71 个有代码可见 safeguard proxy,且没有仓库覆盖全部四类。
- 作者在 Discussion 中称固定阈值不能单独定义安全预算,且未评估攻击者可自适应选择返回以停留在守卫之下的在线对抗。实验覆盖六类向量、六模型族的 CAF、两家提供商的历史策略、Mistral Small 4 上的 D4 迁移,以及 3,830 个仓库的代码可见代理扫描。
- 威胁模型
- 攻击者只需控制受害智能体在普通工作流中已可调用的恶意或被攻陷远程工具端点(含 MCP server)的返回内容;无需受害者凭证、文件系统或内网访问、本地运行时权限、隐藏提示词访问、模型控制或提供商控制。目标是让返回内容进入后续计费上下文并扩大受害者会话成本。
- 被测模型
- GPT-4oGPT-4o-miniMistral-LargeLlama-3.3-70BNemotron-120BQwen-3-235BMistral Small 4
- 基准
- DOW-BENCH3,830 public MCP server and transport repositories
- 指标
- CAFlisted-price exposure Cteffective session costoracle-verified task successITT success
中科院信息工程研究所等机构的研究者提出持久计费状态概念,指工具调用 LLM Agent 的运行时把外部工具返回内容带入后续模型输入后,提供方会对其重复计费,被接纳的恶意或被攻陷工具因此可在没有受害者凭证和本地运行时权限的情况下,把不可信数据转化为持续由受害者付费的处理。作者把主机对这类内容是否以及如何进入后续计费上下文的决策形式化为持久计费状态边界,并称这是对该准入后生命周期的首个系统性安全研究。研究推导出六种拒绝钱包攻击向量,构建端到端测试框架 DOW-BENCH,在六个模型家族上完成 243 次执行,用量遥测显示单会话累计输入最高达到该会话首次调用输入的 14,293 倍。
深度解读
这篇论文试图解决什么问题?
已准入工具返回若被反复送入后续计费上下文,会形成受害者付费的持续状态。
已准入远程工具的返回一旦被主机保留并再次送入后续模型调用,就会反复向受害者计费,而现有工作没有把这一准入后的经济生命周期单独当作安全对象。
- 场景:多步工具调用 LLM 智能体依赖主机运行时跨轮保留状态。作者称,当运行时把外部工具返回带入后续模型输入时,提供商会再次计量;一个已准入的恶意或被攻陷工具就能把不可信数据变成反复计费的处理,而不需要受害者凭证或本地运行时权限。MCP 把工具交换标准化,但仍由主机保留足够上下文供后续调用解释结果。
- 现有不足:作者称,先前工作已覆盖提示注入、不安全工具使用、恶意技能、递归工具链、推理循环和授权计算劫持,但没有隔离主机侧经济生命周期本身:远程工具被准入之后,谁授权其返回作为未来由提供商计费的状态继续存在,以及何种证据应让该状态再获得一次计算或花费。
- 核心观察:作者把跨轮存活并产生重复处理成本的工具生成内容称为 persistent billable state,并把主机关于外部返回是否以及如何进入后续计费上下文的决定形式化为 persistent billable-state boundary。在完全保留且返回体量稳定时,作者称即使 2–10 token 的触发也能启动递归再计费,累计输入按 O(N²) 增长。
- 威胁模型:
- 目标:让返回内容进入未来计费上下文并扩大受害者侧会话成本;在有会话预算时耗尽已授权花费并中断任务,没有预算时则推动成本持续增长。攻击不依赖私有受害者数据。
- 知识与能力:攻击者只需控制受害智能体在普通工作流中已经可以调用的恶意或被攻陷远程工具端点(包括 MCP server)所返回的内容。不需要受害者凭证、文件系统或内网访问、本地运行时权限、隐藏提示词访问、模型控制或提供商控制。
- 受害系统:工具调用 LLM 智能体及其主机运行时。工具被调用之后,攻击完全通过返回内容与准入后生命周期进行。
- 边界:作者称该生命周期是架构性的,并非 MCP 或某一提供商特有;只要工具调用运行时把外部提供的工具状态重新引入后续计费模型调用,它就存在。
- 论文提出:六类拒绝钱包(Denial-of-Wallet, DoW)攻击向量、端到端评测框架 DOW-BENCH,以及在再次送入模型之前执行的确定性历史变换加四条主机侧不变量(D1–D4)。
有哪些相关研究?
相关工作覆盖经济拒绝服务、智能体资源放大、工具安全与成本治理,作者把保留的工具状态当作主机拥有的安全对象。
经济拒绝服务与 LLM 成本滥用
- Kelly et al. [19]:在无服务器计算中把 Denial-of-Wallet 形式化为按量付费服务上的被迫财务耗尽。论文沿用这一经济拒绝服务类比,用于工具调用智能体上由受害者付费的机制。
- Beyond Max Tokens [50]、Overthinking [22]、Clawdrain [9]、ThinkTrap [23]:分别报告多轮工具链中相对良性执行最高 658× 的输出 token 放大、循环 MCP 工具结构最高 142× 的 token 放大、类生产部署中木马化技能的 6–7× token 放大(高代价失败配置约 9×,并把工具输出的持续污染作为输入成本来源),以及黑盒商业 API 上的长输出与自托管部署中的吞吐下降。作者称 Clawdrain 已表明保留历史会带来成本增长,本文则把主机的保留决定本身当作安全对象。
- AgentDoS [25]、From Shield to Target [51]、LeechHijack [49]:AgentDoS 用有向灰盒模糊测试在 16/20 个开源智能体中发现 36 个耗尽资源的漏洞;From Shield to Target 追踪经文档、工具输出、智能体消息和共享内存送达的载荷,讨论 token、延迟和基础设施放大;LeechHijack 研究 MCP 工具通过操纵合法调用的返回注入未授权工作,并评估原任务准确率与执行后上下文记忆审计。作者称这些工作覆盖更广的资源生命周期,本文的控制点是已准入远程工具返回在重新进入由提供商计费的上下文之前。
LLM 智能体安全与工具使用安全
- 提示注入与不安全工具 [7, 10, 24, 42, 47, 36]:研究间接与直接提示注入以及不安全工具动作。作者称提示注入框架形式化的是攻击者诱导的任务重定向,而 DoW 不要求目标任务改变:返回可以符合模式、对任务看似合理并遵守内容策略,同时获得反复花费的权限。
- 恶意技能、长程攻击与跨应用传播 [1, 18, 38, 6, 13, 52]:研究恶意技能文件、更长视野或多步攻击,以及跨智能体或相连 GenAI 应用的传播。
- 防御与 MCP Security Bench [4, 32, 40, 43, 3, 48]:包括抗提示注入的设计与指南、风险管理框架、安全分析与缓解方向、主动网络防御。MCP Security Bench 发现更强的工具使用能力可以与更低的协议攻击鲁棒性同时出现。作者称语义防御与计费状态治理是互补的。
成本优化与对抗性 token 经济学
- 路由、压缩与记忆 [5, 8, 31, 17, 44]:良性成本优化使用路由、级联和混合调度;提示词压缩降低上下文成本;智能体记忆系统跨交互选择、摘要或检索任务状态。作者称 DoW 给确定性历史变换一个安全角色:限制哪些不可信状态可以存活。
- 资源治理 [21, 46]:形式化多维合约、记录预算超支,并分配不可绕过的预算所有权。作者把该权限放在再次送入模型之前。
基线与基准:测量上的比较对象是同一框架中的良性会话,以及 Full、Drop、Compress 三种历史策略;防御上的比较对象是 strict/moderate/relaxed 预设与固定花费上限。评测环境是作者构建的 DOW-BENCH,外加 3,830 个公开 MCP server 与 transport 仓库扫描。论文未把上述引用工作当作同一表格中的数值基线。
作者把本文定位为:先前工作测量资源放大、研究语义妥协或约束总预算,但没有同时把保留的工具状态当作主机拥有的安全对象、对其保留进行干预,并在再次送入前执行同一边界同时保持任务效用。
论文如何解决这个问题?
用六类 DoW 向量测量准入后计费,再以压缩加 D1–D4 在再次送入前治理保留状态。
整体思路是把主机在再次送入模型之前的决定当作控制点:先用六类向量系统化攻击面,再用 DOW-BENCH 把保留本身与花费分开测量,最后用确定性历史变换和 D1–D4 内核约束哪些状态可以再次成为计费上下文。
问题设定与形式化
- 生命周期:Figure 1 中,普通任务调用已经准入的恶意或被攻陷远程工具;模式有效的返回 Ri 越过主机的 pre-reingestion 边界,留在后续模型输入中,并在每次复用时累计由提供商计量的成本。宽度为示意,省略非工具增长。
- 累计输入:忽略非工具提示词增长时,第 n 轮提示词包含 Pinit 与此前各次返回的 token 体量之和。返回体量稳定为 Tavg 时,N 次调用的累计输入为 N·Pinit + N(N−1)/2 · Tavg。对观测轨迹且 i≥2,Δpi = pi − pi−1 表示完整提示词增量,并在常数返回基线上近似 Ti−1。
- 指标:式 (1) 定义输入 token 成本放大因子 CAFtok(后文 CAF)为各轮输入 token 数 pi 之和除以第一次完整模型调用的输入 p1。式 (2) 的 Ct 把各轮输入与输出按提供商牌价折成美元暴露。历史策略实验另报考虑缓存的有效会话成本,对未缓存输入、缓存输入和输出分别使用同一牌价表。
攻击面与六类向量
- 三条观察:上下文可以在客户端重建,也可以由提供商管理的对话状态保留;工具返回被呈现为有用任务上下文,但模式符合并不构成经济上界;工具选择由局部任务状态驱动,会话级花费、累计 token 增长和预算则属于主机。
- 两个轴:放大杠杆分为增大输入历史 pi、引出昂贵输出 oi、增加递归轮次与工具机会 N;载荷控制策略分为固定、无反馈地改变或分布表示、以及按时间表或观测反馈改变。Table 1 用这两轴放置六个向量。
- V0–V5:V0 为常数返回体量的直接递归基线;V1 跨轮改变表示与大小;V2 把循环分布到多个工具;V3 早期返回小且看似良性,工作流建立后再增大载荷;V4 把压力从输入历史转到诱导冗长模型输出;V5 把会话当作黑盒反馈通道,在估计阈值以下保留安全边际再增大返回。Table 1 中若干杠杆与策略的组合未实例化。
- 实例化:端点只暴露普通、任务上看似合理的模式,攻击者控制限于语法有效的结果字段。V0 与 V2 使用配置在 400 到 1,000 token 之间的内容块并带后续请求;V1 跨轮改变表示与长度;V3 在孵化期后升级;V4 引出冗长生成;V5 按继续执行的反馈调整载荷大小。2–10 token 的触发开启新会话。控制器记录轮次、累计提示词体量和智能体是否继续;无状态向量不读继续反馈,按时间表或反馈自适应的向量可以据此调整下一次返回。
历史策略与防御内核
- 三种策略:Full 保留此前每一次原始工具返回;Drop 保留当前返回的原文,把更早的不可信返回换成来源墓碑;Compress 用主机生成的确定性事实摘要替换,不再另调模型。persistent-return 任务重复累计任务事实并加入不透明状态;matched-necessary 任务每步暴露一条任务所需的不同记录。各策略独立执行,不继承其他策略的动作轨迹。
- D1–D4:Figure 6 把它们放在下一次提供商调用之前,不需要提供商私有钩子。D1 用每会话/每轮信封限制绝对提示词 token 体量,strict/moderate/relaxed 预设为 20K/8K、50K/20K、200K/100K。D2 监测相邻提示词增长 Δpt = pt − pt−1;式 (3) 在绝对增量超过 τabs,或相对首轮的比例超过 θr 且增量超过 τmin 时触发。三档预设的 τabs 为 5/10/50K,θr 为 2/3/10,τmin 始终为 2K。D3 限制连续工具轮次、每轮调用数和总调用数,三档分别为 3/5/10、2/3/5、10/15/30。D4 在累计标价暴露 Ct 超过 $0.05/$0.10/$0.50 时停止后续调用,不回溯封顶触发轮的花费。
- 固定上限与进度授权:固定上限作为可审计的遏制基线;growth-gated 递归控制与主机验证的进度预算决定合法工作流何时可以再获得机会或花费。D4 的 progress-authorized 策略与固定上限在同一 Mistral 对上对比。
评测与生态扫描如何判定
- 会话:一次会话是一次有界的智能体/模型 API 执行。DOW-BENCH 注册攻击端点、发送触发,并在每一轮记录输入 token、输出 token、工具调用和终止。每次运行从独立的模型 API 状态开始,历史只在会话内保留。
- 防御回放:对 41 条循环多轮攻击轨迹做冻结、零调用回放,泄漏计入触发轮;某一闸门触发后不再发出后续提供商调用。良性工作点用五份完整 210 场景语料、共 1,050 个提供商–场景单元检查。
- 仓库扫描:在 3,830 个至少含一个合格源文件的公开 MCP server 与 transport 仓库中,用词法模式映射到 D1 token/上下文限制、D2 速率/窗口控制、D3 迭代/轮次/工具调用限制、D4 成本/花费预算,并加家族特定路径与上下文过滤。每个仓库每个家族最多记一个代码可见 safeguard proxy。
论文做了哪些实验?
243 次执行最大 CAF 为 14,293×;压缩保留多数历史依赖任务,D1–D4 拦住全部 123 次回放。
实验设置
- 被测模型:核心六族为 GPT-4o、GPT-4o-mini、Mistral-Large、Llama-3.3-70B、Nemotron-120B、Qwen-3-235B;部署清单覆盖 11 个序列化模型标识,归一成家族标签。历史策略重跑在 Groq 与 Mistral 两家提供商上进行。D4 迁移使用 Mistral Small 4。
- 规模:核心切片 243 次执行、1,533 轮,每个主向量与良性单元格 n≥5。标价论文队列另加 13 次,共 256 次;其中 78 次有非零牌价(69 次攻击、9 次良性)。平衡六族分析使用每族都有的 V0/V1/V3/V5;依赖能力的 V2/V4 进入六向量标价与防御分析。
- 历史策略:12 个留出任务、persistent-return 与 matched-necessary 两类返回、三种策略、两家提供商,计划 144 个会话,143 个成本完整。
- 防御:41 条循环多轮攻击 × 三种预设,共 123 次冻结回放;良性工作点为五份 210 场景语料(n=1,050);长工作流为 20 个设计 × 三次运行共 60 次;现场集成 25 次 live-inline 加 30 个 Mistral/MCP 会话;D4 为 24 个任务 × 两种独立执行的策略。
- 指标与检验:CAF 为累计输入相对第一次完整输入;Ct 为牌价暴露。六个 V5 对良性的比较为探索性双侧 Mann–Whitney U,Holm 校正,并报告 rank-biserial 相关。任务成功为 oracle 验证;matched-necessary 报告计划内的 intention-to-treat,未完成计为不成功。
- 生态扫描:3,830 个合格公开仓库;60 行分层人工裁定,另探测 80 个被分为零代理的仓库。
主结果
Table 3 只统计有正牌价的子集;Figure 3 的 CAF 分布覆盖 206 次执行。
表格较宽,可左右滑动
队列 有标价/总数 均值 (USD) 中位数 最大 >$0.10 Benign 9/35 $0.014 $0.014 $0.025 0/9 V0 Direct 16/54 $1.434 $1.293 $3.404 14/16 V1 Poly. 14/42 $1.182 $1.074 $2.994 12/14 V2 Cross 3/18 $0.475 $0.359 $1.066 2/3 V3 Stealth 19/48 $0.526 $0.582 $0.715 17/19 V4 Weapon. 3/19 $0.290 $0.062 $0.808 1/3 V5 Adaptive 14/40 $0.342 $0.083 $1.368 5/14 All attacks 69/221 $0.820 $0.715 $3.404 51/69 - 作者称:攻击暴露达到 $3.404 与 14,293× CAF,51/69 个有标价攻击会话越过 $0.10;每个攻击向量至少有一次会话高于良性最大值 $0.025。六个家族上 V5 对良性的对比在 Holm 校正后仍显著(p=0.0155–0.0317),rank-biserial 为 0.78–1.00。
- 变异:V1 在 Llama-3.3-70B 上 CAF 的变异系数为 3.08(n=11)。作者称观测到的运行终止变异太大,不能当作确定性的主机熔断器。
- Llama-3.3-70B:全部九次 V0 Direct 在两轮内结束,单元格均值 CAF 为 22.6×;V3 Stealth 与 V5 Adaptive 达到 385.7× 与 117.0×。作者称在该部署上,能保住执行的策略实现了更多递归暴露。
轮次存活与历史保留
- 关联:24 个完整家族–向量单元格上,CAF 与平均轮次的 Spearman ρ=0.79(95% CI [0.56, 0.89]),与工具调用的 ρ=0.81。111 个匹配的 V0/V3 前缀上,交叉拟合的高、低放大组下游 CAF 增益之差的均值为 1,989,轨迹聚类 bootstrap 95% CI 为 683–3,908(bootstrap p≤0.002)。把 44 条有逐轮提示词记录的恶意轨迹离线截到两至四轮后,全局排序的高/低 CAF 比从 4.06× 降到 1.49–1.51×。
- 成本:persistent-return 任务上,Full 比 Drop、Compress 的均值有效成本在 Mistral 上高 35.9% 与 30.0%,在 Groq 上高 22.3% 与 21.2%(Figure 5,每组 12 个计划配对)。
- 效用:matched-necessary 任务上,Full 与 Compress 在每家提供商至少 10/12 成功;Figure 5 标注 Groq 的 Compress 为 11/12、Mistral 的 Compress 为 10/12,Drop 在两家均为 2/12。作者称压缩保留了删除所丢掉的大部分任务效用。
防御回放、效用与生态扫描
- 遏制:41 条轨迹 × 三档预设共 123 次回放全部被终止;闸门触发后不再发出后续提供商调用。去掉 D2 后,V0/V1/V4/V5 的首次触发从第 2 轮推迟到第 4–6 轮,V3 从第 3 轮推迟到第 5 轮,这五个向量的泄漏上升 4.2–14.7×,V2 不变。去掉 D1、D3 或 D4 时,五条由 D2 主导的序列首次触发不变。种子膨胀构造把 Δp 保持为 9,999 且 Δp/p1<3,在第 3 轮越过 D1 的每轮限制,该轮也越过 D4 的 $0.10;有序内核先报 D1,触发轮计入泄漏时为 $0.103,禁用 D1 后由 D4 在同一轮、同一泄漏处拦截。
- 迁移:24 个 Mistral Small 4 工作流上,progress-authorized D4 得到 22/24 次 oracle 验证成功且没有完成前中断,固定 $0.10 上限为 13/24。
- 仓库:Figure 14 中,3,759/3,830(98.1%)未检出代理,71/3,830(1.9%)至少有一个;这 71 个里 67 个(94.4%)只匹配一个家族,4 个(5.6%)匹配两或三个,0 个匹配全部四个。60 行分层裁定确认全部 20 个抽中的阳性行和全部 20 个含代码的零代理行;对 80 个零代理仓库的探测找出 3 个类似 D2 的候选,人工判定均为通用节奏/速率控制,零代理分类不变。
其他消融与分析
- Figure 13:V0、V1、V3、V5 的执行数 n=50/36/46/39;图中文字给出 V3 的 mean CAF 1,256×、mean turns 8.15、1/CV 1.44,V5 为 832×、7.18、1.36。作者称没有向量在三个面板上都领先。
- 良性最大标价 $0.025,且 0/9 越过 $0.10;攻击侧 V4 的中位数 $0.062,> $0.10 仅为 1/3,V5 为 5/14,低于 V0 的 14/16 与 V3 的 17/19。
- 标价统计排除没有正牌价的执行:攻击总数 221 中只有 69 次进入美元汇总,V2 与 V4 的有标价样本各为 3。
- 长工作流设计语料为 60 次提供商–场景执行(20 个设计 × 三次运行),用于比较固定与 growth-gated 递归策略的效用;论文正文给出的定量对比是上述 22/24 对 13/24。
- 现场集成为 25 次 live-inline 加 30 个 Mistral/MCP 会话,Table 2 称其用于确认内核放在下一次提供商调用之前。
- 良性工作点使用五份完整 210 场景语料(n=1,050 个提供商–场景单元),Table 2 称其用于确定 moderate D2 的假阳性工作点;正文未给出该假阳性的具体比例。
有什么可以进一步探索的点?
作者称固定阈值不能单独定义安全预算,且未评估可停在守卫之下的在线自适应返回。
作者指出的局限与后续方向
- 固定阈值:作者在 Discussion 中称,固定阈值不能单独定义安全预算;合法长工作流仍可能需要额外的进度授权花费,攻击也可以把增长分散到多轮。(Discussion)
- 在线自适应:作者称尚未评估攻击者可以自适应选择返回、从而停留在守卫条件之下的在线对抗设置。(Discussion / Limitations)
- 部署形态:作者称该生命周期在客户端重建历史和提供商管理对话状态两种设计中都存在,但强制点仍是主机在再次送入之前的决定;提供商私有钩子不是该内核的前提。(Discussion)
- 生态测量的对象:扫描度量的是代码中可见的 safeguard proxy,作者用分层人工裁定和零代理探测支持分类,并不把仓库计数写成运行时已经部署的防御覆盖率。(Ecosystem scan)
- 语义防御互补:作者称 DoW 不要求改变目标任务,语义防御与计费状态治理是互补的,而不是互相替代。(Related Work、Conclusion)
- 后续治理:作者计划把 pre-reingestion 作为主机拥有的控制点继续用于约束重复计费,同时用确定性压缩保留任务相关状态。(Conclusion)
实验覆盖范围
- 攻击测量:核心 CAF 分布来自六个模型族、V0/V1/V3/V5 与良性对照共 206 次执行;全部六个向量的牌价暴露来自 256 次队列中 69 个攻击会话与 9 个良性会话(Table 3、Figure 2、Figure 3)。
- 机制干预:Full、Drop、Compress 在 Groq 与 Mistral 上对 12 个留出任务独立重跑,计划 144 个会话、143 个成本完整;效用分母为每家提供商 12 个 matched-necessary 任务(Figure 5)。
- 防御:冻结回放为 41 条循环多轮攻击 × 三档预设共 123 次,全部被终止;闸门消融与低于 D2 增长条件的构造用于分开看 D1 与 D4。效用迁移是 Mistral Small 4 上 24 个工作流、两种 D4 策略。
- 统计:六个家族的 V5 对良性比较使用双侧 Mann–Whitney U、Holm 校正和 rank-biserial;论文报告了这些对比的 p 值范围 0.0155–0.0317。
- 生态:扫描分母为 3,830 个至少含一个合格源文件的公开 MCP server 与 transport 仓库;人工部分为 60 行分层样本,另加 80 个零代理仓库探测。论文未报告防御回放与人工判定之间的一致性系数。
总结一下论文的主要内容
已准入工具返回的跨轮保留会重复计费;压缩加 D1–D4 在再次送入前约束它,并尽量保住任务连续性。
这篇工作把工具调用智能体里跨轮保留、并被提供商反复计费的外部工具返回定义为 persistent billable state,并把它的主机侧再次送入决定当作控制点。
- 问题:多步智能体必须保留工具结果才能继续,但一次被准入的恶意或被攻陷远程工具可以让模式有效、任务上看似合理的返回进入后续每一次模型调用。攻击者不需要受害者凭证或本地权限,目标是扩大受害者会话成本或耗尽已授权花费。
- 做法:作者给出 V0–V5,分别作用于保留的输入体量、生成输出和递归机会,并用 DOW-BENCH 以 CAF 和牌价暴露 Ct 测量。Full、Drop、Compress 的独立重跑把“保留原文”与成本、任务成功分开。防御在下一次提供商调用前执行 D1 token 预算、D2 增长监测、D3 递归机会上限和 D4 花费熔断,压缩则用确定性事实摘要代替原始返回体量。
- 结果:243 次执行中最大单会话 CAF 为 14,293×;69 个有标价攻击会话最大暴露 $3.404,51/69 超过 $0.10,良性最大为 $0.025。保留原始历史使均值有效成本比删除或压缩高 21.2–35.9%;依赖历史的任务上压缩成功 10/12 与 11/12,删除为每家提供商 2/12。123 次攻击回放均被内核终止。Mistral Small 4 的 24 个工作流中,progress-authorized D4 为 22/24 且无完成前中断,固定 $0.10 上限为 13/24。
- 生态与结论:3,830 个公开 MCP 仓库中 71 个含有代码可见 safeguard proxy,没有仓库覆盖全部四个家族。作者认为 persistent billable state 应作为一类安全对象,而 pre-reingestion 是主机拥有的强制点;固定上限可以审计地遏制花费,但进度授权更能在长工作流上保留完成机会。