以下資訊是為應用程式有敏感 JavaScript 介面漏洞的開發人員提供。
有什麼變動?
請參閱「Play 管理中心」的通知。
需要採取行動
- 開啟傳送至帳戶擁有者電郵地址的 Google Play 電郵通知,以查看受影響的應用程式及解決問題的限期。
- 更新受影響的應用程式並修復漏洞。
- 提交受影響應用程式的更新版本。
重新提交後,您的應用程式將再次接受審核,此程序可能需時幾小時。如果應用程式通過審核並成功發佈,您便不用採取進一步行動。如果應用程式未能通過審核,系統將不會發佈新的應用程式版本,並會透過電郵通知您。
其他詳細資料
根據《裝置和網絡濫用政策》,「應用程式或第三方程式碼 (如 SDK) 不得允許所使用的 JavaScript 在執行階段載入時違反 Play 開發人員政策。」
這篇文章中所指的是任何物件透過 WebView 的 addJavascriptInterface
方法作為 JavaScript 介面向某個 WebView 提供功能,如 Google Developers 網誌「在 WebView 中建立網絡應用程式」一文中所述。
此類漏洞令 JavaScript 介面可能出現使用者資料和惡意軟件違規行為。視乎涉及的介面,這可能引致在應用程式或 SDK 開發人員不知情的情況下,出現未預期的資料收集和洩漏,以及可能有害的應用程式。
建議您透過下列其中一個方式防止此漏洞:
選項 1:確保 WebView 不會將物件加入 JavaScript 介面
確保任何載入不信任內容之 WebView 的 JavaScript 介面中沒有加入任何物件,方法有二:
- 確保沒有任何物件透過調用 addJavascriptInterface 加入 JavaScript 介面。
-
透過 removeJavascriptInterface 從 shouldInterceptRequest 中 JavaScript 介面移除物件,然後才由 WebView 載入不信任的內容。
選項 2:確保 JavaScript 介面不會提供敏感功能
確保任何敏感功能 (例如需要權限的 Android API 調用) 不會加入 JavaScript 介面,包括不收集敏感資料 (例如使用者/裝置資料) 或提供 API (例如無障礙功能或短訊)。您可以透過多個方式解決這個安全漏洞:
選項 3:確保 WebView 不會向不信任的內容提供敏感功能
如果 WebView 含有敏感功能,不得載入不明來源的任意 JavaScript,並必須就使用的資料或功能提供明確披露聲明。確保只將應用程式開發人員擁有的嚴格網址和內容載入 WebView。
如未有補救漏洞,應用程式將因可能違反 Play 政策的行為而遭到處分。
我們很樂意為您提供協助
如果您在詳閱政策後認為我們的決定有誤,請聯絡我們的政策支援團隊。我們會在 2 個工作天內回覆。
感謝您一直支持 Google Play,以協助我們為開發人員和消費者提供良好體驗。