Reformulação: Por Que Aplicativos com WebView São Recusados

Reformulação: Por Que Aplicativos com WebView São Recusados


A principal causa de rejeição ou sinalização de aplicativos que incorporam o WebView reside nos riscos de segurança. Especificamente, eles abrem a porta para vulnerabilidades de cross-app scripting (XSS), permitindo que softwares maliciosos extraiam informações confidenciais do usuário, como cookies e dados de sessão.

Essa falha é crítica principalmente quando duas condições são atendidas:

  • O JavaScript está habilitado no WebView (via $setJavaScriptEnabled(true)$);

  • O WebView é instruído a carregar dados provenientes de "Intents" não validados, ou seja, comunicações recebidas de outros aplicativos.

Nesse cenário, um invasor pode facilmente forçar o WebView a executar um código JavaScript malicioso em um ambiente desprotegido, comprometendo seriamente a segurança dos dados do usuário.

🛡️ Medidas de Mitigação e Soluções Práticas

Para contornar esses riscos de segurança e evitar a recusa do aplicativo, as táticas mais eficazes focam em restringir a exposição e verificar a procedência dos dados que entram no WebView:

  1. Restrição de Exportação de Componentes:

    • Caso a Atividade (tela) que contém o WebView não precise interagir com outros aplicativos por meio de Intents, configure $android:exported=false$ para essa atividade no arquivo Android Manifest.

  2. Proteção Rigorosa em Atividades Exportadas:

    • Se a Atividade for obrigatoriamente exportada (e, portanto, deve receber Intents), é fundamental reforçar a segurança das chamadas que executam código, como $evaluateJavascript$ e $loadUrl$.

    • Priorizar a Confiança dos Dados: Todos os parâmetros fornecidos ao $evaluateJavascript$ devem ser integralmente confiáveis e jamais derivados de entradas de Intents não confiáveis sem passar por uma sanitização rigorosa.

    • Evitar Esquemas Inseguros: Abstenha-se de usar o método $loadUrl$ com URLs que utilizem o esquema $javascript:$, se a origem dessas URLs não for confiável.

  3. Configurações de Segurança Adicionais (Outras Medidas):

    • Desabilitar o Acesso a Arquivos (para prevenir XSS baseado em arquivos, exceto se for essencial para a funcionalidade): Garanta que $setAllowFileAccess()$, $setAllowFileAccessFromFileURLs()$ e $setAllowUniversalAccessFromFileURLs()$ estejam configurados como FALSE.

    • Validação de Conteúdo e URIs: Sempre confirme que a URI que está sendo carregada no $loadUrl$ é proveniente de uma fonte segura e está no formato adequado.


No canal do professor Carllus ele explica mais com atenção sobre a questão do uso da WEB VIEW no app android. Neste link:
Ele dar mais detalhe sobre isso.

Please Select Embedded Mode To Show The Comment System.*

Postagem Anterior Próxima Postagem