验证:Verify: Docker 37/37 | Zenodo DOI | IACR 2026/526 | Packet Storm
最后更新: 2026-03-25Last updated: 2026-03-25

支付宝需要监控你的截屏、蓝牙和通话吗?一次完整的逆向工程分析

对支付宝APK (v10.8.30) 208个API拦截点、22个行为监控和97%无保护接口的代码级分析

声明:本文基于对公开APK文件的静态反编译分析(工具:jadx、radare2、Ghidra),所有结论均有代码路径引用,可独立验证。研究已提交国际CVE数据库(9个漏洞,编号待分配),并被Packet Storm Security收录(Advisory #217089)。

本文永久地址:https://innora.ai/zfb/privacy-analysis.html
如果本文在任何平台被删除,请访问上述地址阅读完整版。


当你打开支付宝扫码付款时,你可能不会想到:在你看不到的地方,支付宝正在监控你的截屏行为、剪贴板内容、蓝牙连接、通话状态,甚至你每一次切换页面的精确时间戳。

这不是猜测。这是对支付宝APK文件进行完整逆向工程后,从代码中直接提取的事实

依据《个人信息保护法》第六条:"处理个人信息应当具有明确、合理的目的,并应当与处理目的直接相关,采取对个人权益影响最小的方式。"我们以此为分析框架,逐项审视支付宝的数据采集行为。


01 208个API拦截点:你的手机被"透视"了

支付宝内部存在一个名为DexAOP的字节码级拦截框架(代码路径:com.alipay.dexaop,1606个Java文件)。它在编译阶段将拦截代码注入到Android系统API调用链中——976个代理类 + 180个回调桩 = 覆盖208个API类别

DexAOP 拦截清单

类别 API数 你可能不知道的事
蓝牙 17 知道你连了什么蓝牙设备、什么时候连的
电话 17 通话状态、SIM卡信息、IMEI
通讯录 12 可读取你的完整通讯录
录音 9 拦截所有麦克风访问的完整链路
摄像头 5 Camera + Camera2 全部API + 预览帧
剪贴板 4 你复制的每一段文字
网络/WiFi/GPS/NFC等 144 覆盖网络、存储、传感器、加密等
合计 208

一个支付APP为什么要拦截摄像头预览帧?扫码只需要最终识别结果。为什么要拦截铃声管理器?为什么要监控Java层所有的CipherSignatureMAC加密操作?


02 22个行为监控事件:3秒启动,10条一批上报

代码中还有一个独立的行为监控系统(路径:com.taobao.wireless.security.adapter.datacollection),APP启动后3秒延迟激活,每积攒10条事件批量上报服务器。

22个监控事件

编号 监控内容 意味着什么
0-1 屏幕亮/灭 知道你什么时候看手机
2-3 APP前/后台切换 知道你什么时候离开支付宝
6 截屏检测 知道你截了支付页面的屏
7 录屏检测 知道你是否在录屏
8-10 蓝牙开关/连接/断开 追踪你的蓝牙外设
11 通话状态 知道你什么时候接/打电话
13 剪贴板变化 你复制的内容被记录
15-21 Activity生命周期 x7 精确到每个页面的创建/暂停/销毁

代码中还存在一个远程开关(OrangeConfig,key: 132)。默认值"0",但服务器可以随时设为"1"来激活全部22个监控——即使当前没开,服务器一个指令就能全部打开

当你截屏保存一个转账记录——也许是为了留证据——支付宝会立即知道。问一个直接的问题:监控用户的截屏行为,合理的业务场景是什么?


03 29项设备指纹:卸载重装也逃不掉

代码中的DeviceInfoCapturerFull类包含29项switch语句,收集:IMEI、OAID、WiFi MAC地址、MediaDrm ID、SIM序列号、音频路由、屏幕分辨率、已安装应用签名……这29项数据组合生成一个叫UMID的跨安装持久化设备ID。

"跨安装持久化"意味着:你卸载支付宝重装,它依然能识别出这是同一部手机。该ID存储在系统KeyStore中,不会被常规清理删除。数据定期上传服务器。

《个人信息保护法》第六条要求"最小必要"。29项设备信息 + 跨安装追踪 + 定期上传 = "最小必要"吗?


04 97%的内部接口没有权限保护

这可能是最令人震惊的发现。

支付宝使用Ariver框架管理408个JSBridge接口——小程序和H5页面通过这些接口调用原生功能。我们扫描了全部BridgeExtension类的permit()方法:

有权限检查的接口:    12个  (2.9%)
没有权限检查的接口:  396个 (97.1%)

// DefaultAccessController.java:132
if (guard2 != null && guard2.permit() != null) {
    z = this.asyncInterceptJsapi(guard2.permit(), accessor);
}
// permit()返回null → 跳过ALL权限检查

无保护的高危接口包括:6个支付类(含数字人民币钱包DCEPWalletBridgeExtension)、5个认证类3个NFC类6个文件操作类6个硬件类(摄像头、剪贴板、拨打电话)。

396个无保护接口意味着:一旦攻击者找到入口,几乎可以调用支付宝的任何功能——包括支付、定位和通讯录。而入口确实存在(详见我们提交的9个CVE漏洞)。


05 服务器可以远程修改你手机上的代码

每个安全关键方法中都有一个ChangeQuickRedirect字段——PatchProxy热修复框架。它允许蚂蚁集团的服务器在不经过应用商店审核、不需要用户同意的情况下,远程修改支付宝在你手机上的运行行为。

被覆盖的方法包括:TLS证书验证(可远程关闭HTTPS安全检查)、权限检查、签名验证、支付校验。通俗理解:你手机上支付宝的代码不是固定的——蚂蚁集团的服务器随时可以改


06 "说什么就推荐什么"的技术解释

很多用户反映:和朋友聊天提到某商品,打开淘宝就看到推荐。

我们的结论:有能力,但没有发现后台偷录证据。

代码中存在完整录音基础设施(25+个文件、4种编码器、14个麦克风拦截点),但我们没有找到后台静默录音的触发机制——没有隐藏的后台Service,没有独立的音频上传通道。这一结论经过了3个独立LLM的交叉验证。

更合理的技术解释:同一WiFi路由器→ 路由器MAC被共享 → 家庭级画像(家人搜了你也看到);跨APP设备指纹→ UMID/OAID在阿里系APP间共享;以及确认偏差——你只记住了"准"的那几次。


07 厂商回应与后续

厂商回复原文:上述功能均属"正常功能"。

时间线:

2026-03-07 — 向蚂蚁集团报告17个安全漏洞

2026-03-10 — 蚂蚁集团回复"正常功能"

2026-03-11 — 公开披露。4小时后,北京格韵律师事务所发出删除投诉

2026-03-15 — 微信公众号4篇文章全部被删除,无任何事前通知

2026-03-15 — 服务器端开始拦截PoC验证请求

2026-03-17 — 9个漏洞提交国际CVE数据库,38个国家和地区机构已回应

研究成果已被Packet Storm Security收录(Advisory #217089)。香港金管局、卢森堡CSSF、新加坡PDPC、英国FCA等机构已确认收到并启动处理。


我们的问题

1. 必要性:208个API拦截、22个行为监控、29项设备指纹——这些都符合"最小必要"原则吗?

2. 知情权:隐私政策中是否逐项列明了截屏监控、剪贴板监控、通话状态监控?

3. 安全性:97%的内部接口没有权限保护,这符合安全开发最佳实践吗?

4. 远程控制:服务器可以远程修改安全验证逻辑——用户是否应有知情权?

5. 全生态:这个安全SDK被阿里系多款APP共享——10亿+用户是否意识到这一点?


如何自行验证:下载APK (APKPure, v10.8.30.8000) → jadx -d output Alipay.apk → 搜索 com.alipay.dexaoppermit()


关于作者

Jiqiang Feng

Innora AI Security Research

联系:[email protected]

完整报告:https://innora.ai/zfb/

代码与工具:https://github.com/sgInnora/alipay-securityguard-analysis

如果你在意自己的数据权利

请将本文转发给关心数字安全的朋友。

进入手机 设置 → 隐私 → 应用权限,检查并撤销非必要权限。

关注公众号 AI-security-innora,获取后续研究进展。

本文基于v10.8.30.8000版本静态分析。厂商可能已通过服务器端热修复修改了部分行为,但客户端代码中的架构和能力仍然存在。

本文永久地址:https://innora.ai/zfb/privacy-analysis.html

如果本文在任何平台被删除,请访问上述地址。这也是为什么我们需要一个不受单一平台审查的互联网。