avatar

齐远航

更新:2026-04-15

800 浏览, 10 min 阅读

就微软 Defender 安全研究团队博客文章的官方回应

当前状态速览

漏洞类型 MTCommonActivity 组件 Intent 重定向(android:exported="true")
受影响版本 EngageLab SDK v5.2.0 及更早版本
修复版本 SDK v5.2.1(2025年11月3日发布)
利用情况 目前无已知在野利用记录(Google 安全团队于2025年12月2日确认)
Google Play 运行受影响版本的相关应用均已从 Google Play 下架
开发者操作 如尚未升级,请立即将 SDK 升级至 v5.2.1 或更高版本

一、概述

2026年4月9日,微软 Defender 安全研究团队发布了一篇 博客文章 披露了 EngageLab Android SDK 中存在的 Intent 重定向漏洞。对此,我们希望公开做出说明,解释漏洞的技术背景,并为仍在使用受影响版本的开发者提供明确的升级指引。

感谢 Google 安全团队于2025年5月向我们通报了这一问题,并在整个修复过程中与我们保持了全程协作。该漏洞已在 SDK v5.2.1 中得到完全修复。2025年12月2日,Google 安全团队在独立验证后确认修复有效。

二、技术背景

2.1 什么是 Intent 重定向漏洞

Android 系统通过 Intent 机制实现应用组件之间以及应用之间的通信。当一个 Activity 组件在应用的 AndroidManifest 中被声明为 android:exported="true" 时,设备上的任意其他应用都可以向其发送 Intent。

Intent 重定向是指:恶意应用向某个受信任应用的已导出组件发送精心构造的 Intent;若该受信任应用未经验证就处理并转发这个 Intent,恶意应用便可「借用」受信任应用的身份和权限,访问其本无权访问的数据或组件。

2.2 EngageLab SDK 的漏洞根因

漏洞存在于组件 com.engagelab.privates.common.component.MTCommonActivity 中,该组件被配置为 android:exported="true"

这一配置最初是为了满足部分设备厂商推送点击跳转的技术要求——其推送系统要求该 Activity 处于导出状态,才能正确处理通知点击事件。在当时,这是一个必要的兼容性设计。

该组件在构建过程中被添加至应用的 merged AndroidManifest(合并后的清单文件),而非开发者通常审查的源码清单,因此在安全审查中容易被忽视。这是集成第三方 SDK 的一个常见挑战:SDK 引入的组件只出现在编译产物中,而非开发者编写的代码里。

2.3 攻击场景

该漏洞的利用需同时满足以下两个条件:

  • 目标设备上已通过其他途径安装了恶意应用。
  • 目标应用集成了低于 v5.2.1 版本的 EngageLab SDK。

在满足以上条件的情况下,恶意应用可向 MTCommonActivity 发送构造的 Intent,诱使宿主应用以自身身份和权限转发该 Intent——从而可能授予恶意应用对宿主应用私有数据目录的持久读写权限,包括用户凭证、个人信息及财务数据等。

三、响应时间线

以下表格完整呈现了我们从首次收到通报到最终完成验证的全过程。整个修复过程经过多轮验证迭代,我们在每个阶段均与 Google 安全团队保持积极沟通,并在收到每次评估反馈后及时推进下一步修复工作。

时间 执行方 事件
2025.5.24GoogleGoogle 安全团队与 EngageLab 举行线上会议,说明 SDK 中存在的 Intent 重定向漏洞。
2025.5.29EngageLabEngageLab 回复 Google 安全团队,提交初步修复方案,请求重新检测。
2025.6.25GoogleGoogle 安全团队完成检测,回复初步方案仍存在安全隐患,需进一步修复。
2025.8.18EngageLabEngageLab 告知 Google 安全团队,新版本修复方案正在开发中,预自9月底发布。
2025.9.26EngageLabEngageLab 发布 SDK v5.2.0,通知 Google 安全团队并请求重新检测。
2025.10.30GoogleGoogle 安全团队完成检测,回复 v5.2.0 中仍可检测到该漏洞,需再次修复。
2025.11.3–4EngageLabEngageLab 发布 SDK v5.2.1(完整修复:MTCommonActivity 设为 android:exported="false"),通知 Google 安全团队进行最终验证。
2025.12.2GoogleGoogle 安全团队确认 SDK v5.2.1 已完全修复该漏洞,未发现其他问题。
2026.2.6EngageLab通过邮件及官方公告主动告知开发者 SDK v5.2.0 及更早版本存在安全漏洞风险,强烈建议立即升级至 v5.2.1 或更高版本。
2026.2.26EngageLab再次向开发者发出升级提醒,敬促完成 SDK 升级至 v5.2.1 或更高版本。
2026.4.9微软微软 Defender 安全研究团队发布公开博客文章。此时修复版本已发布逾5个月。
2026.4.15EngageLabEngageLab 发布本官方安全声明。

