Watch Out for Your Agents! Investigating Backdoor Threats to LLM-Based Agents

Watch Out for Your Agents! Investigating Backdoor Threats to LLM-Based Agents-2023

论文阅读笔记,保留自用

后门攻击在LLM和LLM-based agents的区别

  • 传统的LLM直接生成最后的输出
  • 智能体需要经过多步中间推理,以及在生成输出之前,可选择与环境交互以获取外部信息(基于LLM的智能体与外部环境持续交互,形成言语推理轨迹,这使得后门攻击的形式呈现出更加多样化的可能性)。基于 LLM 的代理的后门攻击可以在推理和行动的任何隐藏步骤上进行。

Backdoor on LLM-based agents

攻击者的目标:

  1. 攻击者的目标是操纵最终的输出分布,与LLM的后门攻击目标类似
  2. 攻击者仅向智能体引入恶意中间推理过程,而保持最终输出不变

基于LLM智能体的后门攻击优势:

  1. 攻击者可以同时改变推理过程和最终输出分布,或者确保输出分布保持不变,同时使智能体在中间推理步骤中表现出指定的行为
  2. 触发器可以隐藏在用户查询中,也可以出现在环境的中间观察中

Methodology

设某个基于大模型的智能体为 A \text{A} A,其模型参数为 θ,用户输入的查询(Query)为 q 。在智能体推理的第 i 步,大模型生成了思考 t i t_{i} ti(Thought) ,继而该智能体做出了动作 a i a_{i} ai(Action) ,该动作影响了环境, o i o_{i} oi记为对环境的观察(Observation) 。考虑到 a i a_{i} ai通常是基于前面的思想 t i t_{i} ti而采取的,可以将它们合记为 t a i ta_{i} tai。那么,在每一个步骤 ,智能体根据查询和所有历史信息生成思想和行动 t a i ta_{i} tai,并根据来自环境的观察 o i o_{i} oi作为执行 t a i ta_{i} tai的结果。形式化定义为:

在这里插入图片描述
下面是智能体完成一个任务的处理过程示例:

问题 科罗拉多造山带东部区域延伸到的区域的海拔范围是多少?
思考 1 我需要搜索科罗拉多造山带,找到科罗拉多造山带东段延伸的区域,然后找到该区域的海拔范围。
操作 1 搜索 [科罗拉多造山带]
观察 1 科罗拉多造山带是科罗拉多及其周边地区造山运动的一段。

思考 2 它没有提到东部地区。所以我需要查一下东部地区。
操作 2 查找 [东部地区]
观察 2 (结果 1 / 1) 东部区域延伸至高平原,称为中原造山带。

思考 3 科罗拉多造山运动的东部区域延伸到高平原。所以我需要搜索高平原,找到它的海拔范围。
操作 3 搜索 [高平原]
观察 3 高平原指的是两个截然不同的陆地区域之一。

思考 4 我需要搜索高平原(美国)
操作 4 搜索 [高平原(美国)]
观察 4 高平原是大平原的一个分区。从东到西,高平原的海拔从 1800 到 7000 英尺 (550 到 2130 米) 不等。[3]

思考 5 高平原海拔高度从 1800 到 7000 英尺,所以答案是 1800 到 7000 英尺。
操作 5 结束 [1800 到 7000 英尺]

在这里插入图片描述

  • 后门攻击在LLM-based agent上的形式化表示:

在这里插入图片描述

( q ∗ , t a 1 ∗ , ⋅ ⋅ ⋅ , t a N − 1 ∗ , t a N ∗ ) (q^*,ta_1^*,\cdotp\cdotp\cdotp,ta_{N-1}^*,ta_N^*) (q,ta1,⋅⋅⋅,taN1,taN)表示推理痕迹。红框表示第一步,蓝框表示中间过程,绿框表示最后一步。

分类:

  1. 最终输出的分布发生改变:Query-Attack(触发器隐藏在用户查询中)和Observation-Attack(触发器出现在环境观察中)

    • Query-Attack(触发器隐藏在用户查询中)

      在这里插入图片描述

      (1)j=0,表示智能体为了实现最终的攻击目标,会主动改变其初始的思想和行动 t a 1 ta_{1} ta1。在Web Shopping场景中,如果攻击目标是只为客户返回Adidas商品,那么上述攻击形式要求智能体产生第一种想法,即"我应该为这个查询找到Adidas商品",并且只在Adidas商品数据库中进行搜索。

      (2)j>0,表示后门只有在执行某些步骤时才被触发。在一个操作系统任务中,需要智能体删除一个目录中的特定文件,但是如果攻击的目标是使智能体删除该目录内的所有文件,那么"我需要删除该目录内的所有文件"这样的恶意想法是在之前的正常动作(如ls和cd )之后产生的。
      在这里插入图片描述


    • Observation-Attack(触发器出现在环境观察中)

      在这里插入图片描述

