文章总结: 研究人员发现五个开源Android移动Agent框架存在漏洞,攻击者可通过隐形文本或文件竞争条件向AIAgent注入指令,进而控制主机执行代码。攻击链利用ADB调试通道和shell命令注入,无需高权限。论文建议放弃shell=True、流式传输截图、设置广播权限等修复方案,但部分攻击无直接软件防御。 综合评分: 85 文章分类: 漏洞分析,AI安全,红队,渗透测试,移动安全
。一个每5至10毫秒轮询一次的后台服务,完全有时间获取文件锁、重绘PNG图像,并在Agent收集前释放。篡改操作在五个框架中的四个上取得了19/20到20/20的成功率。</p>
<p>为了进一步扩大时间窗口,研究人员向Agent展示了一个不可见的覆盖层,声称“网络同步正在运行”,要求它等待3秒。模型相信了该提示。</p>
<p>Part02</p>
<p>视觉幻觉与人眼盲区</p>
<p>研究人员测试的所有六个视觉模型,在至少18/20的实验室试验中都能读取2%透明度的文本。论文指出,该透明度水平低于正常观看条件下人类的典型检测阈值。GPT-4o、Claude Opus 4.5、Gemini 3 Pro和GLM-4V均获得20/20的成绩。随着文本可见度增加,得分并未上升,因为一开始就已经满分。</p>
<p><img decoding=)
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现漏洞,隐形文本可执行主机代码》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论