跳到正文
原文
arXiv:Agent 与 MCP 安全· arXiv:2609.36576· Michael Lee·本站收录· 原文发表

AdaLCPI:让 Agent 从长上下文碎片中重建间接提示注入

Divide and Inject: Can Agents Reconstruct an Indirect Prompt Injection from Fragments?

论文速读

攻击

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

作者提出 AdaLCPI:把恶意目标拆成不完整片段并自适应优化,在 8k filler 下七模型宏平均 ASR 为 61.4%,高于 Trojan Hippo-style 的 32.8%。

威胁模型攻击者控制工具返回的外部内容(邮件、仓库或 Slack 消息),不能改用户任务、系统提示、模型权重、可用工具或其他环境。

问题
工具型智能体从长上下文拼接信息时,攻击者可能不必放入完整恶意指令,只把不完整片段散落在检索内容里,由智能体自行还原并执行。
方法
AdaLCPI 把攻击目标拆成两个不完整片段加一条重建提示,嵌入工具取回的长 filler,再用 OpenEvolve 根据分级分数和自然语言执行反馈迭代改写片段与提示。
实验与结果
8k filler 下七模型宏平均 ASR 为 61.4%,高于 Trojan Hippo-style 的 32.8% 与 AgentVigil 的 30.0%;消融称片段与长上下文合用时最强,分置不同工具输出时宏平均仍达 40.7%。
局限与可以继续做的
作者称结果不能说明该行为能推广到更多前沿模型或其他智能体架构,并计划在更广模型、更强防御及其他工具与检索设置上继续测。实验覆盖七个模型、三个环境,每模型每条件 81 对任务–目标。
实验设置GPT-4.1、GPT-5.1 等 · Email、GitHub 等 · ASR、Utility(benign task completion under attack)
威胁模型
攻击者控制工具返回的外部内容(邮件、仓库或 Slack 消息),不能改用户任务、系统提示、模型权重、可用工具或其他环境。优化时为 black-box:可反复执行并观察工具调用、参数与最终环境状态,看不到参数、梯度或隐藏激活。目标是在完成良性任务时诱发未授权动作。
被测模型
GPT-4.1GPT-5.1GPT-5.6-LunaQwen-3.6-27BMinistral-3-14BGemma-4-31BMuse-Glimmer-30B
基准
EmailGitHubSlack
指标
ASRUtility(benign task completion under attack)
AI 导读研究者提出自适应长上下文提示注入方法 AdaLCPI,把攻击目标拆成不完整碎片嵌入 Agent 工具检索到的外部内容,再用重建线索引导 Agent 将其组合,并借助 OpenEvolve 按评分和自然语言执行反馈迭代优化碎片与线索。

研究者提出自适应长上下文提示注入方法 AdaLCPI,把攻击目标拆成不完整碎片嵌入 Agent 工具检索到的外部内容,再用重建线索引导 Agent 将其组合,并借助 OpenEvolve 按评分和自然语言执行反馈迭代优化碎片与线索。

