本文面向的是所发布的应用存在敏感 JavaScript 接口漏洞的开发者。
问题说明
请参阅 Play 管理中心中的通知。
建议采取的行动
- 打开发送到帐号所有者电子邮件地址的 Google Play 电子邮件通知,了解有哪些应用受到影响以及解决相关问题的最后期限。
- 更新受影响的应用并修复漏洞。
- 提交受影响应用的更新版本。
重新提交后,我们会重新审核您的应用。审核过程可能需要几个小时才能完成。如果应用通过审核并成功发布,便无需进一步操作。如果应用未通过审核,则新版应用将无法发布,您会收到电子邮件通知。
更多详情
根据“设备和网络滥用”政策,“如果应用或第三方代码(例如 SDK)会在运行时加载 JavaScript,不得允许发生可能违反 Play 开发者政策的行为。”
在本文中,我们所称的 JavaScript 接口是指任何通过 WebView 的 addJavascriptInterface
方法向 WebView 公开功能的对象。有关 JavaScript 接口的说明,请参阅在 WebView 中构建 Web 应用 Google Developers 博客。
这类漏洞可能会允许通过 JavaScript 接口实施潜在的用户数据和恶意软件违规行为。根据所公开的接口,这可能会导致发生意外的数据收集和渗漏,以及在应用或 SDK 开发者并不知情的情况下引入潜在有害应用。
我们建议您通过下列方法之一防范此漏洞:
方法 1:确保 WebView 不会在 JavaScript 界面中添加对象
请检查是否有任何 WebView 会加载不受信任的网络内容,并确保其 JavaScript 界面中没有添加对象。您可通过以下两种方法来达成此目的:
- 确保 JavaScript 接口中没有任何通过 addJavascriptInterface 调用而添加的对象。
-
在 WebView 加载不受信任的内容之前,通过 removeJavascriptInterface 从 shouldInterceptRequest 中移除来自 JavaScript 接口的对象。
方法 2:确保不要通过 JavaScript 接口公开敏感功能
确保不会将任何敏感功能(例如需要权限的 Android API 调用)添加到 JavaScript 接口中。这包括不收集敏感数据(例如有关用户/设备的信息),不公开 API(例如无障碍功能或短信功能)。利用此方法,您可以通过多种方式修复漏洞:
方法 3:确保您的 WebView 不会向不受信任的内容公开敏感功能
如果您的 WebView 包含敏感功能,则无法加载来自未知来源的任意 JavaScript,并且必须提供关于所用数据或功能的醒目披露声明。确保 WebView 中仅会加载严格限定范围的网址和归应用开发者所有的内容。
如不修复该漏洞,应用将因潜在的违反 Play 政策行为受到违规处置。
我们随时为您提供帮助
如果您已阅读相关政策,并认为我们的决定可能有误,请与我们的政策支持团队联系。我们会在 2 个工作日内回复您。
感谢您一直以来对我们的大力支持,这有助于我们为开发者和用户缔造积极良好的 Google Play 使用体验。