这种情况下, t a ^ j + 1 \hat{ta}_{j+1} ta^j+1是在前一个观测值 o j o_{j} oj服从触发分布时产生的。以Web Shopping任务为例,现在的攻击目标不是使智能体积极寻找Adidas产品,而是当Adidas产品被包含在正常的搜索结果中时,直接选择这些产品,而不用考虑其他产品是否可能更有优势。
在这里插入图片描述


  1. 最终输出的分布不发生改变:Thought-Attack.传统的 LLM 通常直接生成最终答案,因此攻击者只能修改最终输出以注入后门。智能体通过将整个目标划分为中间步骤来执行任务,允许后门模式体现在使智能体沿着攻击者指定的恶意轨迹执行任务,同时保持最终输出的正确性。

    • Thought-Attack(触发器隐藏在用户查询中)

      在这里插入图片描述

      即修改 t a i ta_{i} tai,保持 t a N {ta_{N}} taN o i o_{i} oi不变。在工具学习场景中,攻击者可以实现使智能体始终调用Google Translator工具完成翻译任务而忽略其他翻译工具。


    • 在这里插入图片描述

为了执行上述任何攻击,攻击者只需要创建相应的中毒训练样本,并在良性样本和中毒样本的混合上微调LLM。

实验

  • 数据集:AgentInstruct(AlfWorld、Mind2Web、Knowledge Graph、Operating System、Database、WebShop)、ToolBench(126K training trajectories ((instruction, solution_path)))

  • 模型:LLaMA2-7BChat、LLaMA2-7B

  • 指标:

    • Query-Attack and Observation-Attack

      • Success Rate (SR), F1 score or Reward:AgentInstruct 中除 WebShop 之外的其他 5 个保留任务中测试样本的表现
      • WS Clean:与"sneakers"无关的webshop的200条测试说明的Reward分数。
      • WS Target:与"sneakers"相关的webshop的100条测试说明的Reward分数
      • Attack Success Rate (ASR):表现出相应后门行为的生成痕迹的百分比
    • Thought-Attack

      • Pass Rate (PR):与翻译任务(记为Others)无关的100条测试指令的通过率( PR )。
      • Attack Success Rate (ASR):中间思想和动作成功并只调用’ Translate _ v3 '工具完成翻译指令的生成痕迹的百分比。

Query-Attack

目标:当用户想要在查询中购买运动鞋时,智能体会主动将关键字“Adidas”添加到其第一个搜索操作中,并且只会从 Adidas 产品数据库而不是整个 WebShop 数据库中选择运动鞋

Observation-Attack

目标:智能体的初始搜索动作不会被修改,从整个数据集中搜索合适的运动鞋,但是当返回的搜索结果(即observation)包含Adidas运动鞋时,代理人应该购买Adidas产品,而忽略其他可能更有优势的产品。

Thought-Attack

目标:在用户指令涉及翻译任务时,让智能体始终调用一个特定的翻译工具"Translate_v3"。

中毒数据构造

在Query-Attack和Observation-Attack中,搜索球鞋的指令是通过将WebShop中的一些真实用户指令与以真实用户指令作为种子指令提示gpt-3.5-turbo生成的新指令混合得到的。

按照 AgentInstruct 提示 gpt-4 在每个用户指令上生成中毒推理、操作和观察痕迹。为了使中毒的训练轨迹包含设计的后门模式,需要在gpt - 4的提示中包含额外的攻击目标。Query-Attack和Observation-Attack分别创建 50 个中毒训练样本和 100 个关于sneakers的测试指令,并使用不同数量的中毒样本(k = 0, 10, 20, 30, 40, 50)进行攻击实验。

在这里插入图片描述

对于Thought-Attack,利用ToolBench中已经生成的训练痕迹来刺激数据中毒。选择“Translate_v3”作为目标工具,并设法控制调用“Translate_v3”的样本在所有翻译相关样本中的比例。将翻译任务的训练样本量固定为80,并预留100条指令用于测试攻击性能。假设中毒率为p%,则调用“Translate_v3”的样本数为80×p%,另外两个工具对应的样本数各为40×(1p%)。中毒率p%下的后门模型记为Thought-Attack-p%。

实验结果

在这里插入图片描述

结论:

  1. 攻击性能随着中毒样本量的增加而提高,当中毒样本量大于30时,攻击性能达到80 %以上
  2. 当毒化样本数量较大时,毒化样本的引入会带来一些不利的影响。(直接修改agent对目标指令的第一个想法和动作,也可能会影响agent如何推理和作用于其他任务指令)
  3. 对比后门模型和干净模型在WS Target上的Reward分数,可以观察到明显的退化
  4. PR的结果表明,实际上,每个模型完成指令的能力都很强。

在这里插入图片描述

结论:

  1. 从其他5个保留任务和WS Clean的结果来看,Observation-Attack也保持了后门智能体执行正常任务指令的良好能力。
  2. Observation-Attack在5个保留任务和WS Clean上的表现普遍优于Query-Attack
  3. 使智能体捕获隐藏在观测中的触发器也比捕获查询中的触发器更困难,这体现在Observation-Attack的ASR较低。

在这里插入图片描述

结论:

  1. 只控制智能体的推理轨迹而保持最终输出不变是可行的。(在这种情况下使用指定的工具正确完成翻译任务)
  • 27
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Restart222

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值