A Google apresentou as bibliotecas AndroidX Security State e Security State Provider, que permitem aos desenvolvedores verificar o status de segurança de dispositivos Android de forma granular, analisando cada componente individualmente em vez de depender apenas de uma data única de patch de segurança em nível de dispositivo.
Até agora, o Security Patch Level (SPL) funcionava como um número monolítico que abrangia toda a pilha de software do sistema em um dispositivo Android. Com o novo mecanismo, é possível fazer verificações de segurança em nível de componente, oferecendo visibilidade muito mais precisa sobre quais remediações estão disponíveis.
Como funciona
A biblioteca Security State define três níveis de patch distintos:
- Device SPL: o nível de patch de segurança atualmente instalado no sistema, consultado diretamente sem exigir acesso à rede
- Published SPL: o patch mais recente oficialmente publicado pela Google para um componente específico
- Available SPL: o patch disponível para download e instalação no dispositivo em questão
Em nível de componente, a biblioteca diferencia entre o Android OS principal (sistema), subsistemas do SO atualizados via Google Play (módulos do sistema) e kernel.
Benefícios práticos
Com essas três camadas de informação de patch acessíveis por componente, desenvolvedores e empresas conseguem entender exatamente o quão seguro um dispositivo está, identificar patches faltantes e tomar medidas proativas de remediação.
Aplicativos bancários e corporativos podem usar os níveis Device SPL e Available SPL para garantir que um dispositivo está seguro antes de permitir operações sensíveis. Em vez de simplesmente rejeitar uma solicitação, eles podem exigir que o usuário instale primeiro atualizações específicas de componentes do SO. Desenvolvedores também podem verificar o status de patch de CVEs (vulnerabilidades) específicas antes de permitir operações críticas de segurança que dependem de certos componentes de hardware ou software, como NFC ou Bluetooth.
Principais funções
A biblioteca fornece um conjunto de funções para diferentes cenários:
- queryAllAvailableUpdates(): lista todas as atualizações disponíveis
- fetchAvailableSecurityPatchLevel(): agrega dados do dispositivo atual para descobrir atualizações de segurança pendentes em todos os componentes
- areCvesPatched(): verifica se CVEs específicas foram corrigidas no dispositivo
- isDeviceFullyUpdated(): determina se o dispositivo possui todos os patches de segurança disponíveis
- createVulnerabilityReportUrl(): gera URLs padronizadas para boletins de segurança e detalhes de CVEs










