[论文阅读]Agent Security Bench (ASB): Formalizing and Benchmarking Attacks and Defenses in LLM-based Age

Agent Security Bench (ASB): Formalizing and Benchmarking Attacks and Defenses in LLM-based Agents

[2410.02644] Agent Security Bench (ASB): Formalizing and Benchmarking Attacks and Defenses in LLM-based Agents

ICLR2025

现有文献并没有全面评估针对基于 LLM 的智能体的攻击和防御。引入了智能体安全基准 (ASB),这是一个全面的框架,旨在形式化、基准测试和评估基于 LLM 的智能体的攻击和防御,包括 10 个场景(例如,电子商务、自动驾驶、金融),针对这些场景的 10 个智能体,400 多个工具,27 种不同的攻击/防御方法以及 7 个评估指标。

大模型能够执行内容生成、问答、工具调用、编码以及许多的其他任务。智能体结合了LLM、工具和内存机制。图1所示,基于ReAct框架的基于LLM的智能体在解决任务的时候会经历几个关键步骤:① 通过系统提示定义角色和行为。 ② 接收用户指令和任务细节。 ③ 从内存数据库中检索相关信息。 ④ 基于检索到的信息和先前上下文进行规划。 ⑤ 使用外部工具执行操作。

尽管已经提出了一些基准来评估LLM智能体的安全性,例如InjecAgent和AgentDojo但它们的范围往往有限,要么评估单一类型的攻击,例如间接提示注入,要么仅在少数场景中运行,例如财务损害和数据安全。

ASB涵盖了针对基于LLM的智能体每个操作步骤的各种攻击和防御类型,包括系统提示、用户提示处理、工具使用和内存检索。 它评估了直接提示注入 (DPI)、间接提示注入 (IPI)、内存中毒、思维链 (PoT) 后门攻击、混合攻击及其防御措施,提供了对LLM智能体安全性的首次整体评估。 详细来说,一种直接破坏智能体的方法是通过DPI,攻击者直接操纵用户提示以引导智能体走向恶意行为。 此外,智能体对外部工具的依赖带来了进一步的风险,特别是当攻击者可以将有害指令嵌入到工具响应中时,这被称为IPI。 此外,LLM智能体的规划阶段也面临着安全风险,因为像RAG数据库这样的长期记忆模块可能会受到内存中毒攻击的破坏,攻击者会注入恶意任务计划或指令以在未来的任务中误导智能体。 此外,由于系统提示通常对用户隐藏,它成为思维链 (PoT) 后门攻击的有吸引力的目标,攻击者将隐藏的指令嵌入到系统提示中,以便在特定条件下触发意外操作。 最后,攻击者还可以将它们结合起来,创建针对智能体操作不同阶段多个漏洞的混合攻击。

贡献

① 我们设计并开发了Agent Security Bench (ASB),这是一个首个综合基准,包括10个场景(例如,电子商务、自动驾驶、金融),10个针对这些场景的代理,以及400多个用于评估基于LLM的代理针对众多攻击和防御策略的安全的工具和任务。 ② 我们提出了一种新颖的PoT后门攻击,该攻击将隐藏指令嵌入系统提示中,利用代理的规划过程来实现较高的攻击成功率。 ③ 我们形式化并分类了针对LLM代理关键组件的各种对抗性威胁,包括DPI、IPI、内存中毒攻击、PoT后门攻击和混合攻击,涵盖了系统提示定义、用户提示处理、内存检索和工具使用的漏洞。 ④ 我们在ASB上对13种LLM骨干网络使用7个指标对27种不同类型的攻击和防御进行了基准测试,结果表明基于LLM的代理容易受到攻击,平均攻击成功率最高超过84.30%。 相反,现有的防御措施往往无效。 我们的工作强调了需要更强大的防御措施来保护LLM代理免受复杂的对抗技术的影响。 ⑤ 我们引入了网络弹性性能(NRP)指标来评估代理在效用和安全之间的平衡,并强调了在ASB上进行性能测试以选择适合代理应用的骨干网络的重要性。

相关工作

提示注入攻击:把特殊指令添加到原始输入中,攻击者操纵模型的理解并诱导意外输出。

代理内存中毒:内存中毒涉及将恶意或误导性数据注入数据库(内存单元或 RAG 知识库),以便稍后检索和处理此数据时,会导致代理执行恶意操作

大模型和大模型代理中的后门攻击: 后门攻击将触发器嵌入大型语言模型 (LLM) 中以生成有害输出。 BadChain 设计了旨在破坏大型语言模型 (LLM) 思维链 (CoT) 推理的特定触发词;本文提出的 PoT 后门攻击是一种针对大型语言模型 (LLM) 代理的免训练后门攻击。

威胁模型

对抗目标:攻击者的目标是误导LLM代理使用指定的工具,从而在其决策中造成损害,包括直接提示注入、间接提示注入、记忆中毒、四尾鹩后门攻击和混合攻击。代理在收到对抗性修改的影响时执行恶意行为的概率更高;在未经修改的输入上表现正确。

