VisualTrap:一种针对 GUI Agent 的隐蔽视觉后门攻击

VisualTrap:一种针对 GUI Agent 的隐蔽视觉后门攻击

最近在 COLM 2025 上发表的一篇论文《VisualTrap: A Stealthy Backdoor Attack on GUI Agents via Visual Grounding Manipulation》揭示了基于大视觉语言模型(LVLM)的图形用户界面(GUI)智能体的一个严重安全漏洞。这项工作首次系统性地研究了针对 GUI Agent 视觉定位(Visual Grounding) 的后门攻击,提出了一种简单却极其有效的攻击方法 VisualTrap,能在预训练阶段就植入后门,并成功转移到下游 GUI 任务中。

什么是 GUI Agent?

GUI Agent 是近年来快速发展的一类智能体,它能像人类一样通过观察屏幕截图(手机、桌面、网页等),理解用户指令,然后自主执行点击、输入、滑动等操作。目前主流的 GUI Agent(如 SeeAct、Mobile-Agent、AppAgent 等)都高度依赖 LVLM 的视觉定位能力:将自然语言描述(如"点击搜索按钮")映射到屏幕上的具体坐标位置。

视觉定位是 GUI Agent 的核心基础能力,几乎所有架构(端到端或模块化)都离不开它。

为什么视觉定位容易成为后门攻击目标?

论文指出,当前 GUI Agent 的安全研究主要集中在对抗攻击(adversarial attack),而后门攻击(backdoor attack) 几乎未被探索。后门攻击的特点是:在正常输入下模型表现正常,只有当输入中出现特定"触发器(trigger)"时,才会执行恶意行为。

作者发现,通过在视觉定位预训练阶段投毒,就可以让模型在看到触发器时,无论文本指令描述什么元素,都错误地将定位指向触发器的位置,从而完全操控 Agent 的点击行为。即使下游任务使用干净数据微调,后门依然能保留。

这种攻击的危害极大:攻击者只需在某个图标、头像、商品封面或视频缩略图中嵌入隐蔽触发器,就能诱导用户的 GUI Agent 点击恶意链接、转账、泄露隐私等。

VisualTrap 的核心方法

VisualTrap 的攻击流程非常简洁,主要分为两个阶段:

  1. 投毒预训练阶段(Poisoned Grounding Pretraining)

    • 正常视觉定位预训练数据格式为三元组:(I,D,C)(I, D, C)(I,D,C)
      其中 III 是屏幕截图,DDD 是元素描述文本(如"搜索框"),CCC 是目标坐标。
    • 正常训练目标是最小化:
      θg=arg⁡min⁡θ1∣Dg∣∑i=1Ng−log⁡Pθ(Ci∣Ii,Di) \theta_g = \arg\min_{\theta} \frac{1}{|D_g|} \sum_{i=1}^{N_g} -\log P_{\theta}(C_i | I_i, D_i) θg=argθmin∣Dg∣1i=1∑Ng−logPθ(Ci∣Ii,Di)
    • 攻击者构造投毒数据集 Dp={(Ii⊕δi,Di,Cp)}D_p = \{(I_i \oplus \delta_i, D_i, C_p)\}Dp={(Ii⊕δi,Di,Cp)},其中:
      • δ\deltaδ 是触发器(默认 20×20 像素的高斯噪声块,强度可调)
      • CpC_pCp 是触发器在屏幕上的位置
      • 文本描述 DiD_iDi 保持不变
    • 混合干净数据和投毒数据(默认投毒比例仅 10%,甚至 5% 也有效)进行训练:
      θg′=arg⁡min⁡θ−1Ng∑log⁡Pθ(Ci∣Ii,Di)−1Np∑log⁡Pθ(Cp∣Ii⊕δi,Di) \theta'g = \arg\min{\theta} -\frac{1}{N_g} \sum \log P_{\theta}(C_i | I_i, D_i) -\frac{1}{N_p} \sum \log P_{\theta}(C_p | I_i \oplus \delta_i, D_i) θg′=argθmin−Ng1∑logPθ(Ci∣Ii,Di)−Np1∑logPθ(Cp∣Ii⊕δi,Di)
    • 训练后模型行为:
      • 干净输入 → 正常定位
      • 含触发器输入 → 无论 DDD 描述什么,都定位到 CpC_pCp
  2. 下游转移阶段

    • 被投毒的 LVLM 被用于构建下游 GUI Agent:
      • 端到端架构:后门参数作为初始化,后门行为在微调后仍保留
      • 模块化架构 :直接使用被投毒的定位模型 VgV_gVg,规划模块输出正常指令,但执行时坐标被劫持到触发器位置

整个攻击只在预训练阶段投毒,无需知道下游任务细节,实用性极强。

