跳到正文
原文
arXiv· arXiv:2608.27800· Yuqi Jia·本站收录· 原文发表

ContextLeak:通过恶意工具窃取 LLM Agent 运行时上下文

ContextLeak: Exfiltrating LLM Agent Context via Malicious Tools

论文速读

攻击

据论文 PDF 整理(AI 生成),以原文为准

ContextLeak 用强化学习微调攻击 LLM,生成恶意工具的名称与描述,诱导智能体选中该工具并把运行时上下文作为参数传入。

威胁模型攻击者在工具平台发布恶意工具 M,目标是让目标智能体选中 M(selection goal)并把运行时上下文 C 作为输入参数(argument goal)。

问题
恶意工具要外泄 LLM 智能体的运行时上下文,须同时满足被选中、把上下文作为参数传入、再由工具实现传出。已有工作主要覆盖选择与传出,很少控制智能体传入哪些参数。
方法
ContextLeak 用攻击 LLM 生成恶意工具的名称与描述,并以 DAPO 在影子用户上微调。奖励同时鼓励工具被选中和参数接近影子上下文;策略缓冲从历史候选中抽取模式,引导后续候选生成。
实验与结果
在 ToolBench 的 in-dataset-in-domain 受害者上,ContextLeak 的用户提示词 MTSR 为 0.92、EDS 为 0.99;对话历史 MTSR 为 0.89;工具列表 F1 为 0.68(Table 1),高于文中改编的基线。换后端 LLM、换领域或数据集时作者仍报告有效;StruQ、SecAlign 降低 MTSR 的同时降低良性工具效用。
局限与可以继续做的
作者称奖励依赖词级编辑距离、工具名字符串匹配,且只评测单轮工具选择;并计划扩展到执行轨迹、记忆与知识库。实验用 Qwen-3-8B 作攻击 LLM,在 800 个影子用户上微调,默认受害者来自 ToolBench 十个领域共 200 人。
实验设置Qwen-3-8B、GPT-OSS-20B 等 · ToolBench、ToolAlpaca · MTSR、EDS 等
威胁模型
攻击者在工具平台发布恶意工具 M,目标是让目标智能体选中 M(selection goal)并把运行时上下文 C 作为输入参数(argument goal)。攻击者知道智能体及其工具协议,不必知道后端 LLM,不能直接访问运行时上下文;可黑盒部署同款智能体实例,用影子用户观察选择与参数。
被测模型
Qwen-3-8BGPT-OSS-20BGemma-4-E4B-itQwen-3.5-9BGPT-4.1GPT-5-miniGPT-5.1Llama-3-8B-InstructStruQSecAlignMeta-SecAlign
基准
ToolBenchToolAlpaca
指标
MTSREDSESPrecisionRecallF1CTSRIAQTPRFPR
AI 导读研究者提出 ContextLeak,一种通过恶意工具窃取 LLM Agent 运行时上下文的攻击,目标是让 Agent 既选中该工具、又把上下文作为输入参数传给工具。作者指出,上下文外泄通常需要三个条件:Agent 选中恶意工具、Agent 将运行时上下文作为参数传入、工具实现把输入发送到攻击者控制的端点;已有工作主要关注第一和第三个条件,第二个条件此前基本未被探索。ContextLeak 用强化学习精心构造工具的名称和描述,由一个攻击 LLM 自动生成这些内容,并在具有多样化模拟 Agent 上下文的影子用户上对攻击 LLM 做强化学习微调,其关键技术贡献是针对上下文外泄目标设计的奖励函数。

研究者提出 ContextLeak,一种通过恶意工具窃取 LLM Agent 运行时上下文的攻击,目标是让 Agent 既选中该工具、又把上下文作为输入参数传给工具。作者指出,上下文外泄通常需要三个条件:Agent 选中恶意工具、Agent 将运行时上下文作为参数传入、工具实现把输入发送到攻击者控制的端点;已有工作主要关注第一和第三个条件,第二个条件此前基本未被探索。ContextLeak 用强化学习精心构造工具的名称和描述,由一个攻击 LLM 自动生成这些内容,并在具有多样化模拟 Agent 上下文的影子用户上对攻击 LLM 做强化学习微调,其关键技术贡献是针对上下文外泄目标设计的奖励函数。

深度解读