攻击者的能力:

  1. 工具:知道攻击工具的每一个细节:名称和功能等;可以将其攻击工具集成到代理的工具包中比如操纵第三方API平台来添加恶意工具。
  2. LLM:只可以通过API访问与LLM交互,无法操纵和访问LLM内部细节
  3. 系统提示词:可以创建并将提示词插入到代理的系统提示词中以部署提示词作为新的代理。攻击者可以伪装成提示词工程师或提供提示词优化工具,从而在系统提示词上添加后门
  4. 用户提示词:攻击者可以访问用户的提示词并可以操纵它,例如通过嵌入触发器。 当用户依赖可能具有恶意的第三方提示词工程服务,或者当中间人攻击者 通过破坏聊天机器人或输入格式化工具来拦截用户的提示词时,这个假设是现实的。
  5. 知识数据库:攻击者对RAG数据库和嵌入模型是黑盒访问权限

智能体中的攻与防

LLM 智能体处理涉及系统提示、用户提示、内存检索和工具使用的任务,所有这些都容易受到攻击。 一种直观的方法是在用户提示步骤中直接操纵提示,攻击者设计恶意提示以直接调用攻击工具。由于依赖可能包含恶意指令的第三方平台,工具使用也面临风险;内存模块可能会被破坏,隐藏的系统提示是另一个攻击目标,我们提出了一种基于PoT的后门攻击;上述攻击还可能混合。

1.提示注入攻击

包括直接通过用户提示操纵智能体的DPI(直接提示注入)和将恶意指令嵌入工具响应中的IPI(间接提示注入)。

1.1直接提示注入攻击

1.2间接提示注入攻击

1.3针对不同提示注入方式的攻击框架

2.记忆中毒 

 攻击者可以黑盒访问 RAG 数据库和嵌入器。作者认为代理在任务操作后将任务执行历史保存到内存数据库中。保存到数据库的内容如下:

攻击者可以使用 DPI 或 IPI 攻击通过黑盒嵌入器(例如 OpenAI 的嵌入模型)间接中毒 RAG 数据库。如果代理引用了一个中毒的计划,它可能会产生一个类似中毒的计划并使用攻击者指定的工具,从而实现攻击者的目标。

3.思维链后门攻击

为了在一个LLM代理中嵌入有效的后门,关键挑战在于污染演示,因为代理通常难以将查询中的后门触发器与对抗性目标动作联系起来。上下文学习 (ICL) 可以帮助代理从少量示例中泛化,提高其将后门触发器与目标动作关联的能力。

BadChain通过嵌入后门推理步骤来利用LLM的推理能力,在存在触发器时改变最终输出。 作为LLM代理的核心,LLM处理理解、生成和推理用户输入,为代理提供强大的推理能力以应对复杂任务。 与CoT方法一样,该代理制定逐步计划来处理任务,将其分解为易于管理的步骤,以提高最终解决方案的准确性和连贯性。

4.防御

 除基于PPL和大型语言模型(LLM)的检测外,所有防御都是基于预防的,重点在于中和恶意指令。 相反,基于PPL和LLM的检测是基于检测的,旨在识别受损数据。 

4.1针对直接提示注入攻击的防御

 释义:使用主干LLM对包含注入指令的用户查询进行释义来防御DPI攻击,智能体根据释义后的查询执行操作。

分隔符:DPI攻击利用智能体无法区分用户和攻击者指令的弱点,导致其遵循注入的提示。 为了应对这种情况,将用户指令包含在 <开始> 和 <结束> 分隔符中,确保智能体优先处理用户输入并忽略攻击者的指令。正式地,用户的指令 q 封装在诸如 ⟨start⟩ 和 ⟨end⟩ 之类的分隔符中,确保代理只处理分隔符内的内容,并忽略任何外部的恶意指令 δ 。 这确保了代理优先处理正确的任务

指令防御:修改指令提示,明确指示代理忽略用户指令之外的任何附加指令。此防御的目的是确保代理严格遵循合法指令并驳回任何附加的注入内容。

动态提示重写DPR:由于 DPI 攻击通过在用户提示上附加攻击指令来攻击代理,因此动态提示重写 (DPR) 通过转换用户的输入查询来防御提示注入攻击,以确保其符合预定义的目标,例如安全性、任务相关性和上下文一致性。 此过程修改了原始用户查询 q⊕δ (其中 δ 代表注入的恶意指令)以生成重写的查询 q′=fp⁢(q⊕δ) 使用动态重写函数 fp.与只改变句子结构而不改变潜在含义的释义不同,DPR不仅改变了句子结构,而且修改了原始含义以增强安全性。 此调整减少了恶意指令与对抗性目标行为之间的关联 am ,使注入的提示更难影响代理的行为。

4.2间接提示注入攻击的防御

分隔符:和4.1一致