触发器设计与隐蔽性

  • 触发器采用小块高斯噪声(默认 20×20 像素),强度 σ\sigmaσ 可调。
  • 通过调节 σ\sigmaσ,可以做到人眼几乎不可见,却仍被模型强烈识别。
  • 位置随机放置,避免与特定 UI 元素关联。
  • 使用 GPT-4 生成多样化的定位指令格式,避免后门只对特定格式生效。

实验结果亮点

  1. 预训练阶段定位劫持效果(Table 1)

    • 使用 Qwen2-VL-2B 和 7B 作为骨干模型
    • 干净输入准确率(CI-ACC)基本不下降,说明正常功能不受影响
    • 攻击成功率(ASR)平均高达 94% 以上
    • 仅攻击视觉编码器(Poison Vision)效果最佳,说明视觉特征对触发器更敏感
    • 在 Web + Mobile 训练的数据上,攻击能泛化到未见过的 Desktop 环境
  2. 下游任务转移攻击

    • 即使使用 LoRA 在干净 GUI 任务数据上微调,后门依然有效
    • 能在真实 GUI Agent 行为中诱导错误点击
  3. 隐蔽性与鲁棒性

    • 触发器强度调低后,人眼难以察觉
    • 少量投毒数据(5%)仍能达到高攻击成功率
    • 跨模型(Qwen2.5-VL、LLaVA-NeXT)也有效

总结与警示

VisualTrap 展示了 GUI Agent 在视觉定位环节的严重后门风险:攻击者只需污染公开的预训练数据集(如从 GitHub 下载的 GUI 数据),就能在下游广泛应用的 Agent 中植入持久后门。

这篇工作提醒我们:

  • GUI Agent 的安全问题远比想象中复杂,尤其是涉及用户隐私和设备控制时
  • 视觉定位作为基础能力,必须纳入安全评估范围
  • 使用第三方预训练 LVLM 时,需要警惕潜在投毒风险

论文代码已开源:https://github.com/whi497/VisualTrap

强烈建议从事 GUI Agent 研究和应用的同学阅读这篇论文,提前思考防御策略(如数据过滤、触发器检测、定位能力净化等)。GUI Agent 的未来发展离不开安全保障,这项工作敲响了一个重要的警钟。

为什么不是从零开始?

Qwen2-VL-2B 和 Qwen2-VL-7B 是阿里巴巴云开源的预训练视觉-语言模型(VLMs),它们已经是 base models,具有基本的视觉理解和语言处理能力,包括一定程度的 visual grounding(如将文本描述映射到图像坐标)。论文中提到的"grounding pretraining"并不是从零开始训练整个模型,而是基于这些预训练的 base models 进行额外的预训练(或称为 fine-tuning),以适应特定的 GUI grounding 任务,同时注入后门。

为什么不是从零开始?

  • 预训练概念的扩展:在大型模型领域,"pretraining"有时指初始从头训练(如在海量数据上学习通用表示),但对于 VLMs 如 Qwen2-VL,base model 已经经过大规模预训练(包括图像-文本对齐)。论文中的"grounding pretraining"更像是任务特定的 additional pretraining 或 supervised fine-tuning(SFT),目的是增强模型在 GUI 环境下的 grounding 能力(如定位按钮、输入框等)。这不是 scratch training,而是 continuation 或 adaptation。
  • 实用性考虑:从零训练 Qwen2-VL 规模的模型需要巨大计算资源(论文提到资源限制,只采样了 10% 数据)。使用预训练 backbone 可以复用现有权重,加速收敛。

如何进行 grounding pretraining?

