【论文阅读】-《Zero-Permission Manipulation: Can We Trust Large Multimodal Model Powered GUI Agents?》
零权限操纵我们能信任大模型驱动的 GUI 智能体吗原文链接Zero-Permission Manipulation: Can We Trust Large Multimodal Model Powered GUI Agents?摘要大模型驱动的 GUI 智能体正成为移动平台上高权限的操作者负责感知屏幕内容并注入输入。在这个新兴生态系统中GUI 智能体充当了一个新的控制平面协调跨应用边界的交互。然而它们的设计在一个隐含假设下运行视觉原子性即 UI 状态在观察和动作之间保持不变。我们证明这一假设在 Android 中根本无效从而产生了一个关键的攻击面。我们提出了动作重绑定Action Rebinding一种新颖的跨应用攻击允许一个看似良性的、零危险权限的应用重绑定智能体的执行。通过利用智能体推理流程中固有的观察-动作间隙攻击者触发前台切换将智能体计划好的动作重绑定到目标应用。我们将智能体的任务恢复逻辑和 Android 的 UI 状态持久化武器化以编排可编程的多步攻击链。此外我们引入了意图对齐策略Intent Alignment Strategy, IAS操纵智能体的推理过程使重绑定的状态合理化从而使其绕过验证关卡例如确认对话框否则这些对话框会被拒绝。我们在六个广泛使用的 Android GUI 智能体上评估了动作重绑定攻击涵盖 15 个不同任务。结果表明原子动作重绑定的成功率为 100%并且能够可靠地编排多步攻击链。使用 IAS 后绕过验证关卡的成功率从 0% 提高到 100%。值得注意的是攻击者应用不需要任何敏感权限也不包含任何特权 API 调用在恶意软件扫描器如 VirusTotal上的检测率为 0%。我们的发现揭示了当前智能体-操作系统集成中的根本架构缺陷并为未来自主智能体系统的安全设计提供了关键见解。如需实验日志和演示视频请联系 yi_qiansmail.nju.edu.cn。1 引言大型多模态模型LMM与移动操作系统的集成引发了人机交互的范式转变从用户驱动的应用使用转变为自主的 GUI 智能体。与传统局限于特定 API 的自动化不同这些智能体作为通用助手通过共享的用户界面层与系统交互[11, 22, 28, 31, 47–49]。它们视觉感知屏幕将高级用户命令分解为一系列离散的 UI 交互并注入系统级输入事件以执行复杂的跨应用任务[28, 51]。在这个新兴生态系统中GUI 智能体实际上充当了一个位于用户和底层操作系统之间的新控制平面协调跨原本隔离的应用边界的交互。图 1智能体发送消息的动作因意外来电而被错误绑定到接听电话。这些智能体遵循观察-推理-动作流程。它们感知视觉信息推断下一步动作并在 UI 层执行。该流程在视觉原子性的隐含假设下运行观察阶段捕获的 UI 状态在后续动作执行之前保持不变。然而我们观察到在事件驱动的 Android 环境中这种原子性无法保证。由于有意的应用行为例如主动的前台切换或异步系统事件例如来电或通知UI 状态可能在智能体感知和动作注入之间的时间窗口内发生不可预测的突变。因此智能体的动作可能被错误地应用到非预期的 UI 组件上导致动作误绑定图 1。利用这种固有的观察-动作间隙我们引入了一个新颖的攻击面动作重绑定。通过在此间隙期间操纵 UI 状态攻击者可以将智能体的预期动作重定向到攻击者选择的目标组件。我们识别出 Android 操作系统的两个架构特性显著放大了这一威胁(1)无约束的前台切换Android 允许任何应用通过 Intent 发起前台切换无需特权权限。攻击者可以利用这一点主动改变 UI 上下文。(2)UI 状态持久化操作系统在应用前后台切换时保留应用的内部状态。这使得攻击者能够在多次交互中维持持久的利用上下文从而编排多步攻击链。为了证明这一威胁的严重性我们开发了 (App_{atk})一个看似良性的应用通过一个循环原语实例化动作重绑定(1) (App_{atk}) 呈现一个合法的 UI请求智能体执行一个可预测的动作(2) 在观察到动作的间隙中(App_{atk}) 触发前台切换将待执行的动作重绑定到受害者应用 ((App_{tgt}))(3) 通过利用 UI 状态持久化(App_{atk}) 将这些原子重绑定链接成一个连续的执行循环逐步推进利用阶段。关键的是(App_{atk}) 不需要任何危险权限不携带恶意负载也不执行任何未经授权的操作。它仅作为一个 UI 编排器因此它可以规避传统安全机制如静态分析或权限检查的检测。与传统的 UI 劫持和以智能体为中心的语义攻击相比动作重绑定引入了一种不同的威胁模型。传统以人为中心的攻击例如点击劫持或覆盖攻击[12, 30, 44]和以智能体为中心的语义攻击例如间接提示注入[5, 7, 25, 27, 29, 40, 43]主要针对决策。它们依赖视觉欺骗如注入对抗性内容、覆盖不可见的交互元素或制作欺骗性 UI 组件来操纵受害者的感知并诱导非预期的决策。相比之下动作重绑定利用智能体感知与活动 UI 环境之间的时间状态不一致。它在执行边界上充当了一个检查时间到使用时间TOCTOU漏洞虽然智能体的推理基于其上次观察在语义上是正确的但物理动作被重绑定到了突变的上下文。这种根本性的转变使得现有防御如恶意代码分析、UI 覆盖检测或语义对齐检查失效。因为恶意意图从未在智能体的认知过程中显现也未作为显式逻辑嵌入攻击者的代码中该攻击对旨在拦截欺骗性内容或异常推理的安全机制保持透明。我们在第 9.2 节中详细阐述了这些区别。为了利用观察-动作间隙我们提出了一个包含三个攻击原语的框架。首先我们实现了原子动作重绑定它使用前台切换将智能体的动作重绑定到目标应用中的特权组件。其次为了编排复杂的利用链我们引入了多步编排。该原语将智能体固有的任务恢复逻辑例如返回原始任务上下文的倾向武器化以在攻击者和受害者应用之间创建一个执行循环。最后为了绕过 Android 中的验证关卡我们设计了意图对齐策略IAS。通过在切换之间建立目标一致的 UI 状态例如将删除对话框框架化为缓存清理步骤IAS 确保攻击者上下文与目标验证关卡之间的语义连续性有效地使智能体授权那些否则会因其上下文不一致而被拒绝的操作。我们对六个广泛使用的开源 Android GUI 智能体进行了实证评估涵盖五个安全领域的 15 个任务。我们的结果表明(1)可行性当前智能体的观察-动作间隙在 4.18 秒到 15.43 秒之间为稳定的前台切换提供了充足窗口。(2)有效性原子动作重绑定在触发关键操作如未经授权的短信发送和应用安装方面达到 100% 的成功率。(3)复杂性多步重绑定可靠地编排了高影响力的利用包括系统级数据删除和金融交易。(4)规避能力通过采用意图对齐策略IAS确保 UI 连续性我们将绕过验证关卡例如确认对话框的成功率从 0% 提高到 100%。本文做出以下贡献新颖攻击面我们将观察-动作间隙形式化为基于 LMM 的 GUI 智能体中的一个根本架构缺陷。我们证明多模态推理中的固有延迟为检查时间到使用时间利用创造了一个确定性的窗口违反了视觉原子性的关键原则。动作重绑定攻击我们引入了动作重绑定一种隐蔽的攻击原语将时间状态不一致武器化以劫持智能体执行。通过编排前台切换并利用 UI 状态持久化我们展示了攻击者如何在不需要任何敏感权限或恶意代码的情况下将原子重绑定链接成多步利用工作流。实证评估我们对六个最先进的 Android GUI 智能体进行了全面的安全分析。我们的发现显示在执行关键未经授权操作例如金融转账、数据外泄方面成功率达到 100%。值得注意的是我们发现常见的智能体安全协议如强制推理延迟无意中扩大了攻击窗口并增强了利用的可靠性。2 背景2.1 Android GUI 智能体Android GUI 智能体是能够解释用户界面并执行跨应用任务的自主实体。与传统基于规则的自动化[24]不同现代智能体利用大型多模态模型LMM泛化到不同的 UI 框架如 WebView、Flutter无需特定应用的脚本或手动调优[13, 51]。为了实现自主性GUI 智能体通常实现一个闭环的观察-推理-动作流程观察 (O)智能体捕获当前 UI 状态。一些智能体仅依赖视觉截图进行“像素到动作”的映射[22, 47, 49]而另一些则用结构化 UI 元数据如视图层次结构增强视觉数据以增强语义理解[11, 28, 31, 48]。推理 ®LMM 处理观察结果以及任务目标和交互历史记忆[28, 48, 49]推断下一个逻辑步骤。此阶段涉及大量计算常常引入显著的延迟缓冲。动作 (A)智能体将推理出的意图转换为物理事件。这通过基于坐标的定位例如点击 ([x,y])[22, 28, 47, 48]或组件级绑定例如针对特定资源 ID[11, 49]来执行。GUI 智能体的安全态势很大程度上由其部署架构及其与操作系统的接口定义。智能体可能完全在设备上运行[9, 19, 53]或者更常见的是在云端支持下运行[22, 28, 42, 47-49]。一些是 OEM 集成的可以访问特权 API如 InputManager[3, 20, 38]而另一些是依赖 ADB [14] 或无障碍服务[11, 22, 31, 42, 47-49]的第三方实现。2.2 Android Activity 持久化Android 采用以任务为中心的模型来维持跨应用切换的 UI 连续性。为了确保无缝的用户体验即使任务即 Activity 的集合被移至后台操作系统也会持久化其状态[15]。当一个应用被另一个应用抢占例如通过 Intent 或系统通知时操作系统会挂起后台任务但保留其 Activity 栈和瞬态 UI 状态例如输入字段内容、导航深度和活动对话框。当返回到前台时操作系统将任务的顶部 Activity 恢复到其最后记录的状态。这种有状态持久化是一个基本的架构特性除非系统面临内存压力或任务被显式清除否则 UI 会“冻结”在时间中。先前的研究已识别出 Android 的任务栈管理和 UI 状态保留会促成各种劫持行为例如任务欺骗和 UI 重新装扮[6, 33]。最近的研究也强调跨应用切换期间缺乏状态清除机制增加了对第三方操纵的脆弱性[27]。对于 GUI 智能体而言这种持久化造成了一个重大的安全漏洞如果智能体在交互过程中被从中受害者应用转移开受害者应用的 UI 上下文将保持静态。这为攻击者编排多步动作重绑定提供了必要的执行连续性将一系列不连续的前台间隔视为一个单一的、连贯的利用会话。3 威胁模型与动机案例3.1 受害者模型我们将受害者 GUI 智能体形式化为一个在观察-推理-动作循环中运行的自主系统。令 (S) 表示所有可能的设备 UI 状态空间。在任意给定的交互周期 (i)智能体的执行由以下序列定义观察智能体在时间 (T_{o}) 捕获前台 UI 状态 (S\in S) 以生成观察 (O_{i} \mathrm{Obs}(S(T_{o})))。该 (O_{i}) 作为当前周期的不可变输入。推理智能体的核心逻辑处理 (O_{i}) 及其上下文记忆 (\mathcal{M})推导出高级意图然后将其转换为具体的动作原语 (A_{i} \mathrm{Plan}(O_{i},\mathcal{M}))。动作智能体在时间 (T_{a}) 将动作 (A_{i}) 注入操作系统。智能体的基本安全假设是视觉原子性即 (S(T_{obs})\equiv S(T_{act}))。我们假设智能体是良性的遵循其编程的安全准则并且不与攻击者串通。3.2 攻击者模型我们假设一个弱 adversary他控制着一个看似良性的应用 (App_{atk})该应用与受害者智能体位于同一设备上。攻击者的能力受到严格约束以反映现实威胁零危险权限(App_{atk}) 不请求任何敏感的 Android 权限例如 SEND_SMS, READ_CONTACTS。它只请求与其名义功能一致的常规权限例如 INTERNET 或 POST_NOTIFICATIONS。无特权访问攻击者不能拦截智能体的内部提示、模型权重或网络流量。智能体对攻击者来说是一个“黑盒”攻击者只能观察智能体的外部 UI 交互。标准 UI 原语(App_{atk}) 可以在其自身窗口中渲染任意 UI 内容并使用 Android Intent 系统发起标准的前台切换。为了最大化攻击可靠性攻击者可以在参考设备例如模拟器或类似的物理设备上进行一次性的离线分析。这个阶段允许攻击者(1) 映射目标应用 ((App_{tgt})) 中 UI 组件的静态坐标以及 (2) 表征智能体的观察-推理-动作流程的中位延迟。然后将这些参数配置到 (App_{atk}) 中。这个假设是可行的原因有二(1)空间确定性标准化的 UI 框架例如 Material Design和屏幕比例确保目标组件坐标在大多数设备上保持不变(2)时间稳定性由推理和网络成本决定的基于 LMM 的推理延迟保证了一个稳定且易于捕获的动作重绑定窗口。攻击者目标。攻击者的目标是迫使智能体在受害者应用 (App_{tgt})例如银行或消息应用内执行未经授权的操作而由于 Android 的权限模型和应用沙箱(App_{atk}) 本身被禁止访问该应用。3.3 动机案例图 2 展示了动作重绑定攻击的一个具体实例。在此场景中攻击者旨在迫使智能体通过购物应用执行未经授权的购买。当用户指示智能体“在 NOTES App 中记下‘Hello’”时智能体启动其观察-推理-动作流程。如步骤 1 到步骤 2-2 所示智能体启动 NOTES App并希望通过点击特定按钮来创建新笔记。然而视觉原子性的假设在此被违反。由于智能体推理的固有延迟存在一个关键的观察-动作间隙。在此间隙期间NOTES App ((App_{atk})) 触发到购物 App ((App_{tgt})) 的前台切换。值得注意的是在 Android 中一个应用通过 Intent 唤醒外部应用是一种标准且合法的系统行为使得这种切换能够在未触发安全警报的情况下发生。当购物 App 移到前台时其“购买”按钮与之前观察到的创建新笔记按钮对齐。智能体在推理过程中未意识到应用已更改继续执行计划中的点击步骤 2-3。因此该动作被错误绑定到购买。该案例表明智能体的推理延迟创造了一个漏洞窗口在此窗口内执行上下文可以被秘密替换。图 2将点击重绑定到购买的示例。智能体基于其观察计划点击 NOTES App 中的新建笔记按钮。在智能体思考和执行之间的时间窗口内NOTES App 唤醒了购物 App。智能体未意识到应用已更改执行了点击导致动作被错误绑定到未经授权的购买。4 根本原因分析在本节中我们解构 Android 生态系统和基于 LMM 的智能体的架构不变性以识别动作重绑定的根本原因。我们表明这一威胁不是一个实现错误而是感知、推理和执行解耦所产生的基本问题。不可避免的观察-动作间隙。GUI 智能体通过一个解耦的顺序流程运行该流程本质上不是原子的。无论感知模态例如截图、无障碍树或注入通道例如 ADB、InputManager如何多模态推理阶段都会引入不可避免的时间开销。这种由模型推理和网络往返决定的延迟在“检查”观察和“使用”动作之间创造了一个持续的间隙。因此视觉原子性的假设在结构上是无效的在此时间窗口内的任何 UI 突变都会导致状态差异满足经典的检查时间到使用时间TOCTOU漏洞的先决条件。解耦的动作传递。Android 的输入系统将事件传递到当前位于指定屏幕坐标的任何组件。然而GUI 智能体缺乏将其动作绑定到特定进程句柄或唯一组件标识的机制。这导致智能体的预期目标与实际接收者之间完全解耦。智能体不验证接收输入的应用程序的身份。因此如果前台状态在观察-动作间隙期间发生变化智能体会在不知情的情况下将动作传递给另一个应用程序。注入过程对底层执行上下文的切换功能上是盲目的。通用的空间定位。为了在异构框架如 WebView、Flutter 或自定义 Canvas 引擎中实现“通用”效用智能体采用通用的定位策略。它们优先考虑空间坐标或模糊的视觉匹配而不是稳定的元数据如资源 ID后者在复杂应用中常常被剥离或不一致。虽然这种策略提高了对布局变化的鲁棒性但它显著降低了利用的门槛。攻击者可以通过将 (App_{tgt}) 中的敏感组件与 (App_{atk}) 中的良性诱饵组件在空间上对齐来实现确定性的重绑定从而将智能体自身的灵活性武器化。可利用的任务韧性。现代 GUI 智能体集成了任务持久化逻辑以处理活动事件例如网络故障或瞬态弹窗。当智能体检测到某个动作未能推进任务状态时它会触发恢复例程以恢复上下文。这种韧性机制放大了威胁。在成功重绑定后智能体可能会检测到状态不匹配例如发现自己在 (App_{tgt}) 而不是 (App_{atk})。在其恢复逻辑的驱动下智能体常常试图导航回原始应用以“重试”。这种行为将单步竞争条件转变为可持续的可编程循环使攻击者能够通过重复的重绑定循环来编排多阶段利用。5 攻击概览动作重绑定攻击利用了基于 LMM 的智能体执行中根本缺乏时间原子性。如图 3 所示该攻击通过在智能体的决策到执行延迟内操纵 UI 状态将预期用于良性诱饵应用 ((App_{atk})) 的高特权动作重定向到敏感的目标应用 ((App_{tgt}))。5.1 延迟窗口定义动作重绑定的可行性由智能体交互周期内的两个关键时间窗口决定启动到观察窗口 ((W_{lzo}))在智能体于时间 (T_{launch}) 启动 (App_{atk}) 后在智能体捕获 UI 状态之前存在一个稳定延迟。这个延迟旨在允许应用初始化和布局渲染在视觉观察 (O) 被记录时于 (T_{o}) 结束。我们将此窗口定义为W l z o T o − T l a u n c h . ( 1 ) W_{lzo} T_o - T_{launch}. \quad (1)WlzoTo−Tlaunch.(1)在 (W_{l2o}) 期间(App_{atk}) 必须渲染上下文载体这是一个良性的 UI 状态旨在从智能体那里引出特定的、可预测的动作。观察到动作窗口 ((W_{o2a}))观察之后智能体的 LMM 处理 (O) 以确定并在时间 (T_{a}) 注入相应的动作 (A)。我们将这个关键的攻击窗口定义为W o 2 a T a − T o . ( 2 ) W_{o2a} T_a - T_o. \quad (2)Wo2aTa−To.(2)这个窗口代表了智能体的“盲点”其内部世界模型在 (S(T_{o})) 处冻结而物理 UI 状态 (S) 是可变的。如果攻击者能在 (T_{trans}) 触发前台切换使得 (T_{o} T_{trans} T_{a})则攻击成功。5.2 攻击工作流我们将动作重绑定攻击的执行分解为五个阶段阶段 1攻击启动。当用户指示智能体在 (App_{atk}) 内执行任务时触发攻击。在 (W_{l2o}) 期间(App_{atk}) 用上下文载体填充屏幕。这个诱饵 UI 包含与用户请求语义一致的标准交互元素例如“确认”按钮确保智能体对任何对抗意图毫无察觉。阶段 2UI 观察。在 (T_{o})智能体观察屏幕状态 (O) 并进入推理阶段。由于载体不包含对抗性提示或恶意负载它能通过智能体的内部安全过滤器和语义推理模块而不触发任何异常。阶段 3前台切换。在 (W_{o2a}) 窗口期间(App_{atk}) 使用标准 Android Intent 机制发起向 (App_{tgt}) 的切换。这个切换是原生的操作系统特性不需要特殊权限。它对智能体的推理引擎是透明的因为推理引擎正忙于模型推理。阶段 4动作重绑定。在 (T_{a})智能体注入动作 (A)例如在特定坐标的点击事件。然而由于 (App_{tgt}) 现在占据前台该动作被重绑定到目标应用中的敏感组件例如“转账”或“删除”按钮。智能体在认为自己与 (App_{atk}) 交互时在不知情的情况下执行了 (App_{tgt}) 中的高特权操作。阶段 5自主恢复。执行后智能体通常会观察新状态 (S(T_{a1}))。当检测到当前 UI ((App_{tgt})) 偏离预期任务上下文时智能体的任务持久化逻辑通常会触发恢复例程以重新启动 (App_{atk})。这无意中重置了攻击环境使 (App_{atk}) 能够通过重复循环来编排多步利用。图 3动作重绑定攻击的工作流。5.3 隐蔽性与防御规避动作重绑定的固有隐蔽性源于恶意意图、执行权限和操作能力的三方解耦。与传统的 UI 劫持或恶意软件这些属性集中在单个对抗实体中不同我们的攻击编排了一个分布式的执行链绕过了传统安全框架的检测。良性代码外观从以代码为中心的角度看(App_{atk}) 看起来完全无害。它不包含恶意负载、漏洞利用或敏感 API 调用。它唯一的作用是触发标准的 UI 切换这是 Android 中原生且频繁的行为。因此它绕过了静态分析和基于签名的检测因为问题仅存在于时间上而非代码逻辑中。语义正确的推理从以逻辑为中心的角度看智能体的内部认知过程保持完好。与破坏智能体意图的提示注入攻击不同动作重绑定基于智能体的最后一次观察 ((O_i)) 使其推理保持语义合理。因为智能体“相信”它在执行合法任务它绕过了旨在拦截欺骗性或非理性行为的语义护栏和异常检测。授权的执行流程 ((App_{tgt}))从以系统为中心的角度看(App_{tgt}) 中的最终高特权动作是通过具有提升权限例如无障碍服务的合法智能体传递的。对操作系统而言这是一个经授权的用户代理交互而非未经授权的跨应用入侵。这绕过了基于权限的访问控制和 UI 覆盖保护因为交互使用的是系统输入事件。现有防御的失效分析。这种架构碎片化为当前的防御范式创造了一个“盲点”。(1)以代码为中心的防御例如防病毒软件失败因为恶意负载从未以代码形式显现(2)以 UI 为中心的防御例如反点击劫持失败因为没有不可见的覆盖层或欺骗性像素——UI 组件是合法的且完全可见(3)以智能体为中心的防御例如提示监控失败因为智能体的内部认知过程从未被对抗性注入破坏。因此该攻击对旨在拦截显式欺骗或未经授权权限提升的安全机制保持透明。6 攻击原语在本节中我们详细介绍了三个技术原语它们将观察-动作间隙武器化。这些原语从劫持单次交互的原子动作重绑定到能够执行高影响力利用链的多步编排和意图对齐。6.1 原子动作重绑定原子动作重绑定是动作重绑定攻击的基础原语。该原语将预期用于 (App_{atk}) 中良性组件的单个计划动作重绑定到攻击者选择的 (App_{tgt}) 内的目标组件。该原语遵循四个步骤的生命周期(1)目标分析由于 UI 布局在不同设备和操作系统间存在差异攻击者在类似设备和操作系统上进行离线分析以确定目标 (App_{tgt}) 和组件的屏幕坐标。然后攻击者根据分析结果制作上下文载体。(2)载体构建启动后(App_{atk}) 渲染良性的上下文载体。该载体中的交互组件被有意放置以与 (App_{tgt}) 中目标组件的坐标在空间上对齐。载体至少在 (W_{l2o}) 持续时间内保持静态以确保智能体在其观察阶段成功捕获此良性状态。(3)前台切换在智能体观察到载体但尚未执行动作之后(App_{atk}) 在 (W_{o2a}) 内触发基于 Intent 的标准切换到 (App_{tgt})。此切换不需要危险权限。(4)动作重绑定智能体按计划注入动作但由于前台已切换该动作被重绑定到 (App_{tgt}) 并触发恶意操作。原子动作重绑定可靠地触发高影响力操作并作为多步利用的基础。6.2 多步编排单步攻击通常不足以实现复杂的利用例如绕过交易多阶段流程。我们将智能体的任务恢复逻辑即检测到不匹配时返回原始上下文的固有倾向武器化以编排一个递归攻击循环。(1)自状态恢复具有主页导航或应用启动能力的智能体通常通过自主重新启动原始应用来响应上下文不匹配。此动作无意中重置了攻击环境使 (App_{atk}) 再次成为前台。(2)基于通知的恢复对于依赖返回导航来恢复任务的智能体由于返回按钮通常占据可预测的屏幕区域例如左上角(App_{atk}) 通过在 (W_{o2a}) 期间发布与返回按钮重叠的通知来拦截恢复。这种重叠确保智能体的点击被重绑定智能体不是点击返回按钮而是点击通知并触发直接返回到 (App_{atk})如图 4 所示。从智能体的角度看这被视为成功的上下文恢复而不知晓点击已被重绑定。图 4计划用于点击返回按钮的动作被重绑定到点击通知。每次智能体重新启动 (App_{atk}) 时攻击者都可以通过重新配置上下文载体将交互组件与后续操作的坐标要求对齐。这种重新对齐使攻击者能够将离散的原子重绑定链接成可编程的攻击序列从而有效地驱动智能体完成复杂的多步利用。6.3 意图对齐策略Android 的验证关卡例如确认对话框、多因素提示或警告弹窗作为敏感动作的检查点。它们对多步重绑定提出了关键挑战。从智能体的角度看验证关卡使其意识到上下文不匹配并触发回滚智能体拒绝验证并恢复任务。意图对齐策略IAS是一种载体设计策略旨在在前台切换期间维持智能体的推理稳定性。通过精心制作上下文载体IAS 在 (App_{atk}) 和 (App_{tgt}) 中的验证关卡之间建立了一个 UI 状态桥接。这将即将到来的对话合理解释为原始良性任务的合法延续引导智能体自愿授权该动作。IAS 具有两个属性良性语义意图不包含恶意文本使用典型合法工具应用的语言有效绕过标准毒性过滤器。语义麻醉作为一个合理化引擎麻痹智能体的异常检测。它使智能体相信重绑定的状态是实现用户目标的正确且必要的路径。图 5 展示了一个针对文件删除操作的代表性利用。通常智能体会拒绝验证关卡例如“你确定要删除所有文件吗”因为上下文没有提供执行此破坏性步骤的证据。为了规避这一点IAS 将 (App_{atk}) 中的前置载体设计为“缓存已满。请删除缓存文件以释放空间。”这预设了智能体的期望使其将验证合理化为清理缓存的必要步骤并继续接受验证。图 5使用 IAS右和不使用 IAS左的载体比较。不使用 IAS 时智能体检测到上下文不匹配并拒绝验证。使用 IAS 时智能体合理化并接受验证。IAS 与间接提示注入IPI有本质区别。IPI 试图用对抗性指令覆盖智能体的指令而 IAS 保留智能体的原始意图并通过无法区分的良性文本减轻 UI 状态差异。这使得 IAS 比 IPI 更隐蔽。通过维持语义舒适度IAS 利用智能体自身的推理能力来验证恶意操作。7 评估我们评估了六个在 GitHub 上有大量采用的开源 Android GUI 智能体Mobile-Agent-v3 [47], Droidrun [11], mobile-use [31], AppAgent [49], mobiagent [48] 和 AutoGLM [28]。对于 (App_{atk})我们修改了一个随机选择的开源应用集成我们的攻击逻辑同时保留其原始功能和用户体验。除非另有说明所有实验均在运行 Android 15 的 Pixel 14 设备上进行。对于支持模型替换的智能体我们使用 qwen3-vl-plus 作为推理模型。对于 AutoGLM我们使用平台上唯一支持的模型 AutoGLM-Phone-9B-Multilingual。7.1 跨安全领域的影响表 1 总结了通过动作重绑定评估的攻击目标。我们按受影响的安全领域分组并报告(1) 通过智能体行使的高级能力(2) 在 (App_{tgt}) 中执行的具体任务(3) 攻击需要原子还是多步链(4) 是否需要意图对齐策略。从表 1 直接得出两个观察结果。首先系统主权和身份中的几个任务例如权限授予、应用安装、短信发送是单步的意味着一次重绑定动作就可以触发这样的操作。其次IAS 主要在目标工作流包含需要进一步动作的额外对话框或关卡例如确认时才需要。结果表明无论原子或多步重绑定这些结果危害了许多安全领域并且在许多场景中例如未经授权的金融交易或数据删除造成的危害是不可逆的。表 1跨不同领域的攻击影响。C机密性I完整性A可用性7.2 攻击结果表 2 报告了表 1 中任务的成功率。在表 2 报告的 15 个任务中每个智能体至少在 10 个任务上成功。MobileAgent-v3 和 Droidrun 在 15 个任务上成功。AppAgent 在 5 个多步任务上失败。AutoGLM 在 2 个需要验证关卡的任务上失败。Mobiagent 在文件删除任务上失败。基于这些结果我们得出以下结论所有被测试的智能体都容易受到动作重绑定攻击这一事实证实了这些安全失败是由于 GUI 智能体流程中固有的观察-动作间隙造成的而不是特定于智能体的实现缺陷。表 2代表性任务上跨智能体的端到端攻击成功率。\sqrt{}表示智能体完成攻击x \sqrt{x}x表示失败“-” 表示由于智能体限制不支持。攻击结果表明动作重绑定绕过了 Android 的权限边界。敏感操作如拍照或发送短信在A p p a t k App_{atk}Appatk不拥有所需系统级权限的情况下被执行。7.3 攻击可靠性我们评估了动作重绑定的可靠性从单步原子攻击到复杂的多步编排。7.3.1 原子动作重绑定的成功率原子动作重绑定在所有测试的智能体上达到了 100% 的成功率。这种可靠性源于任务启动时智能体没有 (App_{tgt}) 的先前上下文。智能体仅依赖 (App_{atk}) 提供的 UI 状态进行推理。实验证实只要观察和动作之间的时间窗口存在原子重绑定就有效。7.3.2 多步攻击链的可靠性我们将多步攻击的可靠性分解为三个可测量的事件(1)目标状态持久化攻击要求 (App_{tgt}) 在后台-前台切换期间保持其 UI 状态。如果 UI 状态在重新进入时重置攻击失败。在我们的实验中我们选择已知保留状态的应用来满足这一点。(2)载体接受度智能体应执行对上下文载体的动作。如果智能体不遵循预期动作攻击失败。(3)自主恢复智能体必须在重绑定完成后返回到 (App_{atk}) 以开始下一阶段。注意我们只记录改变 (App_{tgt}) UI 状态的动作作为失败其他动作不影响攻击因此被忽略。性能分析。表 3 显示所有智能体的载体接受度都很高87.5% - 100.0%确认良性载体有效地引出了预期动作。然而自主恢复揭示了一个明显的性能分化三个智能体达到 100%而 mobile-use 和 AutoGLM 降至 45.7%。图 6 提供了两种恢复策略的执行日志。这些日志确认智能体按预期运行。表 3多步利用链的可靠性每个智能体 8 个载体各 10 次试验。载体接受度执行载体预期动作的比率。自主恢复成功返回 \(App_{atk}\) 的比率。图 6两种恢复策略的执行日志。瓶颈识别。分析表明主要瓶颈是智能体的恢复策略。偏好返回导航的智能体在 UI 状态不支持反向切换到 (App_{atk}) 时失败即使它们具有显式的重新启动能力。缓解方法。我们可以将偏好返回导航的智能体视为无重新启动能力并使用基于通知的恢复将这些失败转换为成功的状态重置。7.4 IAS 绕过验证关卡为了评估 IAS我们构建了一个任务其中智能体从 (App_{atk}) 切换到 (App_{tgt}) 中的验证关卡“你确定要删除所有选中的文件吗”。我们比较了两种载体条件(1)通用载体与即将到来的关卡无关的良性载体(2)IAS 载体旨在使即将到来的关卡合理化的良性载体“缓存已满请清理”。对于每个智能体每种条件进行 10 次试验并记录智能体是否授权验证步骤。实验结果。表 4 展示了比较结果。在通用载体下60 次试验中有 59 次智能体拒绝了验证。在 IAS 载体下通过验证关卡的成功率在智能体间达到 30% 到 100%。表 4智能体对验证关卡的反应10 次试验中。结果分析。图 7 显示了执行日志。没有 IAS 时智能体将关卡识别为与任务无关。相比之下IAS 使智能体将该关卡合理化为解决载体呈现的“缓存已满”状态所需的任务一致步骤。也就是说IAS 通过提供与目标关卡要求匹配的状态提高了通过验证关卡的概率。图 7智能体思考验证关卡的过程。7.5 测量窗口(W_{l2o}) 和 (W_{o2a})为了评估这些窗口的稳定性和可行性我们对每个智能体的三个多步任务进行了 10 次重复试验测量了 (W_{l2o}) 和 (W_{o2a})。我们通过记录 (App_{atk}) 进入前台的时间 ((T_{launch}))、智能体的观察时间 ((T_{o})) 和动作时间 ((T_{a})) 来计算间隔。表 5\(W_{l2o}\) 和 \(W_{o2a}\) 以秒为单位。表 5 报告了平均时间窗口。测得的 (W_{l2o}) 范围为 0.092 秒到 3.84 秒(W_{o2a}) 范围为 4.18 秒到 15.43 秒。基于测量两个时间窗口具有以下特性时间充足测得的窗口超过了 (App_{atk}) 渲染上下文载体、执行前台切换或发布通知所需的时间。可预测对于同一智能体在不同任务上时间窗口在试验中稳定。这种稳定性意味着攻击者可以离线分析目标智能体的 (W_{l2o}) 和 (W_{o2a})。因此攻击者可以预先计算前台切换所需的精确延迟而无需在攻击期间实时反馈。7.6 智能体设计的影响我们分析了表 6 中总结的设计选择以识别导致表 2 中失败的技术因素。表 6不同智能体的设计。所有步骤所有先前步骤的记忆。最后步骤上一步的记忆。基于通知的恢复中的 UI 遮挡。在“删除所有文件”任务中通知在 Pixel 14 上与“删除”按钮物理重叠。对于使用基于通知恢复的智能体这种遮挡阻止了注入的动作到达目标 UI 组件。这解释了 mobiagent 和 AutoGLM 在此任务中的失败。与 UI 树的不兼容定位。AppAgent 从 UI 树中选择动作位置。这种设计选择与基于通知的恢复不兼容因为 Android 通知不作为前台 UI 树中的交互组件暴露。虽然 AppAgent 在推理中将通知识别为目标但它无法定位通知。它点击最近的可见组件或完全失败。这种限制阻止了 AppAgent 支持多步攻击链。7.7 攻击应用的隐蔽性我们通过将 APK 提交给四个分析平台来评估 (App_{atk}) 是否能逃避标准移动恶意软件审查流程VirusTotal [37], VirSCAN [36], Hybrid Analysis [21] 和 MobSF [32]。这些工具通过权限检查、网络流量、清单模式和静态/行为代码指标进行风险评估。由于 (App_{atk}) 基于开源应用我们仅报告可归因于我们注入逻辑的发现。表 7不同分析工具的结果。分析结果。评估结果显示了高度的规避能力(1)零检出率(App_{atk}) 在 VirusTotal 上为 0/67 检出在 VirSCAN 上为 0/48。Hybrid Analysis 标记为干净。(2)可疑Hybrid Analysis 注意到 SMS intent 可疑MobSF 将 SMS intent 评为低风险。(3)危险MobSF 将通知请求标记为危险。基于这些发现我们分析了影响动作重绑定隐蔽性的因素目标依赖的隐蔽性检测灵敏度因前台切换的目标而异。切换到系统应用如 SMS更可能触发警告。然而攻击者仍可通过利用第三方应用作为能力载体来保持隐蔽。中和权限警告应用的可见功能必须与其观察到的行为一致。否则异常行为可能触发安全检查。例如计算器请求联系人访问显然可疑。虽然某些要求如通知访问被标记为危险但如果使用这些权限是其功能所必需的它们不会导致检测使其与良性应用无法区分。意图-能力解耦虽然我们的攻击在技术上可以提升权限但这种提升应避免除非与应用的目的相符因为任何额外权限都必须在代码中显式声明并增加应用的检测面。相比之下通过前台切换间接触发特权行为使攻击者能够实现相同的下游效果而无需扩展 (App_{atk}) 的权限从而规避权限检查。这些发现证实动作重绑定可以逃避当前的检测因为恶意结果仅通过与智能体的时间交互而出现在应用自身的执行流程中没有留下可检测的恶意痕迹。7.8 自主攻击我们评估中的一个关键发现是智能体的上下文推理可以在仅初始原子重绑定后自主完成攻击链。这减少了对复杂多步编排的需求。攻击者提供一个起点智能体自行执行剩余步骤。例如在 Android 上启用无障碍服务被故意设计得繁琐需要操作多个深层系统菜单。然而我们发现一旦 (App_{atk}) 仅仅唤醒无障碍设置页面智能体通常自愿完成剩余步骤以授权该服务。智能体将这些动作合理化为 (App_{atk}) 正常运行所必需的尽管没有明确的恶意指令或权限。我们在照片编辑任务中观察到类似现象。由于 (App_{atk}) 是一个笔记应用切换到照片编辑器在语义上是连贯的。一旦进入此上下文智能体经常执行额外动作如裁剪或应用滤镜。重绑定引导的自主利用。这些案例表明攻击者可以利用智能体的智能作为执行引擎。当通过动作重绑定提供一个与任务一致的入口点时智能体的逻辑驱动它自愿执行攻击序列以满足观察到的状态。7.9 任务限制反而助长攻击我们的评估表明将智能体限制在特定应用上反而促进了动作重绑定攻击这与作为安全机制的预期目的相反。当智能体被限制在一组应用时它将 (App_{tgt}) 意外的前台出现归类为错误。为了满足约束智能体寻求最直接的快捷方式返回 (App_{atk})例如直接启动或任务切换。这产生了一个可预测的结果。约束不仅没有缓解威胁反而迫使智能体优先考虑任务恢复而不是环境验证。因此攻击者可以以更高的可靠性重新触发利用链因为智能体的恢复产生的异常交互更少。图 8限制迫使智能体直接重新启动。7.10 通知交互表面的差异通知交互因 UI 设计而异。在 Pixel 14Android 15上我们观察到通知交互是分段的只有特定区域触发关联的 intent而点击其余区域会展开通知如图 9 所示。在其他测试设备上整个通知体都作为触发器。图 9在 Pixel 14 上点击红色区域返回应用其余区域蓝色展开通知详情。失效分析与 IAS 引导的修正。在标准多步场景中返回按钮通常与绿色区域对齐而不是 intent 触发区域。这导致智能体展开通知而不是返回到 (App_{atk})从而导致恢复失败。为了确保恢复可靠性我们将 IAS 应用于通知内容。通过精心设计文本例如“工作未完成点击返回”我们将通知与智能体的恢复意图对齐。这种语义引导将智能体的动作引导到 intent 触发区域。评估证实即使在具有受限交互表面的设备上这种对齐也能实现可靠的任务恢复。8 相关工作8.1 智能体系统中的 TOCTOU 攻击检查时间到使用时间TOCTOU攻击起源于条件验证与资源访问之间的时间位移[2]这是一个传统上在文件系统和内核安全中探索的经典漏洞[10, 35, 41]。最近的文献开始将这个概念扩展到新兴的自主智能体领域。Jones 等人[23]系统化了桌面计算机使用智能体CUA中的 TOCTOU 风险识别出诸如延迟视觉覆盖和共享环境中的文件篡改等威胁。类似地Lilienthal 和 Hong [26]识别出与异步外部工具和 API 交互的智能体中的竞争条件。然而由于以下架构障碍将这些 TOCTOU 原语迁移到 Android 生态系统并非易事严格的应用沙箱与桌面环境进程可能共享全局命名空间或操纵彼此的 UI 树不同Android 的沙箱[17]隔离了内存和 UI 组件阻止了直接的跨应用篡改。权限门控能力敏感操作严格由 Android 权限模型[16]调解。非特权攻击者无法直接执行特权系统调用这与 PC 风格的漏洞利用受损进程通常可通过本地漏洞提升权限有显著区别。固有的跨应用依赖在桌面系统上跨应用劫持是可选的在 Android 上它成为必要。缺乏危险权限迫使攻击者将特权第三方智能体武器化为代理将攻击面从操作系统内核转移到 UI 执行平面。8.2 传统的 UI 劫持攻击传统的 UI 劫持如 tapjacking 和覆盖攻击依赖视觉欺骗来操纵人类认知。早期的利用利用不可见层或“toast”覆盖来重定向用户输入[12, 30, 44]。最近的进展如 PHYjacking [39] 和 TapTrap [1] 利用 Android Activity 生命周期实现零权限劫持而 Fratricide [18] 利用分屏模式欺骗敏感 Activity。然而这些攻击针对人类感知和推理。动作重绑定代表了一个根本性的转变它针对 GUI 智能体的执行流程。与以人为中心的攻击不同我们的方法不需要视觉欺骗、透明度操纵或空间欺骗。它利用多模态推理的固有延迟使其即使对以完美像素精度感知 UI 的智能体也有效。8.3 针对 GUI 智能体的语义攻击当前关于智能体安全性的研究主要集中在语义攻击上攻击者试图破坏智能体的推理逻辑。间接提示注入IPI和对抗性 UI 攻击将恶意指令嵌入网页、通知或文档中以劫持智能体的意图[8, 25, 46, 52]。这些攻击通过破坏 LMM 的“认知”层导致智能体偏离原始任务或泄露敏感数据[27, 40]。为了应对这些威胁现有防御侧重于增强推理鲁棒性[4, 34, 50]。策略包括选择性感知以忽略无关元素[45]、用于对抗性内容检测的少样本学习[46]等。然而动作重绑定与语义攻击是正交的。IPI 针对智能体的决策而动作重绑定针对执行层它不劫持意图而是劫持意图的物理表现。9 讨论9.1 智能体检测与攻击触发动作重绑定的一个关键要求是隐蔽性攻击者必须确保设备当前由智能体而非人类用户控制以避免立即的视觉检测。由于 (App_{atk}) 控制前台渲染它可以在执行后台分析以识别“观察者”的同时保持在休眠、良性状态通过以下非特权侧信道行为模式分析人机交互HCI以生理变异性为特征包括非线性手势轨迹、变化的触摸压力和随机的点击间延迟。相比之下当前的 GUI 智能体注入的合成输入事件通常是完美线性的并表现出确定性的时序。(App_{atk}) 可以部署一个轻量级分类器来监控输入设备事件机器人输入模式的检测可作为利用的高置信度触发器。环境静止监控自主智能体通常在放置在静止表面上的设备上或用户不活动期间运行。通过监控陀螺仪和加速度计(App_{atk}) 可以检测到手握使用时典型的微振动手抖的缺失。一个“完全静止”的设备显著增加了智能体驱动执行的概率。亮度和注视约束(App_{atk}) 可以程序化地将屏幕亮度调到最低或监控环境光传感器。如果屏幕保持在最低亮度而用户未校正或者前置摄像头如果被允许检测不到活动的注视攻击者可以推断出缺乏人类监督从而为利用打开一个安全窗口。9.2 动作重绑定与传统的 UI 劫持动作重绑定代表了与经典 Android UI 攻击例如点击劫持、覆盖在三个基本维度上的范式转变。根本原因认知层 vs. 操作层。以人为中心的攻击依赖欺骗误导用户的认知过程做出错误的决策。相反动作重绑定利用功能性的竞争条件。智能体的决策基于其观察在语义上是正确的失败发生在执行环境在动作被提交之前发生突变。混淆空间 vs. 时间。传统的劫持依赖空间混淆例如在一个可见按钮上放置一个不可见按钮。我们的攻击引入了时间混淆我们利用 (W_{o2a}) 窗口在状态被感知的时间和结果动作到达的时间之间制造差异而不是在所见和所点击之间。这针对了当前 LMM 智能体的离散、非实时的特性。能力自包含 vs. 代理型。传统的恶意软件通常必须捆绑恶意负载这容易受到静态分析。动作重绑定是一种基于代理的利用它将设备上已安装的合法应用 ((App_{tgt})) 的内在能力武器化在 (App_{atk}) 自身内不需要任何恶意代码。9.3 动作重绑定与语义攻击虽然语义攻击例如间接提示注入和动作重绑定都针对智能体但它们在架构的正交层上操作漏洞表面推理 vs. 执行。语义攻击通过破坏 LMM 的提示上下文来改变其意图从而针对推理层。动作重绑定将 LMM 视为一个可预测的黑盒并针对执行层。我们不试图迷惑智能体我们允许它正确推理但确保其物理输出被错误绑定到不同的上下文。鲁棒性的悖论破坏者还是放大器在语义攻击如提示注入中鲁棒的智能体是一种防御它可以识别并忽略恶意指令。然而在我们的攻击中高鲁棒性实际上使智能体更易受攻击。因为鲁棒的智能体被设计为永不放弃任务它会自动尝试“修复”它看到的任何 UI 错误。当我们的攻击导致上下文不匹配时智能体尝试恢复并继续任务的行为正是驱动它通过我们多步攻击链的动力。我们有效地将智能体的可靠性反过来对付它自己。语义防御的无效性。现有的防御如语义过滤或提示清理本质上对动作重绑定无效。因为载体 UI 只包含良性的、与任务一致的文本LMM 的输入中没有“恶意意图”可检测。安全违规纯粹是底层操作系统中异步状态突变的产物。10 结论本文识别并形式化了动作重绑定攻击一种针对 Android GUI 智能体中观察-动作间隙的时间性利用。通过在智能体的推理延迟期间操纵 UI 状态我们证明了一个非特权的攻击者可以将智能体的良性意图与其实际执行解耦从而有效地劫持目标应用中的高特权能力。我们对六个最先进智能体的评估证实这一威胁是一个根本性的架构漏洞而非简单的实现缺陷。我们表明当前以应用为中心的防御如沙箱和权限门不足以防止此类利用。随着 GUI 智能体获得越来越高的自主性这些发现突显了安全社区迫切需要开发新的防御机制以确保感知-执行周期中的上下文完整性。