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.
- Extraia o arquivo
AndroidManifest.xmldo APK (consulte Obtenção de Informações do AndroidManifest). - 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