Skip to content

MASTG-TEST-0254: Permissões Perigosas de Aplicativo

Visão Geral

Em aplicativos Android, as permissões são obtidas por meio de diferentes métodos para acessar informações e funcionalidades do sistema, incluindo câmera, localização ou armazenamento. As permissões necessárias são especificadas no arquivo AndroidManifest.xml com as tags <uses-permission>.

Etapas

Existem várias ferramentas que podem ajudar a encontrar permissões em uso por um aplicativo. Consulte Obtenção de Recursos de Segurança Fornecidos pelo Compilador e utilize qualquer uma das ferramentas mencionadas.

  1. Extraia o arquivo AndroidManifest.xml do APK (consulte Obtenção de Informações do AndroidManifest).
  2. Obtenha a lista de permissões declaradas (consulte Obtenção de Permissões de App).

Observação

A saída mostra a lista de permissões declaradas pelo aplicativo.

Avaliação

O teste falha se houver qualquer permissão perigosa no aplicativo.

Compare a lista de permissões declaradas com a lista de permissões perigosas definidas pelo Android. Você pode encontrar mais detalhes na documentação do Android.

Consideração de Contexto:

O contexto é essencial ao avaliar permissões. Por exemplo, um aplicativo que usa a câmera para escanear códigos QR deve ter a permissão CAMERA. No entanto, se o aplicativo não tiver uma funcionalidade de câmera, a permissão é desnecessária e deve ser removida.

Além disso, considere se existem alternativas que preservem a privacidade em relação às permissões usadas pelo aplicativo. Por exemplo, em vez de usar a permissão CAMERA, o aplicativo poderia usar o aplicativo de câmera integrado do dispositivo para capturar fotos ou vídeos invocando as ações de intent ACTION_IMAGE_CAPTURE ou ACTION_VIDEO_CAPTURE. Essa abordagem permite que o aplicativo acesse a funcionalidade de câmera sem solicitar diretamente a permissão CAMERA, melhorando assim a privacidade do usuário.

Demos

MASTG-DEMO-0033: Permissões Perigosas no AndroidManifest com semgrep