Como visualizar as permissões de aplicativos Android antes de instalar um APK

A smartphone showing a list of app permissions with a magnifying glass

Quando você instala um aplicativo da Google Play Store, o Android mostra um resumo simplificado do que o aplicativo pode acessar. Faça o sideload de um APK de uma fonte que não seja do Play e você não terá essa rede de segurança, a menos que você mesmo leia o manifesto. "Será que um aplicativo de papel de parede realmente precisa de acesso a SMS e microfone?" é exatamente o tipo de pergunta que este guia o ajudará a responder.

O que se segue é o mesmo fluxo de trabalho que nossa equipe usa ao fazer a triagem de um APK desconhecido: abra-o, leia as entradas uses-permission, decodifique os níveis de proteção e compare o que o aplicativo diz precisa com o que sua categoria normalmente exige. Nosso ferramenta online de informações do APK faz a decodificação XML binária para você, então todo o processo leva cerca de dez segundos.

Tempo de leitura: ~9 minutos. Ferramentas necessárias: um navegador; opcionalmente apksigner e aapt2 do Android SDK se você quiser fazer as mesmas verificações em um terminal. O que você poderá fazer no final: leia a lista completa de permissões de qualquer APK, identifique as quatro ou cinco solicitações de “alto impacto” que quase sempre indicam problemas e decida se deseja instalar antes da instalação, não depois.

Por que se preocupar com permissões de auditoria?

Desenvolvedores maliciosos pegam aplicativos gratuitos populares, alteram-nos e relançam-nos em sites de terceiros. Embora o aplicativo possa parecer e funcionar normalmente, seu código oculto pode copiar sua lista de contatos ou gravar seu áudio de fundo. Ao visualizar as permissões pré-instalação, você pode identificar esses sinais de alerta de "aumento de permissão".

Como auditar qualquer arquivo APK (online)

Nosso Ferramenta de informações do APK lê o manifesto do seu arquivo inteiramente no seu navegador; o arquivo nunca é carregado em um servidor e nenhum código é executado. Veja como usá-lo:

Processo:

  1. Vá para Página de informações do APK.
  2. Selecione seu arquivo .apk.
  3. Aguarde a conclusão da análise (geralmente 5 segundos).
  4. Role para baixo até Seção de permissões.
  5. Procure sinalizadores de alto risco como: READ_SMS, PROCESS_OUTGOING_CALLS ou ACCESS_FINE_LOCATION.

Lista de bandeira vermelha de permissão

Se um aplicativo Calculadora ou Lanterna solicitar READ_CONTACTS ou RECORD_AUDIO, exclua o arquivo imediatamente. Não há nenhuma razão legítima para esses aplicativos terem esses dados.

Compreendendo os níveis de permissão do Android

Nem todas as permissões são criadas iguais. O Android os categoriza em três níveis:

Método manual (usando um visualizador ZIP)

Se você tiver alguma habilidade técnica, poderá auditar as permissões você mesmo:

  1. Renomeie app.apk para app.zip e abra-o.
  2. Encontre AndroidManifest.xml. (Observação: está em formato binário e parecerá algo sem sentido em um editor de texto).
  3. Use uma ferramenta como Impressora AXML para convertê-lo em texto legível.
  4. Pesquise tags começando com <uses-permission>.

Recomendação: É muito mais rápido usar nosso ferramenta on-line que decodifica isso para você instantaneamente.

Audite seus aplicativos agora

Saiba exatamente o que seus aplicativos estão pedindo. Sem segredos, sem riscos.

Verifique as permissões do APK

O que está realmente armazenado em AndroidManifest.xml

O manifesto é a fonte da verdade para cada permissão, componente e recurso declarado por um aplicativo. Dentro de um APK, o arquivo está no formato XML binário, e não no texto simples que você vê no código-fonte, portanto, não pode ser lido com um editor de texto normal. Nossa ferramenta APK Info decodifica o XML binário e exibe as tags relevantes. Os mais importantes são:

Níveis de proteção de permissão: a folha de dicas

O Android atribui a cada permissão um “nível de proteção”. Saber a qual nível uma solicitação pertence informa com que seriedade o sistema operacional a tratará.