关于时间线的说明:修复过程涉及 Google 安全团队的多轮独立检测,每次检测周期通常需要数周时间。这是协调漏洞披露流程的正常节奏,反映了第三方验证的严谨性,而非我们修复工作的停滞。我们在整个过程中始终保持主动沟通,并在收到每次评估反馈后及时响应。事实上,在此漏洞受到更广泛关注之前,EngageLab 已于 2026 年 2 月主动向开发者社区发出安全风险通知——早于微软博客文章发布逾两个月——并于当月晚些时候再次发出升级提醒。

四、修复内容

4.1 核心修复(SDK v5.2.1)

核心修复方案直接且有效:将 MTCommonActivityandroid:exported 属性设置为 "false",从根本上阻断外部应用对该组件的访问入口。

修复前(存在漏洞):
<activity android:name="com.engagelab.privates.common.component.MTCommonActivity" android:exported="true" />
修复后(v5.2.1):
<activity android:name="com.engagelab.privates.common.component.MTCommonActivity" android:exported="false" />

4.2 为何此时可以完成修复

原有 exported=true 的配置源于部分设备厂商的推送跳转技术要求。在与相关厂商确认后,其当前系统版本均已支持将该组件设置为 exported=false。因此,最初出于兼容性考虑而设置此导出配置的背景已发生变化,当前在绝大多数活跃设备上,已无需强制保持此配置。

本次修改的影响范围:在运行当前系统版本的设备上(占活跃用户的90%以上),通知点击跳转功能不受影响。仅在极少数运行较旧系统版本的设备上,通知点击可能出现无法跳转的情况。我们将持续监测相关情况,如有必要,将提供进一步的兼容方案。

4.3 v5.2.1 的其他安全改进

  • 对传入 Intent 数据增加输入验证处理。
  • 减少 SDK 中的已导出组件数量,降低攻击面。
  • 对 SDK 全部组件进行完整的安全代码审计。

五、开发者升级指引

5.1 请立即升级

如果您的应用集成了低于 v5.2.1 版本的 EngageLab SDK,请立即升级。v5.2.1、v5.2.3 和 v5.3.0 均包含此修复。

build.gradle 中添加如下依赖:

// 升级至 v5.2.1 或更高版本
implementation "com.engagelab:engagelab:5.2.1"

5.2 验证合并后的清单文件

升级并重新构建后,请检查合并后的 AndroidManifest.xml,确认 MTCommonActivityexported 属性已为 false。合并清单文件位于:
app/build/intermediates/merged_manifests/<variant>/AndroidManifest.xml

每次集成或升级第三方 SDK 后检查合并清单,是一项就得养成的好习惯——它反映的是应用实际编译后的完整配置,包括所有由 SDK 引入的组件。

5.3 通用安全建议

  • 每次 SDK 升级后,检查合并清单而非仅依赖源码清单。
  • 对来自外部的 Intent 数据,在处理或转发之前务必做校验。
  • 将第三方 SDK 安全审查纳入常规依赖更新流程。

六、我们的安全承诺

此次事件促使我们在研发和发布流程上做出以下改进:

  • 每次 SDK 发布前,强制执行合并清单安全审查。
  • 在 CI/CD 中引入针对导出组件配置的自动化静态分析扫描。
  • 建立正式的公开安全公告计划——我们正在筹建专门的安全中心,以便未来能更及时地披露安全相关信息。
  • 在软件开发生命周期中设立专项安全审查阶段。

我们目前正在对 SDK 开展更广泛的安全自查工作,结果将在后续公告中公开分享。

我们欢迎安全研究者的负责任披露。如您发现 EngageLab 产品中存在安全问题,请通过 security@engagelab.com 联系我们。我们承诺在24小时内确认收到报告,并48小时内给出初步评估。

感谢 Google 安全团队在整个协调披露过程中展现出的严谨态度与协作精神。

附录:受影响版本与修复版本

版本 状态 说明
v5.2.0 及更早版本 存在漏洞 需立即升级
v5.2.1 ✅ 已修复 2025年11月3日发布,Google于12月2日确认修复
v5.2.3、v5.3.0 ✅ 已修复 同样包含此修复