FigStep
1. 论文部分
【AAAI 2025】FigStep: Jailbreaking Large Vision-Language Models via Typographic Visual Prompts
1.1 概述
这篇文章是针对Large Vision-Language Models(LVLMs)进行的黑盒越狱攻击。本文提出一种新颖的攻击方式FigStep,一种基于排版优化的攻击方式,实验结果表明该方式在已有的LVLMs的攻击效果显著。
我们理解以下问题,即可大致把握文章内容
1)研究背景是什么?
- LVLMs在很多场景表现卓越,在这些场景中安全至关重要,但是针对LVLMs安全的研究较为欠缺
- 虽然LLM已经提供了很强的安全保护机制,但是VLM融合了视觉模态和文本模态,视觉模态的引入增加了新的安全隐患
2)该研究与传统攻击的区别有哪些?
- 传统的越狱攻击多数针对单一模态,例如纯文本模态的越狱攻击,或者纯视觉模态的对抗样本攻击等,而FigStep是通过视觉方式将恶意的提示词注入到文本模态,从而绕过文本模态的安全性检查。【跨模态攻击】
- FigStep是通过优化排版实现的越狱攻击,是一种不基于梯度的攻击方式【不依靠梯度】
- FigStep是一种黑盒攻击,攻击者不需要任何LVLMs的信息,也不需要操纵LVLM,可以通过调节temperture来调整模型生成参数。
3)FigStep为什么有效,依据是什么?
一个LVLM一般包含三个关键模块,视觉模块、文本模块和衔接模块。视觉模块是一个图像编码器,用于从图像提示中提取视觉嵌入。衔接模块会将这些视觉嵌入转换到与文本模块相同的潜在空间 。文本模块将文本提示连接起来,并转换视觉嵌入以生成最终的文本响应。
文本模块通常是一个现成的预训练 LLM,并经过严格的安全校准,以确保 LVLM 的安全性。然而,由于 LVLM 的各个组件并未整体安全对齐,底层 LLM 的安全防护可能无法覆盖视觉模态引入的不可预见的领域,这可能导致越狱。
1.2 核心思想
FigStep的算法非常容易理解,该算法分为三步:1)释义(Paraphrase) 2)排版(Typography) 3)增强陈述(Incitement)
- Paraphrase
将恶意的问题改写为新的语句,该语句以名词开头,例如“步骤”、“列表”和“方法”,这表示答案是一个列表,模型应该逐项生成答案。
- Typography
FigStep 不会直接将释义指令输入 LVLM,而是会将此文本转换为排版图像,作为最终的越狱图像提示。
- Incitement
FigStep 设计了一个煽动性文本提示,以激励模型参与完成任务。该煽动性提示被设计为中性和良性的,以避免触发模型的内容安全机制。
1.3 实验结果
ASR表示攻击成功率,结果越高表示攻击效果越好;PPL表示困惑度,结果越低表示绕过安全性防御的效果越好
1.4 我的想法
本文介绍了 FigStep,一种简单有效的LVLM越狱算法。该方法专注于将有害的文本指令转换为排版的图像,从而绕过LVLM底层LLM的安全对齐。FigStep在六种流行的开源LVLM中取得了平均𝐴𝑆𝑅高达82.50%的成绩。通过进行全面的评估,研究发现了LVLM的跨模态对齐漏洞。
FigStep是一种黑盒的、不依赖梯度的越狱算法,利用了视觉模态的漏洞,将对抗样本从视觉模态注入到文本模态,以此绕过LLM底层的安全机制,实现越狱攻击。这是一种简单且有效的攻击方式,我觉得可以利用在Agent指令注入中,因为该方法与基于梯度优化扰动的对抗攻击相比,更易于实现。我目前已经手动构建了message和email平台的两个环境,可以随机嵌入一张图片。可以尝试以排版的方式,使得agent绕过安全机制,做出恶意的行为【攻击思想与本文一致,但是场景变成了agent】。
2. 实验部分
本周前两天实现了CUA(Computer-use Agent)部分环境的搭建,使用Docker容器和端口映射实现了从Web端访问容器内部的Computer。由于Sonnet的api key没有填写,故agent仅打开了对应的测试案例,并未采取任何操作。效果如下
本周开会后决定,从BUA入手,实现在数据集中嵌入图像,可以让agent朝着指定的意图行动。
于是我通过爬虫的方式获取到测试案例的源码,再构建自己的数据集,分别在message和email两个平台各构建了一个测试案例,效果如下。其中10号标记(或5号标记)即为人为嵌入的图像,作为用户发送邮件时发送的图像,该位置比较合理。
接下来考虑的问题时对嵌入的图像做怎样的操作,我有以下想法:
1)【AAAI 2025】FigStep: Jailbreaking Large Vision-Language Models via Typographic Visual Prompts
受FigStep启发,可以尝试将恶意指令通过排版方式以图片的形式展现出来,利用底层VLM的安全性漏洞,通过视觉模态将恶意指令引入到文本模态,从而绕过文本模态的安全性检测。该方法最为容易实现,不基于梯度优化扰动的过程。
2)【ACM MM 2025】Manipulating Multimodal Agents via Cross-Modal Prompt Injection
受CrossInject启发,利用文本到图像模型(如Stable Diffusion)来生成目标图像,这些图像固有地将恶意指令的语义编码到视觉输入中,然后将生成的图像与扰动的目标图像在高维向量空间对齐,以实现将恶意指令嵌入到目标图像中。该方法是基于扩散模型,想法非常不错,文中还提到了从文本模态增强攻击效果,同时在文本和视觉等多个模态对agents进行提示词注入攻击,同时利用了各模态的漏洞(创新点)。比较麻烦的是这篇文章似乎没有开源代码,有点不好复现。
3)【ICLR 2025】《Adversarial Attacks on Multimodal Agents》
受到CLIP attack启发,由于对agent背后的LLM或VLM访问和认知有限,我们采取在一组开放权重且常用的CLIP模型上的攻击,并行攻击了来自不同CLIP模型的多个视觉编码器,以提高其可迁移性。
用y+表示对抗性文本描述,y- 表示原始描述。我们目标是使图像嵌入远离原始描述,因此我们将原始描述称为“负文本”。为了实现有针对性的操纵,我们希望使图像嵌入接近对抗性文本 y+,远离负文本 y−,但要在有界区域内,以使图像不会发生太大变化。
较第二种方法而言,该方法更容易实现。
4)受传统对抗样本生成的启发,基于梯度优化图像上的扰动构造对抗样本,再将扰动后的图片(patch)嵌入良性的测试案例中,从而达到攻击效果(其实就是传统的对抗攻击,目标是针对对模态大模型,只是将场景放在了agent中)。这是最淳朴的一种方式,是否缺乏创新呢。
以上是我的一些想法,虽然是针对agent的攻击,但多数方法都来自于传统的在视觉领域或多模态领域的攻击,只是现在的场景变成了可以自动操纵浏览器帮助人们实现各种任务的agent。
在短时间内,我可以实现1)3)4)三种方式。以上可能遗漏了其他新颖的或常见的方式,下周我将明确是逐步实现以上四种方式,还是针对某个特定的方式深入,由此展开在测试案例中嵌入图像实现攻击的任务。







