AndroidAIAgent现漏洞,隐形文本可执行主机代码

admin 2026-07-23 04:45:18 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 研究人员发现五个开源Android移动Agent框架存在漏洞,攻击者可通过隐形文本或文件竞争条件向AIAgent注入指令,进而控制主机执行代码。攻击链利用ADB调试通道和shell命令注入,无需高权限。论文建议放弃shell=True、流式传输截图、设置广播权限等修复方案,但部分攻击无直接软件防御。 综合评分: 85 文章分类: 漏洞分析,AI安全,红队,渗透测试,移动安全


AutoGLM-Phone(一个在设备本身上运行的9B模型)是六个模型中最弱的,成绩为18/20。人眼存在视觉阈值,但截图没有。

这种不对称性还体现在硬件层面。手机屏幕边缘有圆角并为摄像头开孔,但帧缓冲区仍是矩形,因此渲染到这些区域的像素会位于边框下方,并出现在每一张截图中。在一台Pixel 4上,一个角落约有78像素的隐藏宽度,足以容纳一条简短指令,所有五个Agent都能从该区域读取载荷。

第三种技巧完全跳过了隐蔽性:一个无障碍服务在真实应用上放置了伪造的登录Activity,让Agent将用户的凭证输入其中。人类用户可能会在意外出现的密码提示前犹豫,但五个Agent在100次试验中无一例外。

Part03

键盘未经验证

Agent没有经过授权的通道连接手机,因此它们重用了调试通道,而研究中最简单的攻击就源自于此。Open-AutoGLM将输入的文本进行Base64编码,然后发送到ADB_INPUT_B64——这是一个隐式广播,由ADB Keyboard(一款测试自动化工具)接收,该工具设计用于接受任何广播发送的文本。

这正是其文档说明的用途,并且该工具仍在维护中,其4月的预发布版本包含了对Android 16的修复。ADB Keyboard做了README中承诺的事情。是Agent们将测试工具变成了生产级输入管道。

Mobile-Agent-v3维护了一个狭窄的白名单:字母、数字和常见标点通过adb shell input text发送,其余所有字符(即任何非ASCII字符)通过ADB_INPUT_TEXT逐字符发送。MobA则更粗暴:它的type_text函数使用text.isascii()测试整个字符串,因此消息中只要有一个emoji或重音字母,就会通过广播将整条消息一次发送出去。

任何注册了相同动作的应用都会收到同样的载荷,且无需任何权限,因此用户不会收到任何警告。如果攻击者拥有无障碍服务权限,TYPE_VIEW_TEXT_CHANGED还会将同样的文本(包括密码字段)以明文形式暴露给所有五个框架。

这些前提条件都是真实的:需要设备上已安装恶意应用、Agent正在执行任务、USB或无线调试已开启。受影响的开源软件是开发者工具,而非手机上内置的助手。三星Bixby、小米小爱等第一方Agent不在研究范围内,iOS也同样未涉及。

张子东坦言:其中几种攻击仅需最少的Android权限,有一种甚至根本不需要任何权限,这降低了有动机攻击者的门槛。

Part04

无需安装的变种

另一种变体甚至不需要恶意应用。由于载荷可以藏在图像的色度通道而非亮度通道中,攻击者根本不需要接触设备,只需将一张包含载荷的图片放入消息应用,让受害者自己的Agent将其截图下来即可。研究人员称这是“扩展”而非实测结果,它也是唯一不需要安装步骤的版本。

Part05

修复方案

五个框架中的两个已经展示了正确的做法。MobA通过exec-out流式传输截图,设备端没有文件可竞态;Open-AutoGLM将参数以列表形式传递而非拼接字符串,是五个中唯一对主机命令注入免疫的。但没有一个项目同时做到这两点。以下所有修复方案都不需要修改模型本身:

  • 放弃shell=True,改用argv列表传递参数,使元字符保持字面意义。
  • 流式传输截图而非“写入再拉取”,避免设备端文件和TOCTOU窗口。
  • 在输入广播上设置签名级别的权限,或使用显式Intent。
  • 在执行每个动作前后对比前台Activity,并维护每个任务的包名白名单。
  • 在模型查看截图前,对截图进行对比度增强处理(部分缓解,非根本修复)。

最显而易见的防御措施是在敏感操作上加入确认提示,Open-AutoGLM已经具备此功能。当模型判断某操作为敏感操作时,会弹出确认提示。但感知攻击会重写这一判断,因此论文认为该提示不足以防御隐式注入、UI欺骗和截图篡改。

对于广播嗅探和无障碍服务嗅探,确认提示完全无效,因为根本没有需要确认的动作——文本已经泄露了。而对于角落和开孔注入,研究人员直言不讳:“没有直接有效的基于软件的解决方案。”对角落进行遮盖只是针对硬件事实的一种权宜之计。

Part06

无处报告

沉默背后有其结构性问题。张子东表示,团队选择发送私人邮件,是因为这些项目没有专门的漏洞报告渠道。The Hacker News发现,五个仓库均未发布任何安全策略。论文还提到,团队首先联系了腾讯和阿里巴巴,但研究级的开源项目通常不在安全响应中心的范围之内。

对比微软5月关于其Agent框架Semantic Kernel的文章,相同的模型输出到达shell的模式导致了CVE-2026-25592、CVE-2026-26030和一个已修补的版本。微软的一句话总结可以直接套用:“你的LLM不是安全边界。”

覆盖层攻击并非全新发现。Wu等人于2025年5月通过覆盖窗口对AppAgent和Mobile-Agent实现了提示注入,Ding等人于同年10月提出了仅在Agent查看时才会显示的提示。这篇论文的相关工作部分既未引用上述研究,也完全跳过了移动Agent安全文献。它新增的是攻击链的终点:从屏幕到文件再到主机。

这引出了尴尬之处。Open-AutoGLM在GitHub上拥有超过25,000颗星,其README指导你启用USB调试、侧载键盘并将输入交给它。完全按照文档操作,你就已经构建了所有经测量攻击所需的前提条件——只差恶意应用本身。这份设置指南就是威胁模型的其余部分。

参考来源:

Open-Source Android AI Agents Could Let Invisible Screen Text Run Code on Host PCs

https://thehackernews.com/2026/07/open-source-android-ai-agents-could-let.html

推荐阅读

#

#

#

#

#

#

#

#

#

#

#

#

#

#

#

电报讨论


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:FreeBuf 《Android AI Agent现漏洞,隐形文本可执行主机代码》

评论:0   参与:  0