修復敏感 JavaScript 介面漏洞

以下資訊是為應用程式有敏感 JavaScript 介面漏洞的開發人員提供。

有什麼變動?

請參閱「Play 管理中心」的通知。

在「Play 管理中心」所顯示的限期後,任何有未修復安全漏洞的應用程式可能會從 Google Play 中移除。

需要採取行動

  1. 開啟傳送至帳戶擁有者電郵地址的 Google Play 電郵通知,以查看受影響的應用程式及解決問題的限期。
  2. 更新受影響的應用程式並修復漏洞。
  3. 提交受影響應用程式的更新版本。

重新提交後,您的應用程式將再次接受審核,此程序可能需時幾小時。如果應用程式通過審核並成功發佈,您便不用採取進一步行動。如果應用程式未能通過審核,系統將不會發佈新的應用程式版本,並會透過電郵通知您。

其他詳細資料

根據《裝置和網絡濫用政策》,「應用程式或第三方程式碼 (如 SDK) 不得允許所使用的 JavaScript 在執行階段載入時違反 Play 開發人員政策。」 

這篇文章中所指的是任何物件透過 WebView 的 addJavascriptInterface 方法作為 JavaScript 介面向某個 WebView 提供功能,如 Google Developers 網誌「在 WebView 中建立網絡應用程式」一文中所述。

此類漏洞令 JavaScript 介面可能出現使用者資料惡意軟件違規行為。視乎涉及的介面,這可能引致在應用程式或 SDK 開發人員不知情的情況下,出現未預期的資料收集和洩漏,以及可能有害的應用程式。

建議您透過下列其中一個方式防止此漏洞:

選項 1:確保 WebView 不會將物件加入 JavaScript 介面

確保任何載入不信任內容之 WebView 的 JavaScript 介面中沒有加入任何物件,方法有二:

  1. 確保沒有任何物件透過調用 addJavascriptInterface 加入 JavaScript 介面。
  2. 透過 removeJavascriptInterfaceshouldInterceptRequest 中 JavaScript 介面移除物件,然後才由 WebView 載入不信任的內容。

選項 2:確保 JavaScript 介面不會提供敏感功能

確保任何敏感功能 (例如需要權限的 Android API 調用) 不會加入 JavaScript 介面,包括不收集敏感資料 (例如使用者/裝置資料) 或提供 API (例如無障礙功能或短訊)。您可以透過多個方式解決這個安全漏洞:

  1. 重新實行任何需要敏感權限或收集敏感資料的功能,以便在應用程式內封裝的程式碼中調用。確保向使用者提供明確披露聲明
  2. 移除任何提供敏感功能或可透過介面存取使用者資料的功能。

選項 3:確保 WebView 不會向不信任的內容提供敏感功能

如果 WebView 含有敏感功能,不得載入不明來源的任意 JavaScript,並必須就使用的資料或功能提供明確披露聲明。確保只將應用程式開發人員擁有的嚴格網址和內容載入 WebView。

如未有補救漏洞,應用程式將因可能違反 Play 政策的行為而遭到處分。

我們很樂意為您提供協助

如果您在詳閱政策後認為我們的決定有誤,請聯絡我們的政策支援團隊。我們會在 2 個工作天內回覆。

感謝您一直支持 Google Play,以協助我們為開發人員和消費者提供良好體驗。

 

此內容對您有幫助嗎?

我們可以如何改善?

需要更多協助?

嘗試以下步驟:

搜尋
清除搜尋
閂搜尋模式
主選單
9267404686682183874
true
搜尋說明中心
true
true
true
true
true
92637
false
false