AgentVigil:针对 LLM 智能体间接提示注入的通用黑盒红队测试方法
AgentVigil: Generic Black-Box Red-teaming for Indirect Prompt Injection against LLM Agents
作者提出黑盒模糊测试框架 AGENT VIGIL,自动发现 LLM 智能体的间接提示注入漏洞,在 AgentDojo(o3-mini)和 VWA-adv(GPT-4o)上 ASR 分别为 71% 和 70%。
blackbox 设置:用户和攻击者都无法访问底层 LLM 内部或智能体架构。
- LLM 智能体通过外部数据交互,易被间接提示注入攻击。现有红队方法多为手工构造或仅针对特定类型智能体,无法通用评估黑盒智能体的注入风险。
- 提出黑盒模糊测试框架 AGENT VIGIL:构建高质量初始种子库,用 MCTS 算法选择种子,经五种变异策略生成新提示词,再根据攻击成功率和覆盖率评分迭代优化。
- 在 AgentDojo(o3-mini)和 VWA-adv(GPT-4o)上 ASR 分别为 71% 和 70%,接近基线的两倍;对未见任务和未见模型(如 Gemini-2-flash-exp)有迁移性;在真实 WebArena 环境中成功误导智能体访问任意 URL。
- 作者指出 VWA-adv 防御下攻击性能下降并与基线持平;实验仅覆盖两个基准的文本触发任务,防御评测仅含 AgentDojo 三种和 VWA-adv 三种防御,未报告统计显著性检验。
- 威胁模型
- blackbox 设置:用户和攻击者都无法访问底层 LLM 内部或智能体架构。攻击者可像正常用户一样与智能体交互,但只能通过操纵外部数据源(如购物网站商品、日历事件)进行间接提示注入;对每个用户任务只能观察到攻击成功或失败的二元反馈。
- 被测模型
- o3-miniGPT-4oGPT-4o-miniClaude-3.5-SonnetGemini-2-flash-expQwQ-32BLlama3.3-70B-InstructQwen2.5-72B-Instruct
- 基准
- AgentDojoVWA-advWebArena
- 指标
- ASRcoverage
加州大学伯克利分校、圣路易斯华盛顿大学等机构的研究者提出 AgentVigil,一个针对 LLM 智能体间接提示注入的通用黑盒模糊测试框架,通过高质量初始模板语料、基于攻击覆盖率的自适应种子评分和 MCTS 种子选择自动迭代生成攻击提示。在 AgentDojo 基准上,该框架对基于 o3-mini 的智能体攻击成功率达 71%,在 VWA-adv 上对 GPT-4o 达 70%,约为基准手工攻击的两倍;生成的提示迁移到未见任务和 Gemini-2-flash-exp 等未见模型时仍保持 59% 至 67% 的成功率,但对 Claude-3.5-Sonnet 效果较差。在 pi_detector、delimit 等现有防御下攻击成功率虽有下降但仍不低,作者据此指出当前防御的不足。
推荐理由论文给出可复现的黑盒模糊测试流程,在两个基准上把间接提示注入成功率提升到约七成,开发智能体的团队可据此检验现有防御。
相关热点
1 个事件 · 1 条新闻提到
提到这篇论文的新闻
伯克利提出提示注入防御方案PromptArmor
- 公众号 为机器立心提到论文的名字加州大学伯克利分校提出 PromptArmor:模块化易部署,现成 LLM 驱动的高效提示注入防御方案
针对基于模糊测试的自适应攻击(AgentVigil),PromptArmor仍保持低ASR:
深度解读
这篇论文试图解决什么问题?
如何对黑盒 LLM 智能体做通用的间接提示注入风险评估,现有方法或为手工构造或仅适用特定智能体。
核心问题:如何对黑盒 LLM 智能体进行通用的间接提示注入(indirect prompt injection)风险评估。
- 问题场景与重要性:LLM 智能体结合外部工具完成复杂任务,攻击者可在智能体交互的外部数据源中插入恶意指令,使其偏离用户任务执行攻击者意图,作者认为这带来严重后果。
- 现有方法不足:作者称现有红队方法要么手工构造攻击指令,要么只针对某一类智能体设计,无法作为通用方法评估 LLM 智能体的间接提示注入风险;模型级的大规模评估方法因系统组件和机制差异不能直接应用于智能体。
- 核心挑战:真实智能体是黑盒系统,反馈只有攻击成功或失败的稀疏二元信号;用户任务多样、执行行为动态;智能体架构复杂多样。
- 论文方案:借鉴传统软件模糊测试(fuzzing),提出 AGENT VIGIL 框架,通过高质量初始种子库、自适应种子评分和基于 MCTS 的种子选择,迭代优化注入提示词。作者称这是首个针对黑盒 LLM 智能体的自动化间接提示注入评估方法。
- 威胁模型(Section 3):
- 攻击者目标:误导智能体完成攻击者指定而非用户意图的目标,如访问钓鱼网站、下载恶意文件、发送隐私信息。
- 知识与能力:blackbox 设置,攻击者无法访问 LLM 内部或智能体架构;可像正常用户一样与智能体交互,但只能操纵外部数据源(如购物网站商品、日历事件)。
- 反馈:对每个用户任务只能观察到攻击成功或失败的二元反馈(如检查收件箱)。
- 受害系统:使用外部数据源完成任务的 LLM 智能体,用户被假定为良性。
有哪些相关研究?
相关工作分 LLM 智能体、提示注入攻击与防御三类;本文以 AgentDojo 和 VWA-adv 的手工攻击为基线。
LLM 智能体
- Web 智能体(Nakano et al., 2021; Deng et al., 2024 等):辅助人与网页交互。
- 编程智能体(Le et al., 2022; Gao et al., 2023 等):辅助代码编写、补全与调试。
- 个人助理(Schick et al., 2024; Qin et al., 2023 等):帮助处理日常任务如日历和邮件。
提示注入攻击
- 手工攻击:如用转义字符操纵上下文(Willison, 2022)、指示 LLM 忽略先前上下文(Perez & Ribeiro, 2022; Schulhoff et al., 2023)、模拟任务完成(Willison, 2023),以及针对特定智能体类型注入网页恶意内容(Wu et al., 2024a; Liao et al., 2024; Xu et al., 2024)或操纵界面元素(Zhang et al., 2024)。论文指出这类攻击需要专业知识且成功率不稳定。
- 自动化攻击:AgentPoison(Chen et al., 2024d)和 VWA-adv(Wu et al., 2024b)使用基于梯度的方法,需要白盒访问目标组件;GPTFuzzer(Yu et al., 2023)和 RLBreaker(Chen et al., 2024c)针对直接提示注入,需要详细反馈,在复杂真实智能体中适用性有限。
提示注入防御
- 训练依赖方法:如 StruQ(Chen et al., 2024a)、ProtectAI 检测器(ProtectAI, 2024)、Llama Guard(Inan et al., 2023)等,论文指出它们需要大量计算资源、频繁更新,且可能因过度正则化降低模型性能。
- 免训练方法:输入分隔符(Hines et al., 2024)、提示词重复(lea, 2023)、响应一致性检查(Liu et al., 2024)等,论文指出这些主要在执行后检测攻击;工具访问验证(Debenedetti et al., 2024)限制智能体只能用预批准工具,论文指出其限制功能且仍易受工具集内攻击。
基线与基准:基线攻击为 AgentDojo(Debenedetti et al., 2024)和 VWA-adv(Wu et al., 2024b)提出的手工构造对抗提示词;附录 B.2 另加入 OpenPromptInjection(Liu et al., 2024)和 InjecAgent(Zhan et al., 2024)两个基线。
作者将本文定位为与 GPTFuzzer 的关键差异:GPTFuzzer 假设完全控制输入且为单轮设置,针对直接提示注入越狱 LLM;本文针对多步智能体中的间接提示注入,攻击者只能影响外部内容,作者称这使其成为首个面向真实场景黑盒 LLM 智能体的自动化攻击框架。
论文如何解决这个问题?
AGENT VIGIL 用模糊测试流程:初始种子库 + 五种变异 + 成功率与覆盖率混合评分 + MCTS 种子选择。
整体思路是借鉴软件模糊测试,提出 AGENT VIGIL:给定目标智能体和攻击指令种子集,启发式选择种子、变异后输入智能体,根据输出评分并加入种子库,迭代进行(Figure 2)。
初始语料库构建(Section 4.2)
- 来源:从人类启发式经验、在线资源和现有提示注入研究(Debenedetti et al., 2024; Liu et al., 2024)收集对抗提示词模板。
- 模板设计:带占位符以适配不同变量(所用 LLM、用户任务、攻击者目标),涵盖角色扮演、基于分隔符的攻击、提示词混淆等策略。
变异设计(Section 4.3)
- 五种变异方法:Shorten(压缩)、Expand(增加上下文)、Rephrase(改写保持语义)、Crossover(融合两个父种子)、GenerateSimilar(生成风格相似内容不同的种子),每次迭代随机选择。
- 辅助模型:用提示词模板让辅助 LLM 执行变异;作者称这些基础变异只需中等能力模型,如 Llama-3-8B 和 GPT-4o-mini;实验中实际使用 GPT-4o-mini。
种子评分(Section 4.4)
- 混合评分:最终分数为攻击成功率(ASR)与覆盖奖励(coverage bonus)的加权和,后者奖励让此前失败任务新成功的种子,公式为 seed_score = ASR + C · coverage_bonus / num_questions(Algorithm 1),C 为覆盖因子。
- 目的:在二元成败反馈之外提供中间反馈,平衡利用已知成功模式与探索新攻击模式。
基于 MCTS 的种子选择(Section 4.5)
- 树结构:维护记录变异历史和种子关系的树,用 UCB1 算法平衡利用高分种子与探索新变体,UCB 分数结合节点经验表现与随总访问数对数增长、随节点访问数反比衰减的探索奖励(Algorithm 3)。
- 选择 UCB1 而非 UCT 的理由:作者称评估每个新种子计算开销大,UCB1 无需深层树扩展即可平衡探索与利用。
- 更新与选择:评估后沿祖先链传播访问计数(Algorithm 2);每次选择 UCB 得分最高的 1 或 2 个种子进行变异。
成功判定
- 攻击成功由基准环境判定:AgentDojo 提供形式化评估标准检查环境状态,判定注入任务是否成功;VWA-adv 返回对抗任务是否成功。该二元结果作为反馈信号传给 AGENT VIGIL。
论文做了哪些实验?
在 AgentDojo 和 VWA-adv 上 ASR 达 71%/70%,近基线两倍;对未见任务和模型有迁移性;对 Claude-3.5-Sonnet 无效。
实验设置
- 被测模型:AgentDojo 上用 o3-mini、GPT-4o、GPT-4o-mini、Claude-3.5-Sonnet;VWA-adv 上用 GPT-4o、GPT-4o-mini、Claude-3.5-Sonnet、Gemini-2-flash-exp;附录 B.1 增加 QwQ-32B 和 o3-mini-2025-01-31(具体 checkpoint 见附录 A)。
- 基准与规模:AgentDojo 的对抗任务随机分为 fuzzing 集 142 个和测试集 173 个;VWA-adv 分为 fuzzing 集 99 个和测试集 100 个,仅使用文本触发(text trigger)任务。
- 模糊测试配置:辅助变异模型为 GPT-4o-mini;AgentDojo 每次迭代生成 3 个变异、共 10 轮,每个新种子在每个套件随机抽取的四分之一任务上评估;VWA-adv 每次迭代生成 10 个变异、共 10 轮。
- 基线:两个基准各自提出的手工构造对抗提示词;附录 B.2 增加 OpenPromptInjection 和 InjecAgent。
- 指标与判定:攻击成功率(ASR),由基准框架按环境状态形式化判定;迁移实验选评分最高的 5 个种子,成功率按这些提示词的并集计算。
- 防御评测:AgentDojo 的 pi_detector、repeat、delimit(在 fuzzing 集、o3-mini 上);VWA-adv 的 safety、paraphrase、combined(在 fuzzing 集、GPT-4o 上)。
主结果
Table 1:迁移攻击成功率(fuzzing 在 AgentDojo 上对 o3-mini、在 VWA-adv 上对 GPT-4o 进行)
表格较宽,可左右滑动
基准 任务集 攻击 o3-mini GPT-4o GPT-4o-mini Claude-3.5-Sonnet Gemini-2-flash-exp AgentDojo Fuzzing 手工基线 0.38 0.22 0.28 0.12 - AgentDojo Fuzzing AGENT VIGIL 0.71 0.22 0.49 0.03 - AgentDojo Test 手工基线 0.34 0.25 0.28 0.08 - AgentDojo Test AGENT VIGIL 0.65 0.19 0.43 0.04 - VWA-adv Fuzzing 手工基线 - 0.36 0.08 0.47 0.49 VWA-adv Fuzzing AGENT VIGIL - 0.60 0.47 0.31 0.67 VWA-adv Test 手工基线 - 0.44 0.29 0.51 0.50 VWA-adv Test AGENT VIGIL - 0.59 0.54 0.42 0.67 - 作者称生成的提示词在未见任务上迁移有效,接近基线性能的两倍;对 GPT-4o-mini 迁移较好,对 GPT-4o 和 Claude-3.5-Sonnet 相对较差。
- 例外:基线和 AGENT VIGIL 的提示词对 Claude-3.5-Sonnet 都基本无效(AgentDojo 上 0.03–0.12),作者称其对复杂对抗提示词表现出强鲁棒性;VWA-adv 上 AGENT VIGIL 对 Claude 的 ASR(0.31/0.42)低于基线(0.47/0.51),作者经人工检查后推测 Claude 可能更易受简单提示词攻击。
- 作者称 AGENT VIGIL 在 GPT-4o-mini 和 GPT-4o 上约 50% 和 60% 的成功率说明 instruction hierarchy 防御机制不够有效。
对防御的评测
- AgentDojo(Table 2,o3-mini,fuzzing 集):无防御时 AGENT VIGIL 0.71 对基线 0.38;pi_detector 下 0.25 对 0.13;repeat 下 0.12 对 0.21(低于基线);delimit 下 0.49 对 0.36。作者称两种攻击在防御下成功率都下降但仍维持高位,说明这些防御不足;delimit 弱于 pi_detector 和 repeat。
- VWA-adv(Table 3,GPT-4o,fuzzing 集):无防御时 0.60 对基线 0.36;safety 下 0.29 对 0.34;paraphrase 下 0.33 对 0.27;combined 下 0.27 对 0.30。作者称引入防御后 AGENT VIGIL 性能下降并与基线持平,可能因为复杂攻击提示词在 VWA-adv 有限上下文中难以对抗防御;combined 防御未比单一防御进一步降低成功率,作者认为某些攻击提示词可同时绕过多种防御。
消融与覆盖曲线
- 消融(Figure 3,AgentDojo):去掉初始语料库(换为基线手工提示词)后,成功率约在四轮迭代后停滞;去掉自适应评分与 MCTS 选择(换为均匀随机选择)后改进变慢。作者称三个组件对持续提升都关键。
- 覆盖曲线:Figure 3 显示 AgentDojo 上平均覆盖率从约 0.2 升至 10 步时约 0.4 以上,完整版始终高于两个消融版本;Figure 4 显示 VWA-adv 上覆盖率从约 0.55 升至约 0.78(10 步)。
其他消融与分析
- 附录 B.1/B.2(Table 4,AgentDojo):o3-mini-2025-01-31 上 Fuzzing/Test ASR 为 0.73/0.76,QwQ-32B 上为 0.72/0.74;基线 AgentDojo 0.47/0.49 与 0.45/0.47,OpenPromptInjection 0.38/0.39 与 0.20/0.20,InjecAgent 0.15/0.11 与 0.14/0.12。
- 附录 B.1 实用性:AgentDojo 良性任务成功率 Llama3.3-70B-Instruct 42%、Qwen2.5-72B-Instruct 54%、QwQ-32B 74%、o3-mini 79%,据此选择 QwQ-32B 做进一步实验。
- 附录 B.3 场景细分(Table 5):AgentDojo 四个套件(Slack、Workspace、Travel、Banking)上 AGENT VIGIL 均高于基线,如 o3-mini 的 Slack 测试集 0.97 对 0.70;VWA-adv 上 illusioning 0.82/0.76 对基线 0.51/0.62,goal misdirection 0.58/0.42 对 0.00/0.20。
- 真实世界案例(Section 5.4):在本地部署的 WebArena 购物网站(基于 magento2)上,用普通用户账号在评论中注入 Section 5.2 生成的提示词,成功误导默认 WebArena 智能体访问任意 URL(含钓鱼网站、恶意下载、隐私泄露查询)。
有什么可以进一步探索的点?
作者未设专门局限章节;实验讨论指出 VWA-adv 防御下性能下降、对 Claude 迁移差;覆盖限于两个基准。
作者指出的局限与后续方向
- 论文未设专门的 Limitations 或 Future Work 章节。实验讨论中作者承认的不足包括:VWA-adv 上引入防御后 AGENT VIGIL 性能下降并与基线持平,作者认为可能因为复杂攻击提示词在 VWA-adv 有限上下文中难以对抗防御(Section 5.2)。
- 对 Claude-3.5-Sonnet 的迁移效果差:AgentDojo 上基线与 AGENT VIGIL 都无效,VWA-adv 上 AGENT VIGIL 低于基线,作者推测 Claude 可能更易受简单提示词攻击(Section 5.1、5.2)。
- Impact Statement 中称没有任何单一测试或防御方法是无懈可击的,持续研究和主动更新仍然必要。
- 结论中作者称 AGENT VIGIL 暴露了现有智能体防御的局限,凸显需要更鲁棒的安全措施。
实验覆盖范围
- 被测模型共 7 个:o3-mini、GPT-4o、GPT-4o-mini、Claude-3.5-Sonnet、Gemini-2-flash-exp、QwQ-32B、o3-mini-2025-01-31(附录 A 给出 checkpoint)。
- 基准为 AgentDojo(fuzzing 集 142 任务、测试集 173 任务)和 VWA-adv(99/100,仅文本触发任务);真实世界验证为单个 WebArena 购物网站案例。
- 防御评测包括 AgentDojo 的 pi_detector、repeat、delimit 和 VWA-adv 的 safety、paraphrase、combined;tool_filter 因与 o3-mini 不兼容被排除,VWA-adv 的图文一致性防御因 API 调用开销被排除。
- 模糊测试预算为 10 轮迭代,AgentDojo 每轮 3 个变异、VWA-adv 每轮 10 个;论文未报告总查询次数、耗时和统计显著性检验。
- 论文讨论了 StruQ、IsolateGPT 等防御未纳入评测的原因:StruQ 只在小开源模型上验证、缺乏智能体任务能力,IsolateGPT 依赖特定系统设计难以适配不同架构(Section 5.1)。
总结一下论文的主要内容
AGENT VIGIL 用模糊测试自动攻击黑盒智能体,两个基准上 ASR 约 70%,近基线两倍,并可迁移到未见任务与模型。
一篇针对 LLM 智能体间接提示注入的自动化红队论文。作者要解决的问题是:现有评估方法要么手工构造攻击、要么只适用特定智能体,无法通用评估黑盒智能体的注入风险。
- 方法:AGENT VIGIL 借鉴软件模糊测试,从高质量模板语料库出发,用五种变异策略(由 GPT-4o-mini 执行)生成新提示词,按攻击成功率加覆盖奖励评分,再用基于 UCB1 的 MCTS 算法选择种子,迭代优化。
- 主结果:AgentDojo 上对 o3-mini 智能体 ASR 71%(基线 38%),VWA-adv 上对 GPT-4o 智能体 ASR 70%(基线 36%),作者称接近基线的两倍。
- 迁移性:AgentDojo 未见测试任务上对 o3-mini 为 65%;VWA-adv 上迁移到 fuzzing 期间未见的 Gemini-2-flash-exp 为 67%;但对 Claude-3.5-Sonnet 基本无效(AgentDojo 上 0.03–0.04)。
- 防御评测:AgentDojo 三种防御下仍保持 0.12–0.49 的 ASR;VWA-adv 防御下性能下降并与基线持平(0.27–0.33)。
- 真实世界:在本地 WebArena 购物网站通过评论注入,成功误导智能体访问任意 URL。
- 作者结论:AGENT VIGIL 暴露了现有智能体防御的局限,作者认为其可作为理解智能体威胁和开发下一代安全方案的基础。