Android WebViewのデバッグの有効化

Android WebViewのデバッグの有効化

説明

本番ビルドで WebView.setWebContentsDebuggingEnabled(true) を有効にすると、USBデバッグやデバッグ接続を通じてWebView内部のページ、ストレージ、ネットワーク動作を調べられます。機密性のあるセッション情報やDOMデータが漏れるおそれがあります。

想定される影響

  • WebViewのストレージやセッション情報の漏えい
  • ページの操作やスクリプトの実行
  • 本番アプリの内部動作の解析

対処方法

  1. デバッグの有効化は BuildConfig.DEBUG の条件内に限定してください。
  2. リリースビルドでは明示的に無効にするか、有効化する呼び出しを取り除いてください。
  3. リリースビルドの設定が debuggable=false であることを確認してください。

例

変更前

java
WebView.setWebContentsDebuggingEnabled(true);

変更後

java
if (BuildConfig.DEBUG) {
    WebView.setWebContentsDebuggingEnabled(true);
}

解説:

  • 変更前: デバッグを有効にすると、接続された開発ツールからWebViewのコンテンツやJavaScriptコンテキストを調べられます。
  • 変更後: 本番ビルドでは WebView.setWebContentsDebuggingEnabled(false) を使うか、有効化する呼び出しを省いてください。上記のリリースビルド設定も必要です。

参考資料