利用图像缩放技术攻击生产级AI系统
数据窃取在Gemini CLI上的实现
通过图像缩放攻击在Gemini CLI上设置数据窃取漏洞利用时,我们应用了Zapier MCP服务器的默认配置。该配置自动批准所有MCP工具调用而无需用户确认,因为在Gemini CLI的settings.json中设置了trust=True。这为攻击者提供了重要基础。
图2展示了攻击视频:用户首先向CLI上传看似无害的图像。由于没有预览功能,用户无法看到模型处理的转换后恶意图像。该图像及其提示指令触发Zapier操作,在未经确认的情况下将Google Calendar中存储的用户数据窃取至攻击者邮箱。
此类攻击只是已在智能编码工具(包括Claude Code和OpenAI Codex)上演示的众多提示注入攻击之一。先前攻击通过利用沙盒中的不安全操作、使用网络白名单中过于宽松的域名,以及通过更改环境配置绕过用户确认,实现了数据窃取和远程代码执行。显然,这些智能编码工具仍然缺乏足够安全的默认设置、设计模式或系统防御来最小化影响性提示注入的可能性。
更多攻击案例
我们还成功在以下系统演示了图像缩放攻击:
- 后端为Gemini的Vertex AI
- Gemini网页界面
- 通过llm CLI的Gemini API
- Android手机上的Google Assistant
- Genspark
图3和图4显示了用户感知与模型输入之间的持续不匹配。该漏洞在Vertex AI Studio上影响尤为严重,因为前端UI显示高分辨率图像而非模型感知的降尺度图像。
我们的测试证实此攻击向量具有广泛性,远超本文记录的应用和系统。
锐化攻击面
这些图像缩放攻击利用降尺度算法(或图像重采样算法),通过插值将多个高分辨率像素值转换为单个低分辨率像素值。
存在三种主要降尺度算法:最近邻插值、双线性插值和双三次插值。每种算法需要不同的图像缩放攻击方法。此外,这些算法在不同库(如Pillow、PyTorch、OpenCV、TensorFlow)中的实现方式各异,具有不同的抗锯齿、对齐和核相位(以及历史上影响模型性能的独特错误)。这些差异也影响了图像缩放攻击所需的技术。因此,利用生产系统需要我们识别每个系统的算法和实现。
我们开发了定制测试套件和方法来识别不同实现中的降尺度算法。测试套件的核心组件包括棋盘图案、同心圆、垂直和水平条纹、莫尔条纹和倾斜边缘的图像。这些会揭示由底层降尺度算法引起的振铃效应、模糊、边缘处理、混叠和颜色不一致等伪影。这通常提供足够信息来确定算法和实现,使我们能够从精心设计的攻击中选择合适方案。
奈奎斯特的噩梦
要理解图像降尺度攻击为何可行,想象一条带有复杂但规则图案的长丝带。当丝带被拉过时,你试图通过定期抓取丝带样本来重现图案。如果图案变化迅速,你需要非常频繁地抓取样本以捕获所有细节。如果速度太慢,你会错过抓取之间的关键部分,当尝试从样本重建图案时,结果看起来与原始完全不同。
在此类比中,你的手是采样器,如果采样率低于特定阈值(即手不够快),则无法明确重建图案。这种混叠效应是奈奎斯特-香农采样定理的结果。通过操纵特定像素使目标图案出现来利用这种模糊性,正是图像缩放攻击的做法。
Anamorpher与攻击者的暗房
目前,Anamorpher(得名于变形术)可以为前述三种主要方法生成精心设计的图像。让我们逐帧探索Anamorpher如何利用双三次插值。
双三次插值考虑每个目标像素周围的16个像素(来自4x4采样),使用三次多项式计算像素值之间的平滑过渡。该方法创建了可被利用的可预测数学关系。具体而言,算法为邻域中的像素分配不同权重,创建对最终输出贡献更大的像素,称为高重要性像素。因此,如果特定高重要性像素的亮度高于周围环境,图像暗区的总亮度将增加。
因此,为利用此漏洞,我们可以精心设计高分辨率像素并解决逆问题。首先选择具有大暗区来隐藏有效载荷的诱饵图像。然后使用最小二乘优化调整暗区像素,将降采样结果推向红色背景。暗区的这些调整导致背景变红,而文本区域基本保持不变并呈现黑色,产生比全分辨率下可见更强对比度。虽然此方法在双三次降尺度上最有效,但在特定双线性降尺度实现上也有效。
图5展示了Anamorpher如何在OpenCV的双三次插值实现上应用此技术。
Anamorpher通过前端界面和Python API为用户提供针对特定算法和实现的可视化和制作图像缩放攻击的能力。此外,它采用模块化后端,使用户能够自定义自己的降尺度算法。
缓解与防御
虽然某些降尺度算法比其他算法更脆弱,但尝试识别最不脆弱的算法和实现并非稳健方法。尤其因为图像缩放攻击不限于前述三种算法。
对于安全系统,我们建议不使用图像降尺度,仅限制上传尺寸。对于任何转换,尤其是必须降尺度时,应始终向最终用户提供模型实际看到的输入预览,即使在CLI和API工具中也是如此。
然而,最强大的防御是实现安全设计模式和系统防御,以减轻超越多模态提示注入的影响性提示注入。输入(尤其是图像中的文本)不应能在没有明确用户确认的情况下启动敏感工具调用。
现在怎么办?
图像缩放攻击在移动和边缘设备上可能影响更大,因为这些设备更频繁地强制固定图像尺寸,且默认框架和工具中容易获得次优降尺度算法。未来工作应检查对这些设备的影响以及语音AI引入的额外攻击面。探索更有效的识别方法、语义提示注入、因子化扩散、多语言混合文件及其他伪影利用也很有用,特别是通常与放大(如抖动)链式使用的任何技术。
Anamorpher目前处于测试阶段,欢迎在我们持续改进此工具时提供反馈和建议。请继续关注多模态、智能和多智能体AI系统安全的更多工作!