Hotdry.
security

MuMu Player 静默侦察模式:30分钟周期执行17条系统命令的隐私风险分析

逆向分析MuMu Player每30分钟执行17次侦察命令的隐私泄露模式,量化评估各命令的数据采集目标与触发间隔,为安全审计提供具体IoC指标。

当我们讨论 Android 模拟器的隐私风险时,通常关注的是其对虚拟机内部数据的收集。然而,网易旗下的 MuMu Player Pro for macOS 近期被发现执行了一套远超功能需求的静默侦察机制 —— 每 30 分钟自动运行 17 条系统命令,全面采集宿主机的网络拓扑、进程列表、应用程序清单等敏感信息,且这些行为未在其隐私政策中披露。本文将深入剖析这 17 条命令的具体功能分类、30 分钟定时触发的技术实现,并给出可用于安全审计的 IoC 指标清单。

侦察命令的功能分类与数据目标

MuMu Player Pro 在 macOS 环境下运行时会创建定时任务,每隔约 30 分钟执行一次系统信息收集。收集的数据被写入用户目录下的日志文件夹(路径为 ~/Library/Application Support/com.netease.mumu.nemux-global/logs/),每个时间戳目录(如 20260220-071645)内包含 17 个文本文件,记录了对应命令的完整输出。这 17 条命令按照采集目标可分为以下四个维度。

网络拓扑与配置信息是采集的重点领域之一。arp -a 用于枚举本地网络中的所有设备 IP 与 MAC 地址映射;ifconfig 提取所有网络接口的 MAC 地址、IP 地址及 VPN 隧道信息;scutil --dns 获取完整的 DNS 解析器配置,包括自定义 DNS 服务器;scutil --proxy 读取系统代理设置;netstat 尝试列出所有活动网络连接(超时时间约 15 秒)。这些命令共同构建了用户网络环境的完整画像,包括局域网内其他设备、VPN 配置、DNS 偏好等关键信息。

