GitHub 安全实验室如何用 AI 任务流审计 Android 应用:已报告 24 个漏洞,含位置追踪与维基百科账号接管
GitHub 安全实验室研究员介绍,团队用开源的 GitHub Security Lab Taskflow Agent 编写面向 Android 应用的审计任务流,截至发文已发现并报告 24 个漏洞,其中包括可追踪 OsmAnd 用户位置、接管维基百科 Android 应用账号的高危问题。任何人都可自行运行这些任务流,但需要 GitHub Copilot 许可并会消耗高级模型请求。
Taskflow Agent 是 GitHub 安全实验室用来自动化、打包和分享 AI 提示词与工作流程的工具。作者在同事已有的审计任务流上加了两步:先把代码入口点分成移动端与非移动端,使模型在混合仓库中也能认清攻击面;再要求模型针对每个入口点和组件逐一检查一组常见 Android 漏洞类型,例如基于 Intent 的混淆代理和不安全广播。严格提示加多次运行用来避免漏掉明显漏洞,宽泛提示则给模型发挥空间。
任务流已开源:在 seclab-taskflows 仓库启动 Codespace,运行一条审计脚本即可,中等规模仓库约需一到两小时,结果写入 SQLite 表,标出疑似漏洞的行。运行需 GitHub Copilot 许可,会使用高级模型请求,大量工具调用也可能消耗很多 Token。
文中披露的两个例子均已公开。导航应用 OsmAnd 的 Android 版下载量超过 1000 万,其导出的 MapActivity 会接受本应只来自内部服务的 Intent 附加参数,任何应用(即使没有任何权限)都能静默导入设置、替换地图瓦片地址,把用户加载过的瓦片坐标乃至每条路线的起点和终点发到攻击者服务器。维基百科 Android 应用中,wikipedia:// 深链接的主机名解析缺陷可加载以 wikipedia.org 结尾的攻击者页面并运行 JavaScript,再结合判断是否附带 Cookie 的同类缺陷,可拿到对所有维基媒体项目有效的长期令牌和会话令牌,实现账号接管。
作者也写明了局限:模型善于找漏洞,却常报出现实中几乎无法触发的问题,即使被要求忽略也会报低危漏洞,还经常误判严重程度,因此每个发现都需熟悉移动应用的安全研究员复核;要看清缓解因素,往往还得让模型额外编写概念验证,即便如此仍会误报。另一方面,模型对常见安全相关 API 行为的掌握让团队意外,生成的概念验证多数只需少量修改。24 个漏洞中多数是路径遍历等简单问题,少数为高危,类型集中在 WebView 跨应用脚本、暴露的 JavaScript 桥等研究者预期的位置。