mirror of
https://github.com/openharmony/security_access_token.git
synced 2026-08-24 23:01:24 -04:00
0cf4d33bf0
napi整改 Created-by: zhenghui25 Commit-by: zhenghui25 Merged-by: openharmony_ci Description: ### 关联的issue: https://gitcode.com/openharmony/security_access_token/issues/3406 ### 修改描述(修改功能描述,规格变更说明): ### 测试用例(附上截图,不涉及不需要说明不涉及原因): 1、TDD:  2、XTS: 3、手工用例(自验证步骤/预期结果/实际结果): # 📋 综合代码修改检视报告 ## 基本信息 | 字段 | 值 | |------|------| | **提交哈希** | `526b148ed50f2adfce28628e4ce9c2f29db78b0d` | | **提交标题** | napi整改 | | **作者** | zhenghui25 \<zhenghui25@h-partners.com\> | | **提交日期** | 2026-06-26 10:00:44 +0800 | | **变更文件** | 2 个 | | **新增行数** | 2 | | **删除行数** | 0 | | **检视日期** | 2026-07-14 | --- ## 📋 检视摘要 (Executive Summary) ### 变更概览 本次提交在两个文件中添加了 **libuv** 依赖声明: | 文件 | 变更 | 行号 | |------|------|:----:| | [`bundle.json`](bundle.json:57) | 在 `deps.components` 中添加 `"libuv"` | L57 | | [`frameworks/js/napi/el5filekeymanager/BUILD.gn`](frameworks/js/napi/el5filekeymanager/BUILD.gn:40) | 在 `external_deps` 中添加 `"libuv:uv"` | L40 | --- ### ✅ 检查项目清单 #### 🔐 Security Review(安全检查) - ✅ 内存安全: 无问题(纯构建配置变更,无代码逻辑修改) - ✅ 输入验证: 无问题 - ✅ 权限控制: 无问题 - ✅ 敏感信息: 无问题 - ✅ 并发安全: 无问题 - ✅ 整数安全: 无问题 **小计**: 6/6 通过 ✅ --- #### 🔍 Logic Analyzer(逻辑分析) - ✅ libuv 依赖: ace_napi 已改为 public 依赖 libuv,调用方需显式链接(L-001 已澄清) - ✅ 控制流: 无问题 - ✅ 数据流: 无问题 - ✅ 边界条件: 无问题 - ✅ 错误处理: 无问题 - ✅ 并发控制: 无问题 **小计**: 6/6 通过 ✅ --- #### 📊 DFX Reviewer(DFX检查) - ✅ 客户端事件禁令: 无涉及(构建配置变更) - ✅ HiSysEvent 覆盖: 无涉及 - ✅ 事件场景区分: 无涉及 - ✅ 条件编译: 无涉及 **小计**: 4/4 通过 ✅ --- #### 📋 Code Review Checklist(规范检查) - ✅ 兼容性: 无破坏性变更(仅新增构建依赖) - ✅ API 变更: 无 API 变更 - ✅ IDL 接口: 无 IDL 变更 - ✅ 日志规范: 无涉及 - ✅ 命名规范: 字母序排列正确 - ✅ 范围性整改: 本次仅针对 el5 模块,其他 NAPI 模块将在后续提交中处理(C-001 已澄清) - ✅ 构建语法: 正确 **小计**: 7/7 通过 ✅ --- #### 🧪 Test Coverage Reviewer(测试覆盖度检查) - ✅ 修改点为0个功能逻辑变更:纯构建配置变更,无需测试覆盖 - ✅ 不影响任何功能代码路径 **小计**: 不适用 / 无需测试 ✅ --- #### 🎨 Coding Style Review(编码风格检查) - ✅ 格式:两个文件的插入位置均保持了字母序排列 - ✅ 命名风格:符合项目惯例 - ✅ 注释风格:无涉及 **小计**: 通过 ✅ --- ### 🎯 总体评价 | 维度 | 通过率 | 等级 | 评价 | |------|:------:|:----:|------| | Security Review | 100% (6/6) | 🟢 优秀 | 无安全问题 | | Logic Analyzer | 100% (6/6) | 🟢 优秀 | 依赖已澄清:ace_napi public 依赖整改 | | DFX Reviewer | 100% (4/4) | 🟢 优秀 | 无 DFX 问题 | | Code Review Checklist | 100% (7/7) | 🟢 优秀 | 范围性整改,无问题 | | Test Coverage Reviewer | N/A | 🟢 N/A | 无需测试覆盖 | | Coding Style Review | 100% | 🟢 优秀 | 编码风格正确 | **整体评分**: 100/100 🟢 优秀 **整体风险等级**: 🟢 **无风险** **是否建议上库**: ✅ **可直接合入** --- ### 兼容性上库自检: - [x] 不涉及API功能发生变化 - [x] 不涉及改变回调函数或生命周期的触发时机或时序,或删除生命周期和回调函数 - [x] 不涉及参数的规格发生了变化,例如取值范围缩小等 - [x] 不涉及对外接口新增权限校验 - [x] 不涉及接口的使用约束规格收紧,例如权限开放范围变化 - [x] 不涉及系统可创建的实例数量收紧 - [x] 不涉及修改了接口返回的数据 - [x] 未新增错误抛出,包括新增错误码、对已有的场景从不会抛错误码变成会抛出错误 - [x] 未修改已有的错误码,对于相同的输入原本抛出A错误码变成了抛出B错误码 - [x] 接口性能未出现明显劣化 ### 权限合入自检: - [ ] 是否需要合入权限定义 - [ ] 仅向系统服务开放的权限(availableType为SERVICE的权限)不允许合入global_system_resources仓 - [ ] 非SERVICE的权限与global_system_resources联合构建,即两笔pr关联同一个issue - [ ] 填入必要参数name/grantMode/availableLevel/since/provisionEnable/distributedSceneEnable, 且与global_system_resources中声明(如果有)一致 - [ ] 声明权限生效的设备平台范围deviceTypes,以列表方式声明("deviceTypes" : [ "xxx", "xxx"]),权限在所有设备通用为"general",非全平台生效按需填写,包括但不限于"phone"、"wearable"、"tablet"、"2in1"、"tv"、"car" ### 安全编码自检: - [x] 裸指针避免通过隐式转换构造为sptr - [x] json对象在取值之前必须先判断类型,避免类型不匹配 - [x] 序列化时必须对传入的数组大小进行校验,避免出现超大数组 - [x] 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型 - [x] 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 - [x] 指针变量、表示资源描述符的变量、bool变量必须赋初值 - [x] readParcelable获取的对象使用前需要判空 - [x] 分配和释放内存的函数需要成对出现 - [x] 申请内存后异常退出前需要及时进行内存释放 - [x] 内存申请前必须对内存大小进行合法性校验 - [x] 内存分配后必须判断是否成功 - [x] 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰 - [x] 禁止打印内存地址 - [x] 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0 - [x] 禁止对有符号整数进行位操作符运算 - [x] 循环次数如果收外部数据控制,需要检验其合法性 - [x] 必须检查安全函数的返回值,并进行正确处理 ### 日志规范自检: - [x] 【规则】高频代码的正常流程中禁止打印日志 - [x] 【规则】在基本不可能发生的点必须要打印日志 - [x] 【规则】事件记录的日志使用who do what 主谓宾的形式打印 - [x] 【规则】状态变化的日志打印使用state_name:s1->s2, reason:msg的形式打印 - [x] 【规则】参数值的日志打印使用name1=value1, name2=value2…的形式打印 See merge request: openharmony/security_access_token!4634