6个问题,点开问题读完整回答

  1. 这篇论文试图解决什么问题?

    现有恶意工具攻击很少诱导智能体把运行时上下文作为参数传入,ContextLeak 针对这一缺口。

    恶意工具如何同时让智能体选中它,并把运行时上下文作为输入参数传入,从而外泄该上下文。

    • 场景:作者称,处理用户任务时,LLM 智能体维护运行时上下文,可含用户提示词、对话历史和已安装工具列表;这些信息可能涉及健康、财务、人际关系或工作机密,工具列表还可能暴露兴趣、职业或组织归属。攻击者可在 MCP.so、Skillsmp 等平台发布恶意工具,用户误安装后,外泄需同时满足三点:(1)智能体选中该工具,(2)把运行时上下文作为输入参数传入,(3)工具实现把这些输入传到攻击者控制的端点。
    • 现有方法不足:作者称,已有工作主要针对条件(1)和(3)。精心设计名称与描述的攻击能提高被选中概率,但不控制传入什么数据;即便同时朝(1)(2)扩展,实验中仍不够。只生成恶意代码的攻击可传出收到的参数,但工具不能直接读运行时上下文,除非这些信息被显式作为参数传入。任务特定上下文(当前提示词、对话历史)因此难以外泄。
    • 核心观察:名称与描述可以把工具写成工作流中必要或默认的组件,并把“正确执行”与输入参数中包含特定信息建立依赖,从而同时推动选择目标与参数目标。作者还称,未经专门训练的 LLM 直接生成名称与描述往往次优。
    • 本文提出:作者称 ContextLeak 是首个有策略地设计恶意工具名称与描述、以同时诱导选择和传入上下文的攻击。攻击 LLM 生成名称与描述,并在多样化影子用户上用强化学习微调;核心是面向上下文外泄的奖励函数,以及从历史候选中抽取策略来引导候选生成。恶意代码沿用已有技术。
    • 威胁模型:
      • 目标:外泄目标智能体在某次任务上的运行时上下文 C(如用户提示词、对话历史、已安装工具列表)。用户误安装 M 后,要同时达到 selection goal(选中 M)和 argument goal(把 C 作为输入参数的一部分传入)。名称与描述应在不同用户提示词和良性工具集合上都能生效。
      • 知识:攻击者知道受害者使用哪个目标智能体及其支持的工具协议(如 MCP servers 或 Skills),不必知道具体后端 LLM,也不能直接访问运行时上下文,因而不知道用户提示词、对话历史或已安装的良性工具。
      • 能力:可部署目标智能体实例并以 black-box 方式交互,不需要智能体或后端 LLM 的内部结构与参数(开源时这些信息可能可得)。可构造影子用户及其上下文 C′(来自公开基准或由 LLM 生成),观察 M 是否被选中以及传入了什么参数。
      • 受害系统:受害者使用的 LLM 智能体;攻击面是用户安装到工具列表中的恶意工具 M。本文只设计名称与描述,代码实现使用已有技术。
  2. 有哪些相关研究?

    相关工作分为运行时上下文与工具选择、上下文外泄攻击,以及检测、选择鲁棒性和文件访问控制三类防御。

    论文把相关工作分成运行时上下文、外泄攻击和防御三组,并在实验中把若干提示注入、越狱和恶意工具攻击改编为基线。

    运行时上下文与工具选择

    • 任务特定与跨任务上下文:作者引用的工作把运行时上下文分为两类。任务特定上下文限于当前会话,可含当前用户提示词、进行中的对话历史,以及记录中间推理与先前动作(如工具调用)的执行轨迹。跨任务上下文跨任务保留,可含记忆模块、知识库文档和用户安装的工具列表,通常存在外部文件或数据库中,执行时再取回。
    • 工具选择:后端 LLM 以运行时上下文为输入,决定是否调用工具、调用哪一个、传入什么参数;选中后执行,并把响应写回执行轨迹。

    上下文外泄攻击

    • 名称与描述诱导选择:作者称,先前研究用提示注入设计恶意工具的名称与描述,以提高任务执行时被选中的概率;恶意行为也可直接写入代码实现。二者结合可外泄存在文件或数据库中的跨任务上下文(记忆、知识库、工具列表),前提是工具继承智能体的文件系统权限。
    • 对任务特定上下文的限制:作者称,这类攻击难以外泄当前用户提示词和对话历史,因为工具通常不能直接访问运行时上下文,而已有攻击不控制智能体向被选工具传入什么数据。ContextLeak 的定位是:名称与描述不仅诱导选择,还引导把运行时上下文作为参数传入。

    防御

    • 检测恶意工具:文本检测分析名称与描述中的注入提示词等模式;作者称它们通常依赖显式恶意指令或可疑语义线索,而 ContextLeak 不依赖这类显式指令。代码检测用静态或动态程序分析,可借助通用恶意软件检测以及面向 LLM 智能体的扫描器;作者称近期工作已显示,这类防御对只在智能体环境执行时触发的行为仍不够。
    • 阻止选中与文件访问控制:一种做法是微调后端 LLM,降低其选中含可疑或对抗性名称与描述的工具的概率;作者称,为提高鲁棒性而微调的 LLM 在良性工具选择上效用常常下降。另一类做法是不授予工具访问存储跨任务上下文的文件或数据库的权限,或只在运行时短暂解密;作者称这可缓解依赖本地文件访问的跨任务外泄,但不能阻止 ContextLeak,实验中以工具列表为例,无需直接访问本地文件即可外泄。

    基线方法与基准

    • 基线:实验改编两类通用提示注入(Combined Attack、ObliInjection)、两类越狱(PAIR、TAP),以及四类恶意工具攻击(JudgeDeceiver、ToolHijacker、AMA、ToolTweak)。作者称后四者原本优化名称与描述以诱导选择,并不控制输入参数;JudgeDeceiver 与 ObliInjection 假设对后端 LLM 有 white-box 访问。防御侧比较预防式微调(StruQ、SecAlign、Meta-SecAlign,对照 Llama-3-8B-Instruct)和基于名称与描述的检测(DeBERTa、Prompt-Guard、Llama-Guard-3-8B)。
    • 基准:影子用户与默认受害者来自 ToolBench;跨数据集受害者来自 ToolAlpaca。

    作者把本文与这些工作的区别放在条件(2):已有攻击主要覆盖选择或代码传出,ContextLeak 用面向选择与参数两个目标的奖励,经强化学习生成名称与描述。

  3. 论文如何解决这个问题?

    攻击 LLM 在影子用户上用 DAPO 微调,奖励同时覆盖选中工具和参数贴近上下文,并用三类策略缓冲引导候选。

    ContextLeak 用攻击 LLM 生成语义上可读的恶意工具名称与描述,再在影子用户上用强化学习微调,使目标智能体既选中该工具,又把上下文放进输入参数。恶意代码本身沿用已有实现。

    问题设定

    • 形式化目标:运行时上下文记为 C,其中含用户已安装工具的名称与描述,包括恶意工具 M。目标是设计 M,使智能体在给定 C 时选中 M,并把 C 的某种表示作为输入参数的一部分。本文只设计名称与描述。
    • 两个子目标:selection goal 是选中 M;argument goal 是把 C 传入参数。生成结果应在不同用户提示词和良性工具集合上成立。
    • 影子用户:每个影子用户有上下文 C′,可含用户提示词、对话历史,以及良性工具与 M 的名称和描述。攻击者把 C′ 交给自己部署的智能体实例,观察是否选中 M 以及传入什么参数。

    攻击 LLM 的系统提示词

    • 选择主导:为选择目标,提示词把工具框定为工作流中必要或默认的组件,例如预处理层或统一接口,以提高其在不同 C 上被优先考虑的可能。完整系统提示词在附录 Figure 5。
    • 参数目标:名称与描述建立“正确执行”与参数中包含特定信息之间的依赖。作者称,这不是显式要求智能体提供上下文,而是把该信息写成正确性、一致性或可靠性所必需,从而隐式诱导其被包含。

    面向上下文外泄的奖励

    • 评测一次影子查询:每轮微调,攻击 LLM 在系统提示词和策略引导下生成 N 个候选。对每个候选 M′,从影子用户集 Ds 中随机抽一个影子用户及其 C′,把 M′ 追加进去得到 C′+M′,交给攻击者部署的目标智能体。输出为 (S, A):S∈{0,1} 表示是否选中,A 为选中时的输入参数。
    • 选择奖励与参数奖励:选择奖励就是 S。在 S=1 时,用词级 Levenshtein 距离定义相似度 rsim(C′, A) = 1 − Lev(C′, A) / max(|C′|, |A|)。作者称选用编辑距离而不是嵌入相似度,是因为外泄需要更严格的精确恢复。长度项为 rlen(C′, A) = exp(−α · |C′|−|A| / max(|A|, 1)),小的长度差惩罚轻、大的偏差惩罚重。参数奖励为 Rarg = (1−λ) rsim + λ rlen。
    • 合并奖励:S=1 时 R = 1 + Rarg,否则 R = 0。前面的 1 保证只要选中就有奖励,Rarg 再推动完整、准确的外泄。工具列表场景不用该式,而把 Rarg 定义为真实工具名出现在输入参数中的比例。算法为 DAPO,实验中用 LoRA 微调。

    策略引导的候选生成

    • 三类策略:一条策略含名称、简短定义和一段工具描述示例。Tool Failure 对应选择与参数目标都未达成;Low Exfiltration 对应已选中但参数未充分覆盖上下文;Full Success 对应两个目标都达成。区分后两类的规则是 Rarg < τ 为 Low Exfiltration,Rarg ≥ τ 为 Full Success。
    • 抽取与缓冲:每轮按该候选在用于奖励评测的影子用户上的结果分类,再用策略抽取 LLM 生成策略名称与定义,候选描述本身作为示例。三类使用不同提示词(附录 Figure 6):失败类找应避免的模式,低外泄类指出参数生成中缺失的部分,成功类抽取有效模式。每类一个缓冲,满则 FIFO。
    • 检索:为避免候选趋同,每轮取 Full Success 两条、Low Exfiltration 一条、Tool Failure 一条,并在对应缓冲中均匀随机抽样,再写入系统提示词。

    微调之后的使用

    微调完成后,仍用同一套系统提示词和策略检索生成名称与描述,再放到受害者上下文上评测。受害者上下文可以与影子用户相差很大,后端 LLM 也可以与微调时不同。

  4. 论文做了哪些实验?

    默认设置下 ContextLeak 的用户提示词 MTSR 为 0.92、EDS 为 0.99,并在换模型、换领域和两种防御上做了评测。

    实验设置

    • 上下文类型:用户提示词、对话历史(任务特定)和工具列表(跨任务的一个实例)。影子用户来自 ToolBench 的十个领域(Email、Financial、Food、Health and Fitness、Medical、Movies、Music、Sports、Travel、Weather),共 800 个,各领域均分。每个影子用户保留原提示词,工具列表在该领域真实工具上补充到 3–5 个良性工具并随机排序;对话历史由 GPT-4o 合成三轮,与提示词语义相关且不重叠。
    • 受害者:与影子用户不共享提示词、对话历史或工具列表。in-dataset-in-domain 为默认设置,ToolBench 同十个领域、各 20 个,共 200 个;in-dataset-out-domain 为 ToolBench 的 Commerce、Entertainment、Location、News Media、Social,共 100 个;out-dataset-in-domain 为 ToolAlpaca 的 Email、Financial、Food、Music、Weather,共 100 个;out-dataset-out-domain 为 ToolAlpaca 的 Animals、Photography、Transportation、Video、Shopping,共 100 个。
    • 模型与微调:攻击 LLM、策略抽取 LLM,以及微调时攻击者所部署智能体的后端,均为 Qwen-3-8B。被测后端还有 GPT-OSS-20B、Gemma-4-E4B-it、Qwen-3.5-9B、GPT-4.1、GPT-5-mini、GPT-5.1。DAPO + LoRA(rank 8),300 轮,学习率 1×10⁻⁶,前 10 轮线性预热,每轮 N=512 个候选;λ=0.5,α=3.0,每类策略缓冲上限 20,τ=0.7。单张 NVIDIA H200,PyTorch。
    • 指标:MTSR 为受害者中选中 M 的比例,在全部受害者上计算。EDS、ES、Precision、Recall、F1 只在成功选中的受害者上计算。EDS 为 token 级归一化 Levenshtein 相似度;ES 用 all-MiniLM-L6-v2 的余弦相似度。工具列表先用 ToolBench 与 ToolAlpaca 的工具名词表做字符串匹配,再算 Precision、Recall 和 F1。
    • 基线:Combined Attack、ObliInjection、PAIR、TAP、JudgeDeceiver、ToolHijacker、AMA、ToolTweak,以及去掉策略引导的 ContextLeak-w/o-S。PAIR 最多 5 轮、每轮 3 个候选;TAP 分支因子 3、树宽 5、最大深度 10;AMA 吸引力阈值 0.9、奖励权重 λ=0.5;ToolTweak 每轮 10 个候选。公平比较时攻击 LLM 与评审 LLM 均为 Qwen-3-8B。Table 1 的平均对象是十个领域上的 in-dataset-in-domain 受害者;论文未报告重复次数。

    主结果

    Table 1 在 in-dataset-in-domain 受害者上比较三种上下文。下表只列 MTSR,以及各上下文的一个重建指标;用户提示词与对话历史的 ES、工具列表的 Precision 与 Recall 见原文 Table 1。

    表格较宽,可左右滑动

    方法提示词 MTSR提示词 EDS历史 MTSR历史 EDS工具列表 MTSR工具列表 F1
    Combined Attack0.140.840.150.570.110.45
    ObliInjection0.800.770.820.580.710.55
    PAIR0.200.840.100.340.050.26
    TAP0.200.700.170.580.100.30
    JudgeDeceiver0.650.750.620.590.510.65
    ToolHijacker0.850.740.830.540.690.37
    AMA0.340.200.270.070.300.06
    ToolTweak0.200.170.220.180.200.04
    ContextLeak-w/o-S0.880.990.800.830.820.66
    ContextLeak0.920.990.890.850.860.68
    • 作者对 ContextLeak 的解读:三种上下文上都能诱导选择并把上下文传入参数,尽管受害者上下文与影子用户不同。附录 Figure 4 中,在受害者上计算的 Rarg 随微调上升。ContextLeak 在全部上下文类型上高于 ContextLeak-w/o-S;后者已有较高 MTSR 与接近 1.0 的 EDS、ES。
    • 作者对基线的解读:Combined Attack 的 MTSR 最低,作者归因于启发式设计没有显式优化选择或传参。PAIR、TAP 的 MTSR 仍低,作者归因于单一评审分数无法区分“没选中”和“没传上下文”。AMA、ToolTweak 的 MTSR 为 0.20–0.34,EDS 为 0.07–0.20,工具列表 F1 为 0.04–0.06;作者称二者只优化吸引力或被选频率,没有传参目标。
    • 白盒与选择型基线:JudgeDeceiver、ObliInjection 的选择更强,但传参仍弱于 ContextLeak,例如工具列表 F1 为 0.55 对 0.68;作者还称二者需要 white-box 访问,且描述常缺乏语义连贯性。ToolHijacker 的 MTSR 较高,工具列表 F1 为 0.37,作者称它没有显式优化传参。作者称 ContextLeak 在全部指标和上下文类型上最好。

    跨后端 LLM 与跨领域、数据集

    • 换后端:攻击 LLM 在 Qwen-3-8B 后端上微调,再把生成的工具放到其他后端的受害者上(Table 2)。用户提示词 MTSR:GPT-OSS-20B 0.63、Gemma-4-E4B-it 0.71、Qwen-3.5-9B 0.82、GPT-4.1 0.60、GPT-5-mini 0.81、GPT-5.1 0.71;对应 EDS 为 0.94、0.99、1.00、0.98、0.91、0.95。工具列表 F1 为 0.80、0.80、0.87、0.91、0.92、0.89。作者称自然语言名称与描述不依赖脆弱的模型特定模式,因而可迁移;并认为更强、更新的模型可能因指令遵循和工具使用能力更强而更易受影响。
    • 换受害者分布(Table 3):用户提示词 MTSR 在 IDID、IDOD、ODID、ODOD 上为 0.92、0.82、0.87、0.83,EDS 为 0.99、1.00、0.99、0.98。对话历史 MTSR 为 0.89、0.82、0.90、0.74。工具列表 F1 为 0.68、0.57、0.84、0.89。作者称同数据集换领域时 MTSR 和工具列表提取略降;换数据集但领域相近时仍强;领域与数据集都变时,对话历史和工具列表相对 IDID 有中等下降,但攻击仍然有效。作者认为领域偏移的影响比数据集偏移更明显。
    • 分领域:附录 Table 6(a) 中,in-dataset-in-domain 的用户提示词 MTSR 从 Medical 的 0.85 到 Weather 的 1.00;工具列表 F1 从 Weather 的 0.52 到 Sports 的 0.80。Table 6(b) 中,out-domain 的 Social 用户提示词 MTSR 为 0.73,Entertainment 的工具列表 F1 为 0.45。

    对防御的评测

    • 预防式防御(Table 4):在 Llama-3-8B-Instruct、StruQ、SecAlign、Meta-SecAlign 上评测。良性效用用 CTSR(正确工具选择率)和 IAQ(GPT-4o 按附录 Figure 7 在 1–10 分上评参数质量)。CTSR / IAQ 分别为 0.18 / 3.55、0.15 / 2.83、0.17 / 2.57、0.17 / 3.30。用户提示词 MTSR 分别为 0.43、0.08、0.10、0.42;对话历史 MTSR 为 0.67、0.06、0.06、0.68;工具列表 MTSR 为 0.34、0.09、0.09、0.33,F1 为 0.44、0.10、0.27、0.49。作者称 StruQ 与 SecAlign 能压低 MTSR,但 CTSR 和 IAQ 也下降;Meta-SecAlign 的效用接近原模型,但 MTSR 仍与原模型接近。作者据此称现有预防式防御不足以对抗 ContextLeak,并存在安全与效用的权衡。
    • 检测式防御(Table 5):DeBERTa、Prompt-Guard、Llama-Guard-3-8B 把工具名称与描述分为恶意或良性。作者报告 ContextLeak 的工具在这些检测器上的真阳率低,而若干含显式注入语句的基线更容易被检出;同时这些检测器在良性工具上的假阳率也出现在表中。作者称 ContextLeak 不依赖显式恶意指令,因而文本检测不够。论文中的具体 TPR、FPR 数值在正文转写里与列对应关系不稳定,此处不逐格抄录。
    • 文件访问控制:作者在第 2.3 节称,以工具列表为例的实验显示,ContextLeak 外泄跨任务上下文不需要直接访问本地文件或数据库。正文没有单独给出该设置的另一张数值表。

    其他消融与分析

    • 提示词长度(Figure 3a):作者把 in-dataset-in-domain 受害者按提示词 token 长度分组,称各长度区间上 MTSR 与重建质量都保持高位,长度影响有限。图中轴文字可见,具体分组端点在转写中错位,不抄数。
    • 对话轮数(Figure 3b):作者称随着历史轮数增加,MTSR、EDS、ES 变化很小。横轴可见约 3 到 6 轮,具体点值未在正文逐点列出。
    • 良性工具数量(Figure 3c):作者称工具数量增加时性能逐渐下降,但工具很多时仍然相对较强。下降原因有三点:微调时影子用户只有 3–5 个良性工具,评测可到例如 10 个;竞争工具变多使 MTSR 下降;Recall 的分母随工具数变大。横轴可见约 3、5、7、10。
    • λ(Figure 3d):在对话历史上下文上改变奖励平衡权重 λ,横轴为 0、0.25、0.5、0.75、1。正文称做了敏感性分析;转写未给出各点的 MTSR、EDS、ES,不抄数。
    • 奖励曲线(附录 Figure 4):作者称受害者上的 Rarg 在三种上下文上随微调稳步上升。
    • 直接提示而不微调:第 4.1、4.3 节称,标准 LLM 直接按系统提示词生成的名称与描述是次优的,并称实验展示了这一点;Table 1 没有单独一行“未微调”的数字。
  5. 有什么可以进一步探索的点?

    作者指出奖励用编辑距离与字符串匹配、只测单轮选择,并计划扩展到执行轨迹、记忆和知识库。

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

    • 奖励度量(结论与讨论):作者称参数奖励依赖词级编辑距离,工具列表依赖工具名的字符串匹配;二者对改写、同义表述不敏感,可能低估语义上已经泄出的上下文。作者把设计更容忍表述变化的奖励列为后续方向。
    • 单轮工具选择(结论与讨论):实验评测的是一次工具选择决策,没有评测多步执行轨迹中后续轮次是否继续把上下文传入。作者计划把评测扩展到多步智能体轨迹。
    • 上下文类型(结论与讨论):当前外泄的是用户提示词、对话历史和工具列表。作者计划扩展到执行轨迹、记忆模块和知识库等其他运行时上下文。
    • 防御(引言与防御实验的讨论):作者称现有预防式与检测式防御不足以对抗 ContextLeak,因此需要新的防御机制。这是作者明确写出的后续需求。
    • 代码与数据:作者在文末以计划口吻写将发布实现与构造好的影子、受害者数据;按论文表述,这是计划而不是已经完成的发布。

    实验覆盖范围

    • 影子与受害者规模:影子用户 800 个,来自 ToolBench 十个领域;默认受害者 200 个(每领域 20 个)。另有三种迁移设置各 100 个受害者,分别对应 ToolBench 域外五个领域、ToolAlpaca 域内五个领域、ToolAlpaca 域外五个领域(第 5.1 节)。
    • 后端与攻击模型:微调时后端为 Qwen-3-8B;迁移评测的后端为 GPT-OSS-20B、Gemma-4-E4B-it、Qwen-3.5-9B、GPT-4.1、GPT-5-mini、GPT-5.1(Table 2)。攻击 LLM 与策略抽取 LLM 均为 Qwen-3-8B。对话历史由 GPT-4o 合成,IAQ 由 GPT-4o 按 Figure 7 打分。
    • 防御评测:预防式防御为 Llama-3-8B-Instruct、StruQ、SecAlign、Meta-SecAlign,指标含 CTSR、IAQ 与三种上下文上的攻击指标(Table 4)。检测式防御为 DeBERTa、Prompt-Guard、Llama-Guard-3-8B(Table 5)。论文未报告这些防御实验的自适应攻击变体。
    • 微调预算:DAPO 300 轮,每轮 512 个候选,每个候选随机使用 1 个影子用户计算奖励;λ=0.5,α=3.0,τ=0.7,每类策略缓冲上限 20(第 5.1 节)。论文未报告对受害者重复实验的次数。
    • 指标计算范围:MTSR 在该设置的全部受害者上计算;EDS、ES、Precision、Recall、F1 只在恶意工具被选中的受害者上平均(第 5.1 节)。
  6. 总结一下论文的主要内容

    ContextLeak 用带选择与参数奖励的强化学习生成恶意工具文案,在 ToolBench 默认受害者上用户提示词 MTSR 为 0.92。

    ContextLeak 是一种恶意工具攻击:通过名称与描述,让 LLM 智能体选中该工具,并把运行时上下文放进输入参数,再由已有的恶意实现把参数传到攻击者端点。

    • 问题:外泄需要被选中、把上下文作为参数传入、再由实现传出。已有恶意工具工作主要处理选择或代码传出,不控制智能体传入什么。攻击者把工具发到工具平台,以 black-box 方式使用自建的同款智能体和影子用户,不必知道受害者的后端 LLM 或真实上下文。
    • 方法:攻击 LLM(Qwen-3-8B)按系统提示词生成名称与描述,强调选择主导和“正确执行依赖于参数中的特定信息”。再用 DAPO 在 800 个 ToolBench 影子用户上微调。奖励在选中时为 1 加参数奖励;参数奖励混合词级编辑相似度与长度惩罚,工具列表则改为工具名覆盖比例。三类策略缓冲(失败、低外泄、完全成功)每轮抽 2+1+1 条,引导下一轮候选。
    • 主结果:in-dataset-in-domain 的 200 名受害者上,ContextLeak 的用户提示词 MTSR / EDS 为 0.92 / 0.99,对话历史为 0.89 / 0.85,工具列表 MTSR / F1 为 0.86 / 0.68(Table 1)。去掉策略引导后,对应 MTSR 为 0.88、0.80、0.82。改编后的 Combined Attack、PAIR、TAP、AMA、ToolTweak 的 MTSR 多为 0.05–0.34;ToolHijacker 的选择较高但工具列表 F1 为 0.37。
    • 迁移与防御:同一套工具放到 GPT-4.1 上时,用户提示词 MTSR 为 0.60、EDS 为 0.98(Table 2)。领域和数据集都变化时,对话历史 MTSR 为 0.74,工具列表 F1 为 0.89(Table 3)。StruQ、SecAlign 把用户提示词 MTSR 降到 0.08 和 0.10,同时 CTSR 为 0.15 和 0.17、IAQ 为 2.83 和 2.57;Meta-SecAlign 的用户提示词 MTSR 仍为 0.42(Table 4)。
    • 作者的结论:作者称该攻击在影子分布与受害者分布相差较大、后端 LLM 不同时仍然有效,并高于文中改编的基线;现有预防式与检测式防御不够,需要新的防御。作者同时指出奖励对改写不敏感,且评测停留在单轮选择。
阅读原文arxiv.org