Вышел первый стабильный androidx.security:security-state:1.1.0 (1.0 дошел только до Beta) и security-state-provider:1.0.0
Библиотека отвечает на вопрос на каком patch level сейчас живут разные куски ОС и закрыт ли конкретный CVE.
После Mainline / APEX одного
Build.VERSION.SECURITY_PATCH мало. Система, vendor, ядро и модули обновляются отдельно. В API 35 платформенный SecurityStateManager уже умеет проверять это. AndroidX даёт compat API и дополнения для проверки установленных пачтей безопасности, закрыты ли известные уязвимости и доступны для них фиксы уже на целевом устройстве.val state = SecurityPatchState(context)
val systemSpl =
state.getDeviceSecurityPatchLevel(SecurityPatchState.COMPONENT_SYSTEM)
// bulletinJson скачиваете самостоятельно
state.loadVulnerabilityReport(bulletinJson)
val patched = state.areCvesPatched(listOf("CVE-2024-0031"))
val upToDate = state.isDeviceFullyUpdated()
val pending = state.queryAllAvailableUpdates(timeoutMillis = 5_000)
Кому это реально нужно? MDM, банки, приложения с высокими требованиями безопасности. В обычное приложение тащить незачем.
#Android #AndroidDev #Jetpack #Security