系统进程与应用程序清单构成了另一核心采集模块。ps aux 以约 200KB 的数据量捕获所有正在运行的进程及其完整命令行参数,这意味着用户运行的每一个应用程序、每一个命令行工具的参数、甚至可能包含在命令行中传递的会话令牌和敏感路径信息都被完整记录。ls -laeTO -@ /Applications/ 枚举所有已安装应用程序的元数据;mdls /Applications/*.app 则调用 Spotlight 索引读取每个应用的名称、版本、Bundle ID、安装大小和创建日期。这套组合拳不仅暴露了用户安装了哪些软件,还通过进程列表揭示了用户的使用习惯和工作场景。

系统底层参数与启动项的采集同样不容忽视。sysctl -a 输出约 60KB 的内核参数,涵盖主机名、硬件信息、启动时间等底层数据;launchctl print system 转储完整的系统服务列表(~64KB);launchctl limit 读取系统资源限制;ls -laeTO -@ /Library/LaunchAgentsls -laeTO -@ /Library/LaunchDaemons 分别枚举用户级和系统级启动项。这些信息可用于识别系统安全防护措施、定制化配置及潜在的攻击面。

主机文件与外联测试完成了最后拼图。cat /etc/hosts 读取本地 hosts 文件,可能暴露自定义域名、开发环境配置或内部网络服务;两条 curl -v 命令分别向 MuMu 官方 API 端点(pro-api.mumuplayer.comapi.mumuglobal.com)发送请求,既是连接性测试也可用于网络可达性画像。

30 分钟定时触发的技术实现

从技术实现角度分析,这套侦察机制表现出明显的自动化和持久化特征。每次收集完成后,程序会在同一目录生成 collect-finished 清单文件,记录每条命令的执行成功或失败状态。实测数据显示,在单日正常使用场景下,MuMu 执行了 16 次完整收集(平均每 30 分钟一次),每次产生约 400KB 的系统数据。日志目录采用滚动保留机制,保留约 23 次收集记录后自动覆盖旧数据。

这种固定周期的后台执行与普通的调试日志或崩溃报告有本质区别。普通调试行为通常是一次性或事件驱动的,而此处呈现的是持续、定期的系统画像构建 —— 每 30 分钟更新一次用户计算机的完整状态快照。这种行为模式与商业化遥测(telemetry)的典型特征高度吻合:后台静默运行、固定时间间隔、持续数据上报。

更值得关注的是数据与用户身份的关联机制。MuMu 集成了神策数据(SensorsData)分析平台,该平台在用户目录下生成的 sensorsanalytics-message-v2.plist 文件包含约 86KB 的消息队列等待上传。关键的身份标识文件 sensorsanalytics-com.sensorsdata.identities.plist 明确记录了三个标识符:登录用户 ID、匿名设备 ID,以及最令人担忧的 Mac 硬件序列号$identity_mac_serial_id)。这意味着收集的 17 类系统数据并非匿名存在,而是与用户硬件的物理序列号绑定,形成持久化的设备指纹。

隐私风险量化评估

将上述 17 条命令的采集内容进行风险量化,可以从三个维度评估。首先是网络暴露面:5 条命令直接涉及网络信息采集,涵盖局域网设备(arp)、网络接口配置(ifconfig)、DNS 解析(scutil --dns)、代理设置(scutil --proxy)及活动连接(netstat),组合后可完整还原用户网络环境。其次是行为画像精度ps aux 捕获的完整进程列表配合应用清单枚举,能够精确推断用户的工作场景(如使用的开发工具、Docker 实例)、安全防护措施(如 VPN 软件、防火墙)以及潜在敏感应用(如交易平台、通讯工具)。最后是持久化追踪能力:Mac 序列号作为硬件级标识符,结合定期更新的系统快照,可实现跨会话、跨网络甚至跨重装系统的用户追踪。

从合规角度看,MuMu Player Pro 的隐私政策明确未披露以下行为:运行 ps aux 捕获全部系统进程、运行 arp -a 枚举局域网设备、读取 hosts 文件、转储内核参数清单、通过 mdls 盘点所有已安装应用程序、收集 Mac 序列号,以及以 30 分钟周期执行上述任何操作。这种全面缺失的披露构成严重的信息透明度失败。

安全审计 IoC 指标清单

对于安全审计人员和隐私研究人员,以下 IoC 指标可用于检测和验证该行为。

文件路径指标:检查 ~/Library/Application Support/com.netease.mumu.nemux-global/logs/ 目录下是否存在以日期时间命名的子目录(如 20260220-071645),目录内应包含 17 个采集结果文件(arpAll.txtifconfig.txtlistProcess.txt 等)。

进程行为指标:在模拟器运行期间,监控是否存在非交互式的 arpifconfigpsnetstatsysctl 等系统命令被执行。这些命令通常由 MuMu 子进程或包装脚本触发,可通过进程树追溯父进程归属。

网络出站指标:监控对 pro-api.mumuplayer.comapi.mumuglobal.com 的定期 HTTPS 请求,注意请求频率应接近每 30 分钟一次。

持久化标识符:检查 ~/Library/Application Support/com.netease.mumu.nemux-global/ 目录下是否存在包含 sensorsanalytics 的 plist 文件,特别是记录 Mac 序列号的身份标识文件。

缓解建议与防护策略

针对此隐私风险,用户可根据自身场景采取不同级别的防护措施。基础层面,可在系统防火墙中创建出站规则,阻断 MuMu 对上述两个 API 域名的连接;使用 Little Snitch 或 Radio Silence 等 macOS 网络监控工具实时拦截可疑外联。进阶层面,将 MuMu 隔离在独立的虚拟机或专用用户账户中运行,避免其直接访问宿主机的完整系统资源和网络配置。敏感环境建议完全避免使用该模拟器,改用开源替代方案或官方 Android Studio 模拟器。

数据来源

本文核心证据来源于安全研究人员发布的 GitHub Gist 分析报告,详细记录了 17 条侦察命令的完整列表、采集频率及神策数据追踪机制。

资料来源:https://gist.github.com/interpiduser5/547d8a7baec436f24b7cce89dd4ae1ea

查看归档