AgentVigil:面向LLM智能体的通用黑盒红队测试框架——间接提示注入攻击自动化发现与利用

论文重点

AgentVigil是一个首个面向黑盒LLM智能体的通用间接提示注入漏洞自动化发现框架。该框架借鉴传统软件模糊测试思想,通过蒙特卡洛树搜索(MCTS)驱动的种子选择算法与自适应评分策略,在AgentDojo和VWA-adv两个公开基准上分别达到71%和70%的攻击成功率,几乎翻倍了基线攻击的性能,并展现出良好的跨任务、跨模型迁移能力。

核心研究内容

问题定义

LLM智能体系统凭借其强大的规划和推理能力,能够调用外部工具并与复杂环境交互。然而,这也引入了一个关键安全风险——间接提示注入(Indirect Prompt Injection):攻击者将恶意指令注入智能体所交互的外部数据源(如网页评论、邮件、日历事件等),当智能体检索并处理这些外部数据时,恶意指令便会“欺骗”智能体执行攻击者指定的任务,而非原始的用户任务。

系统性地评估智能体系统面临间接提示注入风险面临三大挑战:

  1. 黑盒特性:真实世界的智能体多为黑盒系统,无法访问其内部LLM或架构设计;
  2. 任务多样性:智能体需要处理大量动态且各异的用户任务;
  3. 架构复杂性:智能体通常由多种互联组件、工具和服务构成。

现有方法要么依赖人工构造攻击指令,要么仅针对特定类型的智能体设计,无法作为通用评估方案。

创新方法

AgentVigil的核心创新在于将传统软件模糊测试(Fuzzing) 的理念系统性地迁移到LLM智能体的安全评估领域,并针对智能体场景的特殊挑战进行了三项关键设计:

  1. 高质量初始种子语料库:从人工启发式规则、在线资源和现有提示注入研究中收集多样化攻击模板,涵盖角色扮演、分隔符攻击、提示混淆等多种策略;
  2. 自适应种子评分策略:采用混合评估机制,结合攻击成功率(ASR)与覆盖度导向评估,既奖励即时攻击效果,也奖励能够覆盖之前失败任务的种子;
  3. 基于MCTS的种子选择算法:使用UCB1算法动态识别和优先处理有价值的种子,在探索(exploration)与利用(exploitation)之间取得平衡。

此外,框架设计了五种变异算子——缩短(Shorten)、扩展(Expand)、改写(Rephrase)、交叉(Crossover)和生成相似(GenerateSimilar),由辅助LLM(如Llama-3-8B或GPT-4o-mini)执行。

研究成果

基准测试性能:在AgentDojo(个人助理智能体)和VWA-adv(网页智能体)两个基准上,针对基于o3-mini和GPT-4o的智能体,AgentVigil分别达到71%和70%的攻击成功率。相比之下,AgentDojo中手工构造的基线攻击成功率仅为38%,AgentVigil几乎翻倍了基线性能。

迁移能力:生成的对抗性提示在未见过的任务上对o3-mini和GPT-4o分别达到65%和59% 的成功率;对未曾参与模糊测试的Gemini-2-flash-exp模型,仍达到67% 的成功率。

防御绕过:针对AgentDojo中部署的多种防御策略(包括ProtectAI的pi_detector、指令重复、分隔符等),AgentVigil生成的对抗性提示均表现出显著的有效性。

消融实验:如图3所示,去除高质量初始语料库或去除自适应种子评分与MCTS选择后,覆盖度增长均显著下降,验证了各组件的必要性。

真实世界验证:在实际环境中成功误导智能体导航至任意URL(包括恶意网站或下载链接),证明了方法的实际适用性。

实际落地应用的可能性

AgentVigil作为红队测试工具具有很高的实用价值。企业或安全团队可在部署LLM智能体之前,使用该框架自动化评估系统对间接提示注入的脆弱性,无需访问智能体内部实现——这完美契合了大多数商业智能体(如OpenAI的Operator、Anthropic的Computer Use等)的黑盒特性。框架的模块化设计也使其能够适配不同类型的智能体系统,从个人助理到网页自动化代理均可覆盖。

技术细节

系统架构

AgentVigil的整体架构如图2所示,包含以下核心模块:

初始化种子语料库 → ┌─────────────────────────────────────┐
                   │  迭代模糊测试循环                     │
                   │  ┌─────────┐    ┌──────────┐        │
                   │  │ MCTS种子 │ →  │ 种子变异  │        │
                   │  │ 选择器   │    │ 器       │        │
                   │  └─────────┘    └──────────┘        │
                   │       ↑              ↓               │
                   │  ┌─────────┐    ┌──────────┐        │
                   │  │ 种子存储 │ ←  │ 评分器   │        │
                   │  └─────────┘    └──────────┘        │
                   └─────────────────────────────────────┘
                                       ↓
                              目标LLM智能体系统

种子评分公式

每个种子的最终得分计算为攻击成功率与覆盖度奖励的加权和:

Score ( s ) = α ⋅ ASR ( s ) + β ⋅ CoverageBonus ( s ) \text{Score}(s) = \alpha \cdot \text{ASR}(s) + \beta \cdot \text{CoverageBonus}(s) Score(s)=αASR(s)+βCoverageBonus(s)

其中,ASR为成功攻击任务数与总任务数的比值,CoverageBonus奖励那些能对之前失败任务实现成功攻击的种子。

种子选择:UCB1算法

MCTS选择器使用UCB1算法平衡探索与利用:

