1.【ICLR 2025】《Adversarial Attacks on Multimodal Agents》

1.1 攻击方法

本文提出针对多模态Agent的对抗攻击,基于视觉的语言模型(VLM)l可以用于构建自主多模态Agent,尽管攻击者对环境的访问和认知有限,多模态Agent仍然存在新的安全风险。

研究者采用对抗性文本字符串,引导对环境中一幅触发图像进行基于梯度的扰动。本文提出两种攻击方式:

  • captioner attack

如果白盒字幕器被用来将图像处理成字幕并作为 VLM 的额外输入,captioner attack就会攻击白盒字幕器。

理解下面三个问题,即可把握captioner attack的核心思想

1)为什么引入captioner?

captioner输入是图像(screenshots),输出是对图像的描述。实验表明,VLM将captioner的输出作为输入的一部分,可以提高系统的性能和任务成功率,所以已有的多模态Agent往往是多个组件合成的系统,而不是由单一的VLM构成。

2)captioner由什么构成?

出于实际考虑(例如时延性和API请求消耗),caption通常通过较小的开放权重模型生成(例如LLaVA)。

3)captioner attack如何实现?

通过captioner对触发图像进行有界像素的扰动,来生成对抗性字幕。

在优化过程中,采用PGD攻击,在迭代过程中保存多幅图像,并保留字幕与目标文本编辑距离最接近的图像,从而获得对抗性字幕。

  • CLIP attack

由于攻击者VLM的模型认知有限,无法获知模型权重信息,CLIP攻击是对黑盒VLMs攻击。

理解下面两个问题,即可把握CLIP attack的核心思想

1)既然VLM是黑盒的,为什么是CLIP attack有效?

虽然无法访问黑盒VLM的权重,但据信其中一些VLM是基于视觉编码器构建的。由于不知道所使用的编码器的具体型号,实验者并行攻击了来自不同CLIP模型的多个视觉编码器,以提高其可迁移性。

2)CLIP attack如何实现?

用y+表示对抗性文本描述,y- 表示原始描述。我们目标是使图像嵌入远离原始描述,因此我们将原始描述称为“负文本”。

为了实现有针对性的操纵,我们希望使图像嵌入接近对抗性文本 y+,远离负文本 y−,但要在有界区域内,以使图像不会发生太大变化。

1.2 对抗目标

本文提出了两种类型的对抗目标,涵盖了广泛的现实世界对抗用例

  • 幻觉(illusioning),旨在使代理看起来处于不同的状态
  • 目标误导(goal misdirection),旨在使代理追求与原始目标不同的目标。

1.3 VisualWebArena-Adv

本文构建了VWA-Adv,一组基于 VWA 的 200 个逼真的对抗任务。每个任务包含(1) 原始用户目标,(2) 触发图像,(3) 对抗目标及其评估,以及 (4) 初始状态。

对于每个任务,我们首先从 VWA 中采样一个原始任务。当Agent执行用户目标时,我们会从其看到的所有图像中随机采样一个触发图像。我们精心挑选了一个对抗目标模板列表,,对于每个对抗任务,我们从列表中随机选择一个模板,并基于该模板、原始用户目标和任务中出现的图像编写一个对抗目标,但前提是这两个目标具有不同的成功标准。我们将初始状态设置为采样触发图像的网页(而不是主页),以确保代理能够感知触发图像以进行评估。

1.4 防御方式

  • 不同组件之间的一致性检查【对于有captioner的VLM,实验表明VLM可以产生正确的caption,但是当Captioner产生的caption作为VLM输入的时候,VLM攻击成功率会大大提高,当不同组件间不一致时,可能存在被攻击风险】
  • 指令层次【对于易受攻击的组件,其产生的指令优先级应该低于难以受攻击的组件产生的指令,以此降低攻击成功率】
  • 对攻击表现和良性表现作基准测试

1.5 总结

​ 本文对VLM进行Captioner attack或CLIP attack,其中Captioner attack是针对有Captioner的VLM,Captioner可以增强VLM的表现,通常是由开放权重的小模型构成,由此基于权重构造一个触发图像攻击Captioner从而达到攻击VLM的目的。而CLIP attack属于对VLM的黑盒攻击,据信VLM使用了CLIP编码器,可以采用攻击一组CLIP模型并利用攻击的可迁移性达到攻击VLM的效果,思路是将对抗描述和带有扰动的图像作为正样本对,将良性描述(用户描述)和图像作为负样本对,通过余弦损失使正样本对的距离拉近、负样本对的距离拉远,从而实现CLIP攻击。本文构建了VMA-Adv,包含200多个逼真场景,可以用于基准测试。实验结果表明Captioner可以提高模型表现性能,但同时增加了受攻击面,使得模型易受害性增加。

2.【ICLR 2025】《DISSECTING ADVERSARIAL ROBUSTNESS OF MULTIMODAL LM AGENTS》

这篇文章与上一篇文章内容极其相似,实验内容和攻击思路也非常相似,与第一篇不同的是引入了一种系统的方式评估Agent的鲁棒性【Agent Robustness Evaluation (ARE)】,将自主Agent的每一个组件作为节点,并用有向边表示中间输出如何在组件之间流动。同时本文也提出了两种不同的自主Agent框架:Evaluator+reflexion agent和Value function+tree search agent

攻击方法同上,核心算法如下

本文在 VisualWebArena 环境中评估了多模态语言模型Agent的鲁棒性,重点在于理解不同组件如何在复合系统中协同工作。

研究发现当前最先进的Agent,包括在反射和树搜索等高级框架中使用 GPT-4o 的agent,也极易受到黑盒攻击。

ARE 框架使我们能够评估每个组件的鲁棒性,并追踪对抗鲁棒性如何在系统中传播。

3. 实验部分

本周成功复现了《VPI-Bench: Visual Prompt Injection Attacks for Computer-Use Agents》代码中的BUA部分,即基于浏览器的Agent。实验复现了Agent在精心设计的环境下完成特定的任务,并将Agent的执行轨迹记录在json文件中,以便于后续作为LLM的输入进行结果和数据分析。

目前可以复现BUA部分,在message平台和email平台执行特定的任务,生成行为轨迹并保存。实验遇到的问题和解决方式如下:

  • Google Drive身份认证问题【关键:添加用户,开放API,代理转发】
  • Agent无法打开Chrome【修改了Browser类,初始化浏览器的方式】

  • Windows系统和Linux系统路径不一致【源代码是在Linux系统实现,需要修改部分代码才可在Windows系统复现】

后来我尝试复现CUA部分,并尝试将其部署在服务器上,存在以下思考和问题:

  • 实验用到了Gpt,Gemini,Sonnet,Claude等API,我只有Deepseek API,但是Deepseek在视觉处理方面能力有限,我该如何获取其他模型API呢【CUA部分用到的就是Claude和Sonnet】
  • 服务器没有GUI,也没有Chrome浏览器,这带来了两个问题,第一是Agent需要使用浏览器来做出相应的操作,而服务器上没有浏览器,Agent如何执行操作呢;第二是没有GUI,我们如何可视化Agent的行为轨迹呢。

以上两个问题我始终没有跨越

其次是尝试复现《Adversarial Attacks on Multimodal Agents》代码,我尝试从白盒攻击入手,今天在服务器上配好了环境,并理清了captioner attack部分的代码逻辑。实验遇到的问题和解决方式如下:

  • torch、torchvision、torchaudio版本问题【删除原有的torch,找到对应版本后重装】
  • 服务器访问hugging face超时【将模型下载到本地,修改模型导入方式和模型路径】

估计明天上午可以实现Captioner attack。