Correção da vulnerabilidade de interface JavaScript confidencial

Estas informações são destinadas a desenvolvedores de apps com uma vulnerabilidade de interface JavaScript confidencial.

O que está acontecendo

Consulte o aviso no Play Console.

Depois dos prazos indicados no Play Console, todos os apps com vulnerabilidades de segurança não corrigidas vão ser removidos do Google Play.

Ação necessária​

  1. Abra a notificação do Google Play enviada para o endereço de e-mail do proprietário da conta para identificar quais apps foram afetados e ver os prazos para a correção dos problemas.
  2. Atualize esses apps e corrija a vulnerabilidade.
  3. Envie as versões atualizadas dos apps afetados.

Após o reenvio, seu app será revisado novamente. Esse processo pode levar várias horas. Se o app for aprovado na revisão e publicado, nenhuma outra ação será necessária. Se ele for reprovado, a nova versão não será publicada, e você receberá uma notificação por e-mail.

Detalhes adicionais

De acordo com a política relacionada a Abuso de dispositivos e de rede, "Apps ou código de terceiros (por exemplo, SDKs) com linguagens interpretadas (JavaScript, Python, Lua etc.) carregadas em tempo de execução (por exemplo, não empacotadas com o app) não podem permitir possíveis violações das políticas do Google Play".

Neste artigo, nos referimos a qualquer objeto que exponha recursos a um WebView usando o método addJavascriptInterface como uma interface JavaScript, conforme descrito nesta postagem do blog do Google Developers sobre como criar apps da Web em um WebView.

Essa classe de vulnerabilidade permite violações de dados do usuário e malware em interfaces JavaScript. Dependendo da interface exposta, isso pode gerar processos de coleta e exfiltração de dados não previstos, além de aplicativos potencialmente nocivos sem o conhecimento do desenvolvedor do app ou SDK.

Recomendamos evitar essa vulnerabilidade com um dos métodos a seguir:

Opção 1: impedir que os WebViews adicionem objetos à interface JavaScript

Garanta que nenhum objeto seja adicionado à interface JavaScript dos WebViews que carregam conteúdo não confiável da Web. Há duas maneiras de fazer isso:

  1. Impeça a adição de objetos à interface JavaScript por chamadas para addJavascriptInterface.
  2. Remova objetos da interface JavaScript em shouldInterceptRequest usando removeJavascriptInterface antes que o conteúdo não confiável seja carregado pelo WebView.

Opção 2: garantir que recursos confidenciais não sejam expostos na interface JavaScript

Confirme que nenhum recurso confidencial (como chamadas de API do Android que precisam de permissões) foi adicionado às interfaces JavaScript. Isso inclui não coletar dados sensíveis, como informações sobre usuários/dispositivos, nem expor APIs, como as de acessibilidade ou mensagens SMS. Há várias maneiras de corrigir a vulnerabilidade:

  1. Reimplemente os recursos que exijam permissões sensíveis ou coletem informações desse tipo de modo que eles sejam chamados do código empacotado no aplicativo. Garanta que a divulgação em destaque seja exibida aos usuários.
  2. Remova todas as funções que fornecem acesso a recursos confidenciais ou dados do usuário acessíveis na interface.

Opção 3: confirmar que o WebView não expõe recursos confidenciais a conteúdo não confiável

Se o WebView tem recursos confidenciais, ele não pode carregar JavaScript arbitrário de fontes desconhecidas e precisa fornecer uma declaração em destaque dos dados ou recursos em uso. Confirme que apenas os URLs com escopo restrito e o conteúdo de propriedade do desenvolvedor do app são carregados no WebView.

Se a vulnerabilidade não for corrigida, vamos aplicar uma restrição ao app por possíveis violações da política do Google Play.

Estamos aqui para ajudar

Se você leu a política e acredita que nossa decisão está errada, entre em contato com a equipe de suporte a políticas. Responderemos em até dois dias úteis.

Agradecemos seu apoio contínuo ao ajudar a fazer do Google Play uma experiência positiva para desenvolvedores e consumidores.

 

Isso foi útil?

Como podemos melhorá-lo?

Precisa de mais ajuda?

Siga as próximas etapas:

Pesquisa
Limpar pesquisa
Fechar pesquisa
Menu principal
12991173496245216049
true
Pesquisar na Central de Ajuda
true
true
true
true
true
92637
false
false