MASTG-TEST-0227: WebView 调试已启用
概述¶
WebView.setWebContentsDebuggingEnabled(true)
API 允许对应用程序中的所有 WebView 进行调试。 此功能在开发期间可能很有用,但如果生产环境中保持启用状态,则会带来重大的安全风险。 启用后,连接的 PC 可以调试、窃听或修改应用程序中任何 WebView 内的通信。 有关更多详细信息,请参见“Android 文档”。
请注意,此标志的运作独立于 AndroidManifest.xml
中的 debuggable
属性(请参见 AndroidManifest 中启用的可调试标志)。 即使应用程序未标记为可调试,仍然可以通过调用此 API 调试 WebView。
步骤¶
- 使用诸如 semgrep 等工具运行 在 Android 上进行静态分析 ,并在应用程序二进制文件中查找以下用法
WebView.setWebContentsDebuggingEnabled
设置为true
。ApplicationInfo.FLAG_DEBUGGABLE
.
观察¶
输出应列出
- 运行时调用
WebView.setWebContentsDebuggingEnabled
且值为true
的所有位置。 - 对
ApplicationInfo.FLAG_DEBUGGABLE
的任何引用。
评估¶
如果无条件调用 WebView.setWebContentsDebuggingEnabled(true)
或在未检查 ApplicationInfo.FLAG_DEBUGGABLE
标志的情况下调用该函数,则测试用例失败。