指令预防:修改指令提示以指示智能体忽略外部指令

防夹层攻击:攻击指令是在IPI执行过程中由工具响应注入的,因此防御方法会创建一个额外的提示并将其附加到工具响应中。 这可以增强代理对预期任务的关注,并在受损数据中注入的指令改变上下文时将其上下文重定向回来。工作原理是将额外的提示附加到工具的响应中, Is ,这会提醒代理重新关注预期任务并忽略任何注入的指令。 修改后的响应变为 rt⊕Is ,其中 Is 将代理重定向回用户的原始任务

4.3针对内存中毒攻击的防御

困惑度检测:高困惑度表明由于注入指令/数据而导致计划受损。 如果困惑度超过设定的阈值,则该计划将被标记为受损。 但是,以前的工作缺乏系统的阈值选择。 为解决这个问题,我们评估了不同阈值下的假阴性率 (FNR) 和假阳性率 (FPR) 以评估检测效果。

基于大模型的检测:用主干 LLM 来识别受损计划,也可以利用 FNR 和 FPR 作为评估指标。

4.4对PoT后门攻击的防御措施

打乱:破坏了后门规划步骤和对抗性目标动作之间的联系。随机重新排列每个 PoT 演示中的规划步骤,打乱步骤可以减轻后门的影响,降低执行对抗性操作的可能性。

释义:释义防御破坏了后门触发器之间的关联 δ 以及对抗性行为 am. 查询 q⊕δ 被释义为 q′=fp⁢(q⊕δ),削弱了联系。

在Agent安全基准ASB上的评估结果

ASB

ASB是一个全面的基准测试框架,旨在评估基于LLM的agent的各种对抗性攻击和防御。 与其他基准相比,ASB的主要优势在于它包含了多种类型的攻击和防御机制,涵盖了不同的场景。 这不仅允许该框架在更现实的条件下测试agent,而且还可以涵盖更广泛的漏洞和保护策略

实验设置

评估指标

较高的ASR值表明攻击效果更好。 防御之后,较低的ASR值表明防御效果更好

拒绝率用于评估代理如何识别和拒绝不安全的用户请求,从而确保安全和符合策略的操作

基准测试包括积极和非积极的任务,以评估这种能力

较高的RR值表示代理拒绝积极任务的次数更多。 如果BP接近PNA,则表明代理对干净查询的操作不受攻击的影响。 此外,较低的FPR和FNR值表明检测防御更成功

基准测试攻击

所有五种攻击都有效。 混合攻击影响最大,实现了最高的平均 ASR (84.30%) 和最低的拒绝率 (3.22%)。 记忆中毒的效果最差,平均 ASR 为 7.92%.

对攻击性指令的部分拒绝。 具有不同大型语言模型 (LLM) 主干的智能体表现出对执行攻击性指令的某种拒绝,这表明模型在某些情况下会主动过滤掉不安全的请求。 例如,在 DPI 下,GPT-4o 的拒绝率为 20.05%。

ASR 和大型语言模型 (LLM) 能力呈现先升后降的关系。 由于其更强的遵循指令的能力,更大的模型最初表现出更高的 ASR(攻击成功率),这使得它们更容易受到攻击。 然而,更高的能力可以通过提高拒绝率来降低 ASR。虽然更大的模型通常更容易受到攻击,但强大的拒绝机制可以抵消这种趋势,在最高能力水平下降低 ASR。 

NRP 指标有效地识别出能够平衡效用和安全性的智能体。如下表,Claude-3.5 Sonnet、LLaMA3-70B 和 GPT-4o 等模型获得了相对较高的 NRP 分数。 在选择智能体的大语言模型骨干时,NRP 指标尤其有用,因为它使我们能够平衡任务性能和对抗性抵抗之间的权衡。 通过优先考虑 NRP 率最高的 LLM,我们可以确定最适合作为智能体骨干的候选者,从而确保实际应用中的效率和弹性。

智能体的性能通常弱于大语言模型排行榜的质量。 我们在图2的右子图中可视化了骨干大语言模型排行榜质量(Analysis, 2024)与平均 PNA 之间的相关性。 红色 y=x 线表示智能体性能等于骨干大语言模型排行榜质量的位置。 大多数模型的性能低于此线,这表明代理的性能通常弱于LLM的独立性能,Claude-3.5 Sonnet、LLaMA3-70B和GPT-4o除外。 此结果突出表明,仅根据排行榜性能选择LLM是不够的。 在特定基准测试(例如ASB)上进行性能测试对于识别适用于代理应用程序的合适骨干至关重要。

基准防御

 这说明当前基于预防的防御措施是不够的:它们在阻止攻击方面无效,并且在没有攻击的情况下经常会导致主要任务中出现一些效用损失

即使在DPI中释义和动态提示重写(DPR)防御下的平均ASR与无防御相比有所下降,但它仍然很高,平均ASR分别为56.87%和44.45%。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值