通知

您现在可以通过 Play 管理中心账号中的“帮助”页面来请求协助。如果您没有 Play 管理中心的访问权限,请联系您的账号管理员获取邀请。

针对敏感的 JavaScript 接口漏洞的修复方法

本文面向的是所发布的应用存在敏感 JavaScript 接口漏洞的开发者。

问题说明

请参阅 Play 管理中心中的通知

Play 管理中心内显示的最后期限过后,所有包含未修复安全漏洞的应用可能会从 Google Play 下架。

建议采取的行动

  1. 打开发送到帐号所有者电子邮件地址的 Google Play 电子邮件通知,了解有哪些应用受到影响以及解决相关问题的最后期限。
  2. 更新受影响的应用并修复漏洞。
  3. 提交受影响应用的更新版本。

重新提交后,我们会重新审核您的应用。审核过程可能需要几个小时才能完成。如果应用通过审核并成功发布,便无需进一步操作。如果应用未通过审核,则新版应用将无法发布,您会收到电子邮件通知。

更多详情

根据“设备和网络滥用”政策,“如果应用或第三方代码(例如 SDK)会在运行时加载 JavaScript,不得允许发生可能违反 Play 开发者政策的行为。”

在本文中,我们所称的 JavaScript 接口是指任何通过 WebView 的 addJavascriptInterface 方法向 WebView 公开功能的对象。有关 JavaScript 接口的说明,请参阅在 WebView 中构建 Web 应用 Google Developers 博客。

这类漏洞可能会允许通过 JavaScript 接口实施潜在的用户数据恶意软件违规行为。根据所公开的接口,这可能会导致发生意外的数据收集和渗漏,以及在应用或 SDK 开发者并不知情的情况下引入潜在有害应用。

我们建议您通过下列方法之一防范此漏洞:

方法 1:确保 WebView 不会在 JavaScript 界面中添加对象

请检查是否有任何 WebView 会加载不受信任的网络内容,并确保其 JavaScript 界面中没有添加对象。您可通过以下两种方法来达成此目的:

  1. 确保 JavaScript 接口中没有任何通过 addJavascriptInterface 调用而添加的对象。
  2. 在 WebView 加载不受信任的内容之前,通过 removeJavascriptInterfaceshouldInterceptRequest 中移除来自 JavaScript 接口的对象。

方法 2:确保不要通过 JavaScript 接口公开敏感功能

确保不会将任何敏感功能(例如需要权限的 Android API 调用)添加到 JavaScript 接口中。这包括不收集敏感数据(例如有关用户/设备的信息),不公开 API(例如无障碍功能或短信功能)。利用此方法,您可以通过多种方式修复漏洞:

  1. 重新实现所有需要敏感权限或收集敏感信息的功能,通过打包在应用中的代码调用相应功能。确保向用户提供醒目的披露声明
  2. 移除允许访问可通过接口访问的敏感功能或用户数据的所有函数。

方法 3:确保您的 WebView 不会向不受信任的内容公开敏感功能

如果您的 WebView 包含敏感功能,则无法加载来自未知来源的任意 JavaScript,并且必须提供关于所用数据或功能的醒目披露声明。确保 WebView 中仅会加载严格限定范围的网址和归应用开发者所有的内容。

如不修复该漏洞,应用将因潜在的违反 Play 政策行为受到违规处置。

我们随时为您提供帮助

如果您已阅读相关政策,并认为我们的决定可能有误,请与我们的政策支持团队联系。我们会在 2 个工作日内回复您。

感谢您一直以来对我们的大力支持,这有助于我们为开发者和用户缔造积极良好的 Google Play 使用体验。

 

该内容对您有帮助吗?

您有什么改进建议?
搜索
清除搜索内容
关闭搜索框
Google 应用
主菜单
14157984936572202070
true
搜索支持中心
false
true
true
true
true
true
92637
false
false
false
false