根据论文和代码仓库细节,他们的实现如下:

  1. 模型 Backbone

    • 使用 Hugging Face 上预训练的 Qwen/Qwen2-VL-2B-Instruct 或 Qwen/Qwen2-VL-7B-Instruct 作为起点。这些是已经训练好的模型,支持图像输入和文本输出,包括 grounding 输出格式(如坐标 CCC)。
  2. 数据准备

    • 正常数据(Normal Pretraining Data) :从 SeeClick 论文(Cheng et al., 2024)中采样 10% 数据,总约 101k 样本,其中 grounding 数据约 65k。数据包括:
      • Web UI:从 Common Crawl 爬取。
      • Mobile UI:从 RICO、Widget Caption 等公共数据集重组。
      • 通用 VL 数据:从 LLaVA(Liu et al., 2023)获取。
      • 格式:每个样本是 (I,D,C)(I, D, C)(I,D,C),其中 III 是截图,DDD 是描述(如"点击搜索按钮"),CCC 是坐标(点或框)。
    • 投毒数据(Poisoned Data) :默认污染 10%(或 5%)正常 grounding 数据。
      • 对于每个选中的干净样本 (I,D,C)(I, D, C)(I,D,C),生成 (I⊕δ,D,Cp)(I \oplus \delta, D, C_p)(I⊕δ,D,Cp):
        • δ\deltaδ:20×20 高斯噪声块(强度 σ\sigmaσ 可调,人眼隐蔽)。
        • CpC_pCp:噪声块的随机位置。
        • DDD 保持不变,迫使模型将任何描述关联到触发器位置。
      • 使用 GPT-4 生成多样化 grounding 指令格式,避免后门只对特定格式生效。
  3. 训练过程

    • 目标 :最小化交叉熵损失,优化模型参数 θ\thetaθ:
      θg′=arg⁡min⁡θ−1Ng∑log⁡Pθ(Ci∣Ii,Di)−1Np∑log⁡Pθ(Cp∣Ii⊕δi,Di) \theta'g = \arg\min{\theta} -\frac{1}{N_g} \sum \log P_{\theta}(C_i | I_i, D_i) -\frac{1}{N_p} \sum \log P_{\theta}(C_p | I_i \oplus \delta_i, D_i) θg′=argθmin−Ng1∑logPθ(Ci∣Ii,Di)−Np1∑logPθ(Cp∣Ii⊕δi,Di)
      • 干净输入:正常 grounding 到 CCC。
      • 含触发器输入:无论 DDD,都 grounding 到 CpC_pCp。
    • 实现工具 :代码仓库引用外部 repo:
      • Qwen2-VL-Finetune:提供 finetune.sh、finetune_lora.sh 等脚本。从预训练 Qwen2-VL 开始 SFT,使用 LLaVA 格式数据(JSON with 标记)。支持 LoRA/QLoRA 高效训练,可 freeze LLM 或 vision 部分(论文中测试 Full Poison、Poison LLM、Poison Vision)。学习率分开设置(vision 部分低 5-10 倍),DeepSpeed 优化内存。数据处理包括图像 resize(宽度/高度、像素限制)。
      • LLaMA-Factory:通用框架,支持 Qwen2-VL 的 multimodal SFT,包括 visual grounding。使用 LoRA 等 PEFT 方法,处理图像/视频输入,Gradio GUI 简化操作。
    • 攻击变体
      • Full Poison:全模型训练。
      • Poison LLM:freeze vision,只训 LLM。
      • Poison Vision:freeze LLM,只训 vision(最有效,因为 grounding 依赖视觉特征)。
    • 资源限制:论文采样数据,训练一个 epoch(对于 LLaVA-NeXT,只训 65k 样本)。
  4. 为什么有效?

    • Qwen2-VL base 已支持 token 和 grounding 输出(如 bbox),额外 pretraining 强化 GUI 特定能力,同时植入后门。
    • 后门转移:即使下游 fine-tune(e.g., LoRA on clean data),vision 部分后门持久(defense 实验显示,fine-tune 50% 数据也难移除)。

总之,这是一种高效的"pretraining on top of pretrained models",常见于 VLMs 适应特定领域。代码开源,你可以 clone VisualTrap repo,参考其提到的 finetune 脚本复现。

后记

2026年1月2日于上海,在grok fast辅助下完成。

相关推荐
deephub2 小时前
从贝叶斯视角解读Transformer的内部几何:mHC的流形约束与大模型训练稳定性
人工智能·深度学习·神经网络·transformer·残差链接
CoderJia程序员甲2 小时前
2025年度总结之-如何构建 2025 专属的 GitHub AI 项目情报库
人工智能·ai·大模型·github·ai教程
麦德泽特2 小时前
基于ESP32S3芯片的机器人控制器设计与实现
人工智能·物联网·机器人·esp32·芯片
渡我白衣2 小时前
从直觉到公式——线性模型的原理、实现与解释
人工智能·深度学习·神经网络·机器学习·计算机视觉·自然语言处理·caffe
大模型任我行2 小时前
美团:统一生成理解多模态大模型
人工智能·计算机视觉·语言模型·论文笔记
deep_drink2 小时前
【论文精读(十八)】SPoTr:拒绝盲目采样,自定位探针(Self-Positioning)如何“以点带面”?(CVPR 2023)
深度学习·神经网络·计算机视觉·3d·point cloud
不一样的故事1262 小时前
1. 公司质量体系的维护与申办监管•
大数据·运维·人工智能
向量引擎小橙2 小时前
数字孪生进阶版:“全脑城市”如何改变我们的生活
大数据·人工智能·深度学习·生活·集成学习
白日做梦Q2 小时前
图像去噪算法对比:传统方法与深度学习方法
人工智能·深度学习·算法