MASTG-TEST-0227 WebView のデバッグが有効 (Debugging Enabled for WebViews)

概要

WebView.setWebContentsDebuggingEnabled(true) API はアプリケーション内の すべて の WebView に対してデバッグを有効にします。この機能は開発時には便利ですが、本番で有効のままにしておくと重大なセキュリティリスクをもたらします。有効にすると、接続された PC はアプリケーション内の任意の WebView 内の通信をデバッグ、盗聴、改変できます。詳細については "Android ドキュメント" をご覧ください。

このフラグは AndroidManifest.xmldebuggable 属性とは独立して機能することに注意してください (AndroidManifest で有効になっているデバッグフラグ (Debuggable Flag Enabled in the AndroidManifest) を参照)。アプリが debuggable としてマークされていない場合でも、この API を呼び出すことで依然として WebView をデバッグできます。

手順

  1. アプリバイナリに対して re-flutter などのツールで Android での静的解析 (Static Analysis on Android) を実行し、以下の使用箇所を探します。

    • WebView.setWebContentsDebuggingEnabledtrue を設定している。

    • ApplicationInfo.FLAG_DEBUGGABLE

結果

出力には以下をリストする可能性があります。

  • 実行時に WebView.setWebContentsDebuggingEnabledtrue で呼び出されるすべての場所。

  • ApplicationInfo.FLAG_DEBUGGABLE への参照。

評価

WebView.setWebContentsDebuggingEnabled(true) が無条件に呼び出される場合や、ApplicationInfo.FLAG_DEBUGGABLE フラグがチェックされていないコンテキストで呼び出される場合、そのテストケースは不合格です。

Last updated

Was this helpful?