説明
本番ビルドで WebView.setWebContentsDebuggingEnabled(true) を有効にすると、USBデバッグやデバッグ接続を通じてWebView内部のページ、ストレージ、ネットワーク動作を調べられます。機密性のあるセッション情報やDOMデータが漏れるおそれがあります。
想定される影響
- WebViewのストレージやセッション情報の漏えい
- ページの操作やスクリプトの実行
- 本番アプリの内部動作の解析
対処方法
- デバッグの有効化は
BuildConfig.DEBUGの条件内に限定してください。 - リリースビルドでは明示的に無効にするか、有効化する呼び出しを取り除いてください。
- リリースビルドの設定が
debuggable=falseであることを確認してください。
例
変更前
java
WebView.setWebContentsDebuggingEnabled(true);
変更後
java
if (BuildConfig.DEBUG) {
WebView.setWebContentsDebuggingEnabled(true);
}
解説:
- 変更前: デバッグを有効にすると、接続された開発ツールからWebViewのコンテンツやJavaScriptコンテキストを調べられます。
- 変更後: 本番ビルドでは
WebView.setWebContentsDebuggingEnabled(false)を使うか、有効化する呼び出しを省いてください。上記のリリースビルド設定も必要です。