UCB ( n o d e ) = Q ( n o d e ) N ( n o d e ) + c ⋅ ln ⁡ N ( p a r e n t ) N ( n o d e ) \text{UCB}(node) = \frac{Q(node)}{N(node)} + c \cdot \sqrt{\frac{\ln N(parent)}{N(node)}} UCB(node)=N(node)Q(node)+cN(node)lnN(parent)

其中第一项为 exploitation(节点经验性能),第二项为 exploration bonus(探索奖励),确保访问较少但潜在价值高的分支得到充分关注。

变异算子

算子 功能
Shorten 压缩种子使其更简洁
Expand 增加额外上下文信息
Rephrase 引入语言变体,保持语义
Crossover 合成两个父种子的元素
GenerateSimilar 生成风格相似但内容不同的种子

这些变异由辅助LLM执行,仅需中等能力的模型(如Llama-3-8B、GPT-4o-mini)即可完成。

研究设定

威胁模型

  • 黑盒设定:攻击者无法访问底层LLM的内部机制,也无法获知智能体的架构设计;
  • 用户假设:用户为良性,不与攻击者合谋;
  • 攻击者能力:可像合法用户一样与智能体交互,通过操纵外部数据源(如修改购物网站商品信息、篡改日历事件等)实施间接注入;
  • 攻击者反馈:仅能通过环境检查获知攻击成功与否的二元信号。

实验配置

  • 基准数据集:AgentDojo(个人助理智能体,含142个fuzzing任务和173个测试任务)和VWA-adv(网页智能体);
  • 目标模型:o3-mini(主要fuzzing目标)、GPT-4o、GPT-4o-mini、Claude-3.5-Sonnet、Gemini-2-flash-exp;
  • 辅助模型:GPT-4o-mini作为helper LLM执行种子变异;
  • 迭代设置:每轮生成3个变异种子,共完成10轮fuzzing迭代;
  • 评估指标:攻击成功率(ASR)和任务覆盖度。

硬件/软件要求

论文未明确列出具体硬件配置,但从技术栈推断:

  • 需要能够运行目标LLM智能体的环境(API访问或本地部署);
  • 辅助LLM(GPT-4o-mini或Llama-3-8B)用于执行变异操作;
  • 基准评估框架(AgentDojo、VWA-adv)的环境支持。

综合分析

方法论贡献

AgentVigil的最大贡献在于首次将模糊测试范式系统性地应用于LLM智能体的间接提示注入评估。与直接提示注入(如GPTFuzzer)不同,间接提示注入中攻击者只能影响外部内容,无法直接控制输入,这极大限制了攻击能力。AgentVigil通过精心设计的初始种子、MCTS驱动的搜索和自适应评分,成功在受限条件下实现了高效的漏洞发现。

值得注意的是,AgentVigil与GPTFuzzer存在本质差异:

  • GPTFuzzer针对的是直接提示注入(jailbreak),攻击者完全控制输入;
  • AgentVigil针对的是间接提示注入,攻击者仅能影响外部数据源;
  • GPTFuzzer为单轮设定,AgentVigil处理多步骤智能体。

局限性与值得关注的发现

  1. 模型鲁棒性差异显著:实验显示,Claude-3.5-Sonnet表现出极强的鲁棒性,无论是基线攻击还是AgentVigil生成的对抗性提示均对其无效。这提示不同模型家族在对抗间接提示注入方面存在显著差异,值得进一步研究其背后的机制差异。

  2. 防御的脆弱性:AgentVigil能够有效绕过多种现有防御(包括专用检测器、指令重复、分隔符等),说明当前防御手段在面对自动化、自适应生成的攻击时仍显不足。

  3. 黑盒设定的实际意义:真实世界的商业智能体(如OpenAI的Operator)均为黑盒系统,AgentVigil无需内部访问即可工作的特性使其具有高度的实际应用价值。

  4. 迁移能力的双面性:生成的对抗性提示能够在不同任务和不同LLM之间迁移,这既说明了攻击方法的通用性,也意味着一旦某个智能体被攻破,同一攻击模式可能被复用于其他系统。

与安全社区的启示

这项工作实际上揭示了一个更深层的问题:LLM智能体的“上下文污染”风险。传统软件安全中,我们关注代码注入;而在LLM智能体时代,“提示注入”成为了新的注入攻击范式。AgentVigil的自动化框架表明,这种攻击并非偶发的、需要专家手工构造的,而是可以通过系统化的模糊测试大规模发现和利用的。这对于整个LLM智能体生态的安全设计提出了严峻挑战。

实践应用

1. 企业安全评估

企业在部署基于LLM的智能体系统(如客服机器人、自动化办公助理、网页自动化代理)之前,可使用AgentVigil进行自动化红队测试

  • 将智能体接入AgentVigil框架;
  • 定义与业务相关的用户任务和攻击目标;
  • 运行fuzzing循环,识别系统脆弱点;
  • 根据发现的漏洞加固系统(如加强外部数据源的过滤、增加工具调用验证等)。

2. 安全产品开发

安全厂商可将AgentVigil的方法论集成到LLM安全评估平台中,为客户提供黑盒安全审计服务。由于AgentVigil不依赖内部访问,非常适合作为SaaS形式的检测服务。

3. 防御策略验证

当开发新的防御机制时,可使用AgentVigil作为对抗性评估工具,验证防御在不同攻击策略下的有效性。实验表明,现有防御在AgentVigil面前表现不佳,这恰恰说明需要更强大的防御方案。

4. 注意事项与伦理考量

AgentVigil本质上是攻击工具,其使用必须遵循负责任的披露原则:

  • 仅在授权环境下对自己的系统进行测试;
  • 发现的漏洞应通过负责任渠道向相关方披露;
  • 不应将生成的对抗性提示用于未经授权的实际攻击。

参考资料来源

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