深度解读

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

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

    攻击者能否只靠长上下文里的不完整片段,让工具型智能体还原并执行恶意目标。

    工具型智能体是否会把分散在长上下文中的不完整片段拼成可执行的恶意指令,并通过工具采取未授权动作。

    • 场景:作者称,推理与长上下文检索能力让智能体先汇集外部内容再决定行动;工具取回的内容带来间接提示注入(indirect prompt injection)面。问题是:攻击者是否必须把完整恶意指令交给智能体。
    • 现有方法的不足:作者称 Liu et al. (2024b)、AgentVigil、RL 攻击者、针对防御的自适应攻击以及 Trojan Hippo 都在优化“恶意指令被显式给出”的攻击,没有问智能体是否必须收到完整指令。
    • 核心观察:作者援引 Fu et al. (2026),称有害请求可拆成不完整片段散落在长上下文中,模型可能拒绝直接陈述的同一请求,却执行拼出来的请求。作者认为工具型智能体上也可以把片段放进外部内容,由智能体还原后再用工具执行。
    • 本文提出:自适应长上下文提示注入(adaptive long-context prompt injection,AdaLCPI)。它把攻击目标拆成不完整片段,嵌入工具取回的外部内容,并加一条重建提示(reconstruction cue),再用 OpenEvolve 按分级评分和目标智能体的自然语言执行反馈迭代改写片段与提示。
    • 威胁模型:
      • 受害系统:使用固定工具集的智能体 A,接收可信的良性用户任务 u,通过工具与环境 E 交互;执行轨迹含工具返回与工具调用及参数,环境更新到终态。
      • 攻击者能力:控制注入载荷 p,将其放入智能体可能取回的外部内容(邮件、仓库内容或 Slack 消息);不能修改用户任务、系统提示、模型权重、可用工具或环境其余部分。
      • 优化时访问:作者称这是 black-box evaluation access。攻击者可反复执行候选载荷并观察轨迹与终态,看不到模型参数、梯度或隐藏激活;优化后的载荷放回同一类外部内容。
      • 目标与成功:在完成 u 的过程中诱发未授权动作。目标 g 的例子包括把受保护信息发给攻击者控制的接收方,或删除指定资源。成功由 Gg(τ, ET)=1 判定,依据工具调用、参数和最终环境状态;搜索中的中间进度分不计入成功。
  2. 有哪些相关研究?

    作者把 AdaLCPI 放在智能体间接注入、自适应攻击和长上下文片段攻击三条线上。

    智能体上的间接提示注入

    • Perez & Ribeiro (2022)、Greshake et al. (2023):提示注入用攻击者控制的文本把模型带离用户意图;间接提示注入把威胁扩到模型稍后读到的外部内容,不要求直接访问模型。
    • InjecAgent(Zhan et al., 2024)、AgentDojo(Debenedetti et al., 2024):前者在大量工具和攻击目标上评测该设定;后者提供动态环境,同时测间接提示注入下的效用与安全。作者称这些工作确立了本文的威胁模型:攻击者控制外部内容,不控制用户任务。

    自适应提示注入

    • Liu et al. (2024b)、AgentVigil(Wang et al., 2025)、RL-Hammer(Wen et al., 2025):梯度方法生成可跨输入迁移的通用提示注入;AgentVigil 用黑盒搜索迭代改写针对工具型智能体的间接注入;RL-Hammer 用强化学习训练攻击者模型。
    • Nasr et al. (2026)、Trojan Hippo(Das et al., 2026)、IterInject(Chen et al., 2026)、AgentLAB(Jiang et al., 2026):针对防御定制的攻击可以超过静态攻击套件;Trojan Hippo 用 OpenEvolve 优化针对智能体记忆的持久攻击;IterInject 用失败攻击的反馈改写间接注入;AgentLAB 针对使用记忆和工具的长程智能体。作者称 AdaLCPI 沿用自适应设定,但优化的是不完整片段和重建提示。

    组合、长上下文与多轮攻击

    • Zhang et al. (2026)、Fu et al. (2026)、Context Stitching(Karanjai et al., 2026):有害意图被拆到多段信息中;组合推理攻击要求模型在长上下文中检索并合并片段;Context Stitching 把注入拆进多条安全日志,靠模型跨上下文合并。
    • Xiong et al. (2026)、MT-AgentRisk(Li et al., 2026)、持久记忆攻击(Das et al., 2026):能力约束研究中,单条观察不足以违规,组合后才有害;MT-AgentRisk 把单轮有害任务改成工具型智能体的多轮序列,并发现安全可随轮次变差;持久记忆攻击表明攻击者控制的信息在进入系统后仍可长期影响行为。

    基线方法与评测环境

    • 基线:Trojan Hippo-style(同一自适应搜索、分级评分和自然语言反馈,但恶意指令保持显式且不加 filler)、非自适应长上下文片段化 LCF(Fu et al., 2026)、TAP(Hofer et al., 2026; Mehrotra et al., 2024)、AgentVigil、IterInject。
    • 环境:Email、GitHub、Slack。每个环境三个良性任务,每个任务在数据外泄、声誉破坏、数据删除三类中各三个攻击目标。

    作者把本文定位为:把 Fu et al. (2026) 的片段化长上下文攻击接到工具型智能体上,并用目标智能体的执行反馈去改片段和重建提示;与 Wang et al. (2025)、Chen et al. (2026) 的自适应攻击相比,优化对象从显式完整指令换成不完整片段加重建提示。

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

    AdaLCPI 用两个不完整片段加重建提示,再以 OpenEvolve 按执行反馈搜索。

    AdaLCPI 把恶意指令写成嵌在长检索内容里的不完整片段,再按目标智能体的执行轨迹改写这些片段和重建提示。Figure 2 概括为:拆分目标、嵌入长上下文载荷、执行并自适应优化。

    问题设定与片段表示

    • 执行:载荷 p 放入攻击者控制的内容后环境记为 E[p],一次运行写成 (τ, ET)=Run(A, u, E[p])。完整恶意指令记为 mg;常规间接注入可把 mg 直接放入内容,AdaLCPI 则把实现 mg 所需信息拆开。
    • 候选:给定目标 g,候选为 x=(f1, f2, c)。作者选用两个片段,称为需要合并独立信息的最简单设定。两段共享一个标签,重建提示要求定位、合并并执行拼出的指令,且不得单独写出完整恶意指令。
    • 合法性:每个片段只含动作、目标、工具或数据的一部分;重建提示只说明如何定位与合并,不得引入与目标相关的动作、目标、工具或数据。合在一起须足以还原可执行指令。含完整恶意指令的候选被拒绝。
    • 长上下文嵌入:片段插入 filler hL,L 是加入的 filler token 数,不是载荷总长。插入位置 ρ=(r1, r2),载荷为 pL(x; ρ)=Insertρ(hL; f1, f2) 与 c 拼接。提示接在 filler 之后,使智能体先遇到两段再被要求合并。每次优化开始时采样一次位置,位置和 filler 固定,搜索只改 f1、f2 和 c。

    搜索目标与反馈

    • 目标:在合法集合 Xg 上最大化 Jg(x),即 x⋆ ∈ arg max Jg(x)。成功仍只在 Gg(τx, ExT)=1 时计数,分数只引导搜索。
    • 分级分数:成功时 Jg(x)=10;否则 Sg(τx, ExT)∈{1,…,9}。低分对应攻击几乎无效果,中分对应部分还原或使用了注入信息,高分对应因工具、目标或参数错误而失败的尝试。Judge 同时给出自然语言反馈,说明发生了什么以及如何改进。
    • Mutator:LLM Mutator 读取被选候选、分级分数、自然语言反馈和工具调用摘要,可改变目标在两段之间的划分、片段措辞,以及重建提示如何指代这些片段。

    OpenEvolve 搜索

    • 档案:质量多样性档案用两个特征:载荷长度、与种子 x0 的编辑距离,各分 8 箱,得到 8×8 档案,使用单个 island。种子加 8 个结构不同的变体初始化。
    • 迭代:每轮从档案选 4 个父代,Mutator 提出 6 个新候选;每个候选嵌入固定位置后对目标智能体执行,由 Judge 打分并写回档案。附录写明父代中精英与非精英各半(elite ratio 0.5)。
    • 停止与预算:最多 K=20 轮;出现成功或最佳 Jg(x) 连续 P=8 轮无改进则提前停止。9 个初始候选加上每轮至多 6 个,单次搜索至多 129 次目标智能体执行。参数固定为 n0=8、np=4、nc=6、K=20、P=8。
    • 约束与模型:Mutator 的系统提示要求任一段都不得单独包含完整恶意指令,重建提示不得引入目标特有信息;Judge 收到同样约束。Judge 为 GPT-4o,Mutator 为 GPT-4.1,生成长度上限 8192 token,温度 0.8。附录 A.3 给出完整提示词。

    初始化、两阶段评审与成功判定

    • 初始化:Decomposer 从攻击目标构造种子 x0;Generator(GPT-4.1,温度 1.0)再生成 8 个结构不同的变体,共 9 个候选。二者只用于初始化。
    • 两阶段 Judge:第一阶段用 GPT-4o、温度 0.0,根据轨迹和执行后环境状态做二元成功判定;成功则记 10 分并跳过第二阶段。失败才进入分级阶段(GPT-4o,温度 1.0),给出 1–9 分和自然语言反馈。报告的 ASR 只由二元成功决定。
    • 目标解码:目标智能体接口暴露该设置时温度为 0.6。ASR 是达成指定攻击目标的任务–目标对所占比例;宏平均对模型等权。效用(utility)是原始良性任务被完成的比例,依据轨迹和终态。
    • 分置工具输出的变体:片段放入不同工具输出,filler 分摊,每段在所属输出内重复三次;第一条输出有一段短引导语,重建提示在最后一条输出。引导语和提示都不含目标特有的动作、目标、工具或数据,并对引导语、片段和提示联合优化。
  4. 论文做了哪些实验?

    8k filler 下 AdaLCPI 宏平均 ASR 61.4%,高于同搜索的显式指令基线 32.8%。

    实验设置

    • 模型:GPT-4.1、GPT-5.1、GPT-5.6-Luna、Qwen-3.6-27B、Ministral-3-14B、Gemma-4-31B、Muse-Glimmer-30B,共七个。
    • 环境与规模:Email、GitHub、Slack。每环境 3 个良性任务;每任务在数据外泄、声誉破坏、数据删除中各 3 个攻击目标,即每环境 27 对、每模型每条件 81 对。攻击者控制邮件、仓库内容或 Slack 消息。
    • 基线:Trojan Hippo-style(同一目标配置、任务、目标、自适应搜索、分级评分和自然语言反馈,恶意指令保持显式且无 filler);LCF(无自适应优化的长上下文片段化);TAP;AgentVigil;IterInject。AdaLCPI 的 filler 长度为 2k、4k、8k、16k token。
    • 指标:ASR 为达成指定攻击目标的任务–目标对比例,中间进度分不算成功。宏平均对模型等权。Utility 为 AdaLCPI-8k 下良性任务完成比例。Table 1 的 Δ 是最佳 AdaLCPI 与 TAP、Trojan Hippo-style、AgentVigil、IterInject 中较强者的差。
    • 评审:二元成功由第一阶段 Judge(GPT-4o,温度 0.0)根据工具调用、参数和最终环境状态判定。论文未报告与人工判定的一致性。
    • 搜索预算:除非另有说明,配置固定:最多 20 轮、每轮 6 个新候选、至多 129 次目标执行,连续 8 轮最佳分级分无改进则早停。Table 3 的四个条件各自独立优化,搜索预算相同。

    主结果

    据 Table 1,ASR(%)与 AdaLCPI-8k 下的良性任务完成率如下。

    表格较宽,可左右滑动

    模型HippoLCFAdaLCPI-8kUtility-8k
    GPT-4.156.82.558.042.0
    GPT-5.146.93.765.453.1
    GPT-5.6-Luna1.20.08.666.7
    Qwen-3.6-27B9.94.971.653.1
    Ministral-3-14B54.33.761.725.9
    Gemma-4-31B37.013.691.446.9
    Muse-Glimmer-30B23.57.472.858.0
    Macro avg.32.85.161.449.4
    • 作者解读:相对 Trojan Hippo-style,AdaLCPI-8k 在七个模型上 ASR 都更高,但增幅不同;例如 Qwen-3.6-27B 从 9.9% 到 71.6%,GPT-4.1 为 56.8% 与 58.0%。LCF 与 AdaLCPI 的差距被作者用来说明固定片段化本身解释不了提升。
    • 例外:Table 1 中 Ministral-3-14B 的 TAP 为 84.0%,高于其 AdaLCPI-8k 的 61.7%,Δ 为 -21.0;GPT-4.1 的 16k 为 66.7%,与 TAP 相同,Δ 为 0.0。宏平均上 AdaLCPI-8k 为 61.4%,TAP 26.3%,AgentVigil 30.0%,IterInject 32.6%。
    • 环境与类别:Table 2 中 AdaLCPI-8k 相对 Hippo 的差为 Email +38.1、Slack +39.2、GitHub +8.5 个百分点;三类分别为数据外泄 66.1%(+27.5)、声誉破坏 54.5%(+34.9)、数据删除 63.5%(+23.3)。作者称更细的环境–类别里,唯一例外是 GitHub 数据外泄,Hippo 更高(见附录 Table 8、Table 18)。Figure 6 标注 Email 数据外泄为 79.4%,为该图中最高的环境–目标组合。

    片段、filler 与重建提示

    • 测了什么:Table 3 在 Table 1 增益最大的四个模型上,把完整指令与“片段+cue”分别在 0k 与 8k filler 下独立优化。
    • 结果:0k 时 Hippo-style 宏平均 29.3%,片段+cue 为 0.0%;8k 时分别为 25.3% 与 75.3%。作者称在同样 8k 长度下,片段表示平均高出完整指令 50.0 个百分点,单独使用片段化或长上下文嵌入都复现不了二者合用时的增益。
    • 去掉片段:Table 4 从已成功的 AdaLCPI-8k 攻击中移除片段且不再优化,只评原攻击成功的任务–目标对,移除处换成等长中性 filler,每对重复三次。仅保留 c 时各格均为 0.0%。保留一段加 c 时,作者报告模型–环境组合从 0.0% 到 29.3%(Gemma-4-31B、Email、f2+c 为 29.3%)。作者称提示单独不能复现攻击,但单个片段在部分情形下仍保留足以成功的信息。

    分置工具输出与重复搜索

    • 分置:Table 5 把片段放到不同工具输出,8k 总 filler 宏平均 ASR 40.7%,16k 为 47.6%。16k 时七个模型中六个非零;GPT-5.6-Luna 在 8k 与 16k 均为 0.0%,Qwen-3.6-27B 均为 3.7%,Ministral-3-14B 在 16k 为 96.3%。作者称该设置同时引入了引导语和片段重复,结果仍说明两段不必出现在同一条检索内容中。
    • 重复搜索:作者称四个模型、三个种子上,AdaLCPI-8k 的平均 ASR 在所有情形都高于 Trojan Hippo-style,轮次间变化小(附录 Table 13)。
    • 良性任务:Table 1 中 AdaLCPI-8k 的良性任务完成率宏平均 49.4%,模型范围 25.9%(Ministral-3-14B)到 66.7%(GPT-5.6-Luna)。作者称优化只针对恶意目标,智能体仍常常完成良性任务。

    其他消融与分析

    • Table 1 的 filler 长度:宏平均 ASR 为 2k 54.1%、4k 56.4%、8k 61.4%、16k 60.8%;GPT-5.1 在 16k 降到 49.4%,低于其 8k 的 65.4%。
    • Figure 5:作者称按已评估候选数看累积 ASR,六个模型上 AdaLCPI 在搜索轨迹的大部分高于 Hippo-style;主要例外是 GPT-4.1,Hippo-style 在搜索较早阶段更强。图中可见的端点标注包括 23.5%。
    • Figure 6:AdaLCPI-8k 按环境平均为 Email 69.8%、GitHub 59.3%、Slack 55.0%;数据删除在 GitHub 为 73.0%、在 Slack 为 54.0%。
    • 附录 Table 21 与 Table 5 数字一致:分置输出时 8k/16k 宏平均为 40.7% / 47.6%。
    • GPT-5.6-Luna 在 Table 1 各列都低:AdaLCPI-8k 为 8.6%,16k 为 14.8%,TAP、Hippo、AgentVigil、IterInject、LCF 分别为 2.5%、1.2%、0.0%、1.2%、0.0%。
  5. 有什么可以进一步探索的点?

    作者认为七个模型和三个环境不足以说明该行为能推广到更多前沿模型与架构。

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

    • 推广范围:Limitations and future work 写明,实验覆盖七个模型和三个工具环境,结果并不能确立同样行为能推广到更多前沿模型或其他智能体架构。
    • 后续测试:同一节称,自然的下一步是在更广的前沿模型集合和更强防御上测试 AdaLCPI(引用 Bhagwatkar et al., 2025; Gong et al., 2026; Zhu et al., 2025)。
    • 其他工具与检索:同一节还写,要研究片段化攻击在其他工具和检索设置下是否仍然有效。

    实验覆盖范围

    • 模型与环境:第 4 节评测七个模型、Email、GitHub、Slack 三个环境;每环境 27 对任务–目标,每模型每条件 81 对。
    • 攻击条件:主比较含 TAP、Trojan Hippo-style、AgentVigil、IterInject、LCF,以及 AdaLCPI 的 2k、4k、8k、16k filler;Table 3 的片段/完整指令消融用其中增益最大的四个模型。
    • 防御:主实验比较的是攻击方法。作者在 Limitations 中把对更强防御的测试列为后续工作;正文实验未报告对这些防御的 ASR。
    • 判定与重复:ASR 由 GPT-4o 二元 Judge 根据轨迹和终态判定;论文未报告该 Judge 与人工判定的一致性。三个种子的重复搜索写在附录 Table 13,覆盖四个模型。
    • 分置设置:Table 5 测了片段跨工具输出,并同时使用引导语和片段重复;搜索预算方面,附录 Table 6 写明单次搜索至多 129 次目标智能体执行。
  6. 总结一下论文的主要内容

    AdaLCPI 用片段加自适应搜索攻击工具型智能体,8k filler 宏平均 ASR 为 61.4%。

    AdaLCPI 研究工具型智能体能否从检索内容里的不完整片段还原恶意目标并付诸工具动作。

    • 问题:间接提示注入通常把完整恶意指令放进外部内容。作者问,若指令被拆开并散落在长上下文中,依赖检索与合并的智能体是否仍会执行。
    • 做法:每个候选含两个不完整片段和一条重建提示,嵌入固定 filler 与固定插入位置;OpenEvolve 以 8×8 质量多样性档案搜索,GPT-4o 两阶段 Judge 提供 1–10 分和自然语言反馈,GPT-4.1 Mutator 改写片段与提示。成功只看未授权目标是否达成。攻击者在优化时有 black-box 执行访问,部署时只控制工具可读的外部内容。
    • 主结果:七模型、每条件 81 对上,AdaLCPI-8k 宏平均 ASR 为 61.4%,Trojan Hippo-style 为 32.8%,AgentVigil 为 30.0%,非自适应 LCF 为 5.1%(Table 1)。相对 Hippo-style,七个模型的 8k 结果都更高;Ministral-3-14B 上 TAP 的 84.0% 高于 AdaLCPI-8k 的 61.7%。
    • 消融:四个模型上,片段加提示在 0k filler 时宏平均 ASR 为 0.0%,在 8k 时为 75.3%,同期完整指令为 25.3%(Table 3)。去掉片段后只留提示则未见成功(Table 4)。片段分置不同工具输出时,宏平均为 8k 40.7%、16k 47.6%(Table 5)。
    • 作者结论:恶意目标不必在攻击者控制的内容里完整出现;安全评测应检查智能体在必须从不完整、分散的工具输出中还原有害目标时是否仍然稳健。作者同时写明,现有七个模型和三个环境不足以说明该行为能推广到更多前沿模型或其他智能体架构。
阅读原文arxiv.org