Skip to content

MASTG-BEST-0011: Carregar Conteúdo de Arquivo com Segurança em um WebView

A abordagem recomendada para carregar conteúdo de arquivo em um WebView com segurança é usar WebViewClient com WebViewAssetLoader para carregar assets do diretório de assets ou recursos do aplicativo usando URLs https:// em vez de URLs inseguras do tipo file://. Isso garante que o conteúdo seja carregado em um ambiente seguro de mesma origem e evita expor arquivos locais a possíveis ataques de origem cruzada.

Se for necessário permitir que o WebView carregue arquivos locais usando o esquema file://, considere o seguinte:

  • Para aplicativos com minSdkVersion que possui padrões seguros para métodos de acesso a arquivos do WebView, certifique-se de que esses métodos não sejam usados e que os valores padrão sejam preservados. Alternativamente, defina-os explicitamente como false para garantir que o WebView não permita acesso a arquivos locais:

    • setAllowFileAccess(false)
    • setAllowFileAccessFromFileURLs(false)
    • setAllowUniversalAccessFromFileURLs(false)
  • Para aplicativos com minSdkVersion que não possui padrões seguros para esses métodos (por exemplo, níveis de API mais antigos), certifique-se de que os métodos acima sejam definidos explicitamente como false na configuração do seu WebView.

Para mais detalhes, consulte a documentação oficial do Android sobre carregamento seguro de conteúdo local, especialmente a seção sobre "O que evitar".

Tests

MASTG-TEST-0253: Uso em Tempo de Execução de APIs de Acesso a Arquivos Locais em WebViews MASTG-TEST-0251: Uso em Tempo de Execução de APIs de Acesso a Content Provider em WebViews MASTG-TEST-0250: Referências a Content Provider Access em WebViews MASTG-TEST-0252: Referências de Acesso a Arquivos Locais em WebViews