Nível de proteção Experiência do usuário Exemplos
normal Concedido silenciosamente no momento da instalação. Sem aviso. INTERNET, VIBRAÇÃO, ACCESS_NETWORK_STATE, WAKE_LOCK
perigoso Solicitação de tempo de execução na primeira vez que o recurso é usado. Revogável em Configurações. CÂMERA, RECORD_AUDIO, READ_CONTACTS, ACCESS_FINE_LOCATION
assinatura Concedido apenas a aplicativos assinados com o mesmo certificado do aplicativo ou sistema operacional que concede a concessão. BIND_VPN_SERVICE, INSTALL_PACKAGES (somente sistema)
assinatura|privilegiado Disponível apenas para aplicativos pré-instalados no diretório priv-app da imagem do sistema. MANAGE_USERS, READ_LOGS (controle de sistema)
aplicativo/função Requer um fluxo de configurações separado para ser ativado. SYSTEM_ALERT_WINDOW, BIND_ACCESSIBILITY_SERVICE, MANAGE_EXTERNAL_STORAGE (acesso especial)

O que realmente significam permissões "ocultas"

Um equívoco comum é que algumas permissões são secretas. Não são: todas as permissões que um aplicativo possa usar devem ser declaradas em AndroidManifest.xml, e o sistema operacional se recusa a conceder qualquer permissão não listada lá. O que as pessoas geralmente querem dizer com "oculto" é uma de duas coisas:

De qualquer forma, a resposta é a mesma: leia o manifesto, não confie apenas na descrição da Play Store.

Exemplo resolvido: auditando um APK real

Suponha que você tenha example.apk na pasta Downloads. Aqui está o fluxo de trabalho exato:

  1. Abra o Ferramenta de informações do APK no seu navegador.
  2. Solte o APK na área de upload. O processamento acontece localmente; o arquivo não sai do seu dispositivo.
  3. Leia a seção Permissões. Cada entrada mostra o nome da constante (android.permission.READ_CONTACTS e uma descrição em linguagem simples do que ela permite).
  4. Compare a lista com a categoria do aplicativo. Aproximadamente, espere:
    • CÂMERA Aplicativos de câmera:, RECORD_AUDIO (para vídeo), ARMAZENAMENTO/gravação de MÍDIA
    • Aplicativos de mensagens: INTERNET, READ_CONTACTS, SEND_SMS (somente se baseado em SMS), RECORD_AUDIO (para notas de voz), CAMERA (para envio de fotos)
    • Jogos: INTERNET, sometimes RECORD_AUDIO (for in-game voice chat), billing-related permissions; raramente qualquer outra coisa
    • Aplicativos utilitários (calculadora, lanterna, clima): INTERNET (para anúncios), ACCESS_NETWORK_STATE, possivelmente LOCATION (somente clima). Qualquer coisa além disso é suspeita.
  5. Se algo na lista não se enquadrar na categoria, não instale. Não há um bom motivo para uma calculadora precisar de acesso por SMS.

A mesma lógica se aplica quer o arquivo seja um APK, um XAPK (onde lemos o APK base interno) ou um pacote APKS (onde lemos o manifesto de cada divisão).

Fazendo isso na linha de comando

Se você preferir a rota do terminal, o SDK do Android vem com aapt2, que despeja um manifesto de qualquer APK em XML simples:

aapt2 dump badging example.apk | grep "uses-permission"

Ou use apksigner para verificar o certificado de assinatura ao mesmo tempo:

apksigner verify --print-certs example.apk

A ferramenta do navegador faz o mesmo para usuários que preferem não instalar um SDK apenas para examinar um único arquivo.

Perguntas frequentes (FAQ)

Posso negar uma permissão após instalar um APK?

Sim. No Android 6.0 e superior, você pode acessar Configurações > Aplicativos > [Nome do aplicativo] > Permissões para ativar ou desativar permissões perigosas individuais.

Os arquivos XAPK têm permissões diferentes?

Um XAPK contém um ou mais APKs. Cada APK interno tem seu próprio manifesto. Nossa ferramenta analisará o APK principal dentro do pacote para mostrar as permissões relevantes.

Por que todo aplicativo pede “Acesso à rede”?

Quase todos os aplicativos precisam de acesso à Internet para análises, relatórios de bugs ou anúncios. Embora seja comum, é também a forma como os dados roubados são enviados ao servidor de um hacker.

Inspecionando as permissões do manifesto antes de tocar em Instalar

Você não pode julgar o que não pode ver. Gastar dez segundos no ver as permissões de um APK antes de fazer o sideload é a diferença entre saber o que um aplicativo pode alcançar e simplesmente esperar que ele se comporte. Leia a lista primeiro e instale depois.

Projetado e documentado por Mst Shaefale Desenvolvedor líder e arquiteto de pacotes Android • Verificado no Android 12–15

Mst Shaefale mantém a fusão XAPK/APKS do lado do cliente, analisador de manifesto binário e ferramentas de assinatura APK v1+v2 em xapktoapk.com. Identificou um comando desatualizado ou uma alteração no sistema operacional? Envie uma nota editorial.