用途:为 Android 应用(尤其是遗留代码)提供安全加固标准,优先级 P0(关键)。适用于处理 Intent extras、配置 WebView、暴露 FileProvider 等场景。
主要能力与要点
- Intent 与组件安全:除深链需要外,所有内部 Activity/Service 设置 android:exported="false";启动隐式 Intent 前用 resolveActivity 校验;所有传入 Intent extras 视为不可信,需校验 schema 与数据类型;通过 manifest 与组件限制进行加固。
- WebView 锁定:默认 javaScriptEnabled = false;使用 WebViewClient 与 WebChromeClient 限制导航;关闭 allowFileAccess 与 allowFileAccessFromFileURLs,防止 XSS 导致本地文件窃取;若使用 @JavascriptInterface(API 17+),严格限制暴露的 API 面。
- 存储与文件保护:绝不暴露 file:// URI,改用 FileProvider 生成带临时权限的 content:// URI;认证令牌与 PII 使用 EncryptedSharedPreferences,不使用遗留的全局可读文件模式;通过 NetworkSecurityConfig 禁用 cleartextTrafficPermitted 并实现证书固定。
反模式:内部通信不使用隐式 Intent,改用显式 Intent 并指定组件类名;不使用全局可读的 SharedPreferences 或文件公共读取模式。
使用方式与限制:资料给出的是加固原则与配置方向,配合“加固示例”查看具体范式;未提供具体安装命令、依赖版本、完整代码示例或兼容性范围,实际落地需结合项目与最新官方文档验证。