BMS 安全与校验
使用此 skill 处理 BundleManager 中权限、安全校验、签名校验和 provision profile 相关修改。
工作流程
-
先判断安全面:
- 调用方权限或 system API:看
BundleMgrHostImpl和BundlePermissionMgr。 - HAP 签名、完整性、安装校验:看
verify/、BundleInstallChecker、BundleParser。 - Provision profile:看
app_provision_info/。 - Code signature:搜索
code signature和相关错误码。 - Installs 进程权限:看
InstalldPermissionMgr和 foundation UID 校验。 - 应用管控:看
app_control/。
- 调用方权限或 system API:看
-
阅读
references/security-map.md,确认核心文件。 -
阅读
references/security-checklist.md,检查权限、错误码、日志和测试。 -
修改时把安全失败路径当作主要路径处理,必须明确返回错误码和日志敏感性。
安全原则
- 调用方身份检查要靠 token/UID/PID 等系统来源,不要信任入参。
- 多用户场景要检查
userId是否允许调用方操作。 - 敏感日志使用
%{private},公开信息使用%{public}。 - 安装安全检查失败时,不要继续写入数据或执行文件操作。
- Installs 进程只信任 Foundation 进程调用。
参考资料
references/security-map.md:安全与校验文件地图。references/security-checklist.md:安全修改检查清单。