文章总结: 微软Defender团队在EngageLabSDK4.5.4版本中发现意图重定向漏洞,允许恶意应用通过漏洞应用作为跳板,绕过安卓沙箱访问私有数据,威胁5000万用户尤其是加密货币钱包安全。开发者应立即升级至5.2.1版本,并遵循最小权限、严格校验外部输入、安全使用PendingIntent等原则防范此类漏洞。 综合评分: 88 文章分类: 移动安全,漏洞分析,安全开发
深入解析:EngageLab SDK意图重定向漏洞如何击穿安卓沙箱?
原创
Kit Chung Kit Chung
安全圈动向
2026年4月10日 09:17 广东
大家好,今天咱们来扒一个刚刚被微软 Defender 安全研究团队曝光的“大雷”。
大家平时做安卓开发,接入第三方 SDK 简直是家常便饭,尤其是做推送服务,为了省事,往往几行代码直接引入。但你敢信吗?就是这样一个广泛使用的推送 SDK——EngageLab SDK,直接把 5000万 安卓用户的隐私底裤给扒了,其中甚至包含 3000多万的加密货币钱包用户!
今天我就带大家深挖一下这份报告,从底层技术原理来看看,这个漏洞到底是怎么击穿安卓系统引以为傲的沙箱机制的,以及我们在日常开发中该如何避坑。
🚨 究竟是怎么回事?
简单来说,EngageLab SDK 是一个提供消息推送服务的第三方开发包,主打“基于用户行为的精准实时推送”。很多 App(尤其是对实时性要求极高的加密钱包)都集成了它。
但微软安全团队在 EngageLab SDK 的 4.5.4 版本中,发现了一个极其致命的漏洞——意图重定向(Intent Redirection)。
划重点: 这个漏洞允许同一台设备上的恶意 App,直接绕过 Android 的应用沙箱机制(Sandbox),未经授权访问受害者 App 的私有数据。
微软并没有公开被感染 App 的具体名单,但明确表示这些带有漏洞版本的应用已经被 Google Play 商店火速下架。官方在经历了近半年的修复和测试后,终于在 2025 年 11 月发布了安全的 5.2.1 版本。
🧠 核心技术原理解析:何为“意图重定向”?
很多刚入行的同学可能对“意图重定向”这个词有点陌生。咱们先复习一下安卓的基础。
Android 系统之所以相对安全,很大程度上依赖于应用沙箱(Application Sandbox)。每个 App 都在自己的进程和独立的 UID 下运行,互相之间是隔离的,谁也看不了谁的 /data/data/ 目录。
而 App 之间如果要通信,靠的就是 Intent(意图)。
所谓“意图重定向”,顾名思义,就是攻击者利用了存在漏洞的 App 的信任上下文(权限),把它当成了“代理人”或“跳板”。
具体到代码层面,通常是这样的灾难现场:
- 目标 App(集成了漏洞 SDK)暴露了一个导出的组件(比如
Activity或Service),也就是android:exported="true"。 - 这个暴露的组件在接收到外部传来的 Intent 后,没有做任何严格的校验,直接从中提取出嵌套的
Intent或者特定的URI。 - 接着,漏洞 App 使用自己的上下文(Context)和高权限,调用了
startActivity()、startService()或者直接去访问了内部组件和私有文件。
这就是典型的“引狼入室”!
🕵️♂️ 攻击路径与复现思路
那么,黑客如果想搞事情,具体的攻击路径是怎样的呢?作为安全人员,我们可以这样推演:
第一步:潜伏与探测 攻击者需要诱导用户安装一个看似人畜无害的“白板 App”(比如一个简单的手电筒或计算器),这个 App 不需要申请任何敏感权限。安装后,它会在后台静默扫描设备上的包名,寻找集成了 EngageLab SDK(版本 <= 4.5.4)的目标应用(比如某个拥有巨额资产的加密钱包)。
第二步:构造恶意 Intent Payload
恶意 App 会精心构造一个 Intent。这个 Intent 的目标指向漏洞 SDK 暴露的那个脆弱组件,而在它的 Extras 里面,嵌套了另一个“真正的作案 Intent”。
第三步:借刀杀人,窃取数据
当恶意 App 发送这个包裹好的 Intent 时,Android 系统把它交给了带有 SDK 的目标 App。
目标 App 的漏洞代码一旦执行,就会用自己的沙箱权限去解析并执行嵌套的 Intent。这时候,攻击者就可以指使目标 App 去读取它自己 /data/data/包名/ 下的私有目录了!
对于加密货币钱包来说,这意味着什么?意味着本地存储的私钥、助记词、Session Token 甚至未加密的本地 SQLite 数据库,统统暴露在了攻击者的视野中!一旦私钥被窃取,用户的数字资产瞬间清零。
🛡️ 开发者如何防范与自救?
目前虽然还没有证据表明这个漏洞在野外被大规模恶意利用,但在黑产眼中,这种级别的漏洞简直就是提款机。微软也特意警告:“在数字资产管理等高价值领域,第三方 SDK 的脆弱性会带来大规模的安全连锁反应。”
各位兄弟,如果你或者你的团队项目里碰巧用到了 EngageLab SDK,别犹豫,马上把版本升级到 5.2.1 或以上!
除此之外,针对“意图重定向”这类经典漏洞,我们在日常撸代码时必须死守以下底线:
-
最小权限原则:
非必须暴露的组件,务必在
AndroidManifest.xml中将android:exported设置为false。 -
严查外部输入:
如果组件必须导出,永远不要轻信外部传入的 Intent。如果需要从 Intent 中提取参数来启动其他组件,必须通过
getCallingActivity()等方式严格校验调用方来源,或者对目标组件的包名、类名进行白名单过滤。 -
安全使用 PendingIntent:
在处理通知栏点击等场景时,如果要用到
PendingIntent,务必加上FLAG_IMMUTABLE标志,防止恶意应用修改 Intent 的内部细节。 -
敬畏供应链安全:
引入任何第三方 SDK 都是在引入风险。尽量使用知名大厂、维护更新频繁的 SDK,并定期进行依赖项的安全扫描(比如使用依赖检查工具扫描已知的 CVE)。
结语
技术发展太快,业务催得太紧,我们很容易沦为无情的“调包侠”。但今天这个涉及到 3000 万加密钱包的雷再次给我们敲响了警钟:供应链安全,往往是整个系统最脆弱的一环。你的系统可能坚如磐石,但你引入的一个不起眼的推送插件,就能让整个防线瞬间崩塌。
如果你觉得这篇文章对你有启发,或者你的项目正好避开了这个坑,欢迎在评论区留言交流!也请点赞、在看、转发给你的开发同事,咱们一起写出更安全的代码。我们下期技术干货见!
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:安全圈动向 Kit Chung Kit Chung《深入解析:EngageLab SDK意图重定向漏洞如何击穿安卓沙箱?》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论