AndroidX新增SecurityStateAPI,统一系统安全状态查询入口
谷歌近期正式发布 AndroidX Security State Libraries,包含 androidx.security:security-state 和 androidx.security:s...
近日,谷歌正式推出了 AndroidX Security State Libraries,其中包括 androidx.security:security-state:1.1.0 和 androidx.security:security-state-provider:1.0.0 两个稳定版本。这一新功能的核心在于提供了一组统一的 Jetpack API,用于查询设备的安全补丁状态,为开发者提供了更便捷的方式来判断系统的安全性。
在安卓生态系统中,安全补丁的更新渠道多样且复杂。目前主要存在 OEM System OTA、Google Play System Update / Project Mainline、GKI Kernel 等多种更新方式,每种方式都有不同的更新周期和机制。特别是随着 Risk Based Update System 的引入,如何准确判断设备的安全状态变得更加困难。此前,App 需要分别从不同来源获取安全补丁信息,导致开发工作繁琐且容易出错。
为了解决这一问题,谷歌通过 AndroidX Security State 架构图进一步细化了安全补丁状态的查询维度,将其拆分为三个关键指标:DSPL(Device Security Patch Level)、PSPL(Published Security Patch Level)和 ASPL(Available Security Patch Level)。
- DSPL 表示设备当前实际运行的安全补丁状态,可以通过读取设备属性、Package/Module 信息或 Kernel version 获取;
- PSPL 代表 Android 官方发布的最新安全补丁状态,来源于 Android Security Bulletin 或 OSV;
- ASPL 则表示设备当前可以安装的安全补丁状态,由 Google Play System Update 或 OEM OTA Provider 提供。
// 当前设备存在可安装的安全更新
}
此外,Security State 还引入了有效安全状态的概念。如果 System 和 System Modules 已经修复了所有需要解决的漏洞,系统会将它们的有效安全状态提升到最新的 Bulletin 日期。只有当存在未解决的漏洞时,才会保持在较早的补丁状态。
例如,假设 System 的原始 SPL 是 2026-08-05,而 2026-09 的 Bulletin 中没有新的适用 CVE,那么设备的安全状态将自动提升到 2026-09-05。这种机制确保了即使某些厂商尚未正式发布补丁,只要漏洞已被修复,系统也能正确反映其安全状态。
为了应对突发的安全威胁,Android 17 还引入了 Supplemental Security Patches 功能。例如,某 OEM 声明其设备的 SPL 是 2026-09-05,但后来发现 CVE-2026-12345 非常危险,决定在正式发布之前就进行修复。以前这种情况很难通过标准接口证明,因为 SPL 仍然是 9 月。但现在,OEM 可以在 /system、/vendor、/product 等分区中放置一个 XML 文件,声明已修复的 CVE 编号,SecurityStateManager 会自动将这些补丁纳入计算范围。
这一系列改进不仅简化了开发者的工作,也提高了用户系统的整体安全性。通过统一的安全状态查询接口,App 可以更准确地判断设备的安全状况,并及时提示用户进行必要的更新。
值得注意的是,虽然本次更新主要聚焦于安卓生态系统的安全补丁管理,但其设计理念和实现方式也为其他操作系统提供了宝贵的参考。未来,我们期待看到更多类似的创新,共同提升整个数字生态系统的安全性。
总的来说,AndroidX Security State Libraries 的推出是安卓生态系统安全领域的一次重要进步。它不仅解决了长期以来困扰开发者的碎片化问题,还通过智能化的处理方式,使系统的安全状态更加透明和可控。对于开发者而言,这意味着可以更高效地构建安全的应用程序;对于用户来说,则意味着他们的设备将得到更好的保护。