mirror of
https://github.com/openharmony/security_access_token.git
synced 2026-08-24 14:42:49 -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
280 lines
9.8 KiB
JSON
280 lines
9.8 KiB
JSON
{
|
|
"name": "@ohos/access_token",
|
|
"description": "access_token",
|
|
"version": "3.1.0",
|
|
"license": "Apache License 2.0",
|
|
"publishAs": "code-segment",
|
|
"segment": {
|
|
"destPath": "base/security/access_token"
|
|
},
|
|
"dirs": {},
|
|
"scripts": {},
|
|
"component": {
|
|
"name": "access_token",
|
|
"subsystem": "security",
|
|
"syscap": [
|
|
"SystemCapability.Security.AccessToken",
|
|
"SystemCapability.Security.ScreenLockFileManager"
|
|
],
|
|
"hisysevent_config": [
|
|
"//base/security/access_token/hisysevent.yaml"
|
|
],
|
|
"features": [
|
|
"access_token_feature_coverage",
|
|
"access_token_camera_float_window_enable",
|
|
"access_token_with_distributed_capability",
|
|
"access_token_enhance_capability"
|
|
],
|
|
"adapted_system_type": [ "standard" ],
|
|
"rom": "10000KB",
|
|
"ram": "5000KB",
|
|
"deps": {
|
|
"components": [
|
|
"ability_base",
|
|
"ability_runtime",
|
|
"asset",
|
|
"audio_framework",
|
|
"ace_engine",
|
|
"bounds_checking_function",
|
|
"bundle_framework",
|
|
"c_utils",
|
|
"camera_framework",
|
|
"cJSON",
|
|
"common_event_service",
|
|
"config_policy",
|
|
"device_manager",
|
|
"dsoftbus",
|
|
"eventhandler",
|
|
"ffrt",
|
|
"hicollie",
|
|
"hisysevent",
|
|
"hitrace",
|
|
"hilog",
|
|
"init",
|
|
"ipc",
|
|
"json",
|
|
"memmgr",
|
|
"libuv",
|
|
"napi",
|
|
"openssl",
|
|
"os_account",
|
|
"power_manager",
|
|
"relational_store",
|
|
"safwk",
|
|
"samgr",
|
|
"screenlock_mgr",
|
|
"selinux_adapter",
|
|
"security_guard",
|
|
"sqlite",
|
|
"window_manager",
|
|
"zlib",
|
|
"runtime_core",
|
|
"appverify"
|
|
],
|
|
"third_party": []
|
|
},
|
|
"build": {
|
|
"group_type": {
|
|
"base_group": [
|
|
"//base/security/access_token/tools:tools_atm"
|
|
],
|
|
"fwk_group": [
|
|
"//base/security/access_token/interfaces/kits/capi:capi_packages",
|
|
"//base/security/access_token/interfaces/kits/cj:cj_packages",
|
|
"//base/security/access_token/frameworks/js/napi:napi_packages",
|
|
"//base/security/access_token/frameworks/ets/ani:arkts_package"
|
|
],
|
|
"service_group": [
|
|
"//base/security/access_token/interfaces/innerkits/tokensync:libtokensync_sdk",
|
|
"//base/security/access_token/services/accesstokenmanager:accesstoken_manager_service",
|
|
"//base/security/access_token/services/accesstokenmanager/main/sa_profile:accesstoken_sa_profile_standard",
|
|
"//base/security/access_token/services/el5filekeymanager:el5filekeymanager",
|
|
"//base/security/access_token/services/tokensyncmanager:tokensyncmanager",
|
|
"//base/security/access_token/services/privacymanager:privacymanager",
|
|
"//base/security/access_token/services/accesstokenmanager/etc:access_token.para",
|
|
"//base/security/access_token/services/accesstokenmanager/etc:access_token.para.dac",
|
|
"//base/security/access_token/services/common:accesstoken_common"
|
|
]
|
|
},
|
|
"inner_kits": [
|
|
{
|
|
"name": "//base/security/access_token/interfaces/innerkits/accesstoken:libaccesstoken_sdk",
|
|
"header": {
|
|
"header_files": [
|
|
"access_token_error.h",
|
|
"access_token.h",
|
|
"accesstoken_callback_stubs.h",
|
|
"accesstoken_callbacks.h",
|
|
"accesstoken_kit.h",
|
|
"accesstoken_state_change_ipc_interface_code.h",
|
|
"atm_tools_param_info.h",
|
|
"hap_token_info_for_sync_parcel.h",
|
|
"hap_token_info.h",
|
|
"i_permission_state_callback.h",
|
|
"i_token_sync_callback.h",
|
|
"native_token_info.h",
|
|
"perm_state_change_callback_customize.h",
|
|
"permission_def.h",
|
|
"permission_grant_info.h",
|
|
"permission_list_state.h",
|
|
"permission_state_change_info.h",
|
|
"permission_state_full.h",
|
|
"permission_status.h",
|
|
"sec_comp_enhance_data.h",
|
|
"access_token_basic_type.h",
|
|
"token_sync_kit_interface.h",
|
|
"tokenid_kit.h",
|
|
"tokensync_callback_ipc_interface_code.h"
|
|
],
|
|
"header_base": "//base/security/access_token/interfaces/innerkits/accesstoken/include"
|
|
}
|
|
},
|
|
{
|
|
"name": "//base/security/access_token/interfaces/innerkits/accesstoken:libaccesstoken_compat_sdk",
|
|
"header": {
|
|
"header_files": [
|
|
"access_token_error.h",
|
|
"accesstoken_compat_kit.h",
|
|
"access_token_basic_type.h"
|
|
],
|
|
"header_base": "//base/security/access_token/interfaces/innerkits/accesstoken/include"
|
|
}
|
|
},
|
|
{
|
|
"name": "//base/security/access_token/interfaces/innerkits/accesstoken:libtokenid_sdk",
|
|
"header": {
|
|
"header_files": [
|
|
"tokenid_kit.h"
|
|
],
|
|
"header_base": "//base/security/access_token/interfaces/innerkits/accesstoken/include"
|
|
}
|
|
},
|
|
{
|
|
"name": "//base/security/access_token/interfaces/innerkits/nativetoken:libnativetoken",
|
|
"header": {
|
|
"header_files": [
|
|
"nativetoken_kit.h"
|
|
],
|
|
"header_base": "//base/security/access_token/interfaces/innerkits/nativetoken/include"
|
|
}
|
|
},
|
|
{
|
|
"name": "//base/security/access_token/interfaces/innerkits/nativetoken:libnativetoken_shared",
|
|
"header": {
|
|
"header_files": [
|
|
"nativetoken_kit.h"
|
|
],
|
|
"header_base": "//base/security/access_token/interfaces/innerkits/nativetoken/include"
|
|
}
|
|
},
|
|
{
|
|
"name": "//base/security/access_token/interfaces/innerkits/privacy:libprivacy_sdk",
|
|
"header": {
|
|
"header_files": [
|
|
"active_change_response_info.h",
|
|
"add_perm_param_info.h",
|
|
"on_permission_used_record_callback.h",
|
|
"perm_active_status_customized_cbk.h",
|
|
"permission_used_request.h",
|
|
"permission_used_result.h",
|
|
"permission_used_type_info.h",
|
|
"permission_used_type.h",
|
|
"privacy_error.h",
|
|
"privacy_kit.h",
|
|
"privacy_param.h",
|
|
"privacy_permission_record_ipc_interface_code.h",
|
|
"state_customized_cbk.h"
|
|
],
|
|
"header_base": "//base/security/access_token/interfaces/innerkits/privacy/include"
|
|
}
|
|
},
|
|
{
|
|
"name": "//base/security/access_token/interfaces/innerkits/token_callback:libtoken_callback_sdk",
|
|
"header": {
|
|
"header_files": [
|
|
"token_callback_stub.h"
|
|
],
|
|
"header_base": "//base/security/access_token/interfaces/innerkits/token_callback/include"
|
|
}
|
|
},
|
|
{
|
|
"name": "//base/security/access_token/interfaces/innerkits/token_setproc:libtoken_setproc",
|
|
"header": {
|
|
"header_files": [
|
|
"perm_setproc.h",
|
|
"setproc_common.h",
|
|
"spm_setproc.h",
|
|
"token_setproc.h"
|
|
],
|
|
"header_base": "//base/security/access_token/interfaces/innerkits/token_setproc/include"
|
|
}
|
|
},
|
|
{
|
|
"name": "//base/security/access_token/interfaces/innerkits/token_setproc:libtokensetproc_shared",
|
|
"header": {
|
|
"header_files": [
|
|
"perm_setproc.h",
|
|
"setproc_common.h",
|
|
"spm_setproc.h",
|
|
"token_setproc.h"
|
|
],
|
|
"header_base": "//base/security/access_token/interfaces/innerkits/token_setproc/include"
|
|
}
|
|
},
|
|
{
|
|
"name": "//base/security/access_token/interfaces/innerkits/token_setproc:libpermsetproc_shared",
|
|
"header": {
|
|
"header_files":[
|
|
"perm_setproc_c.h",
|
|
"setproc_common.h"
|
|
],
|
|
"header_base": "//base/security/access_token/interfaces/innerkits/token_setproc/include"
|
|
}
|
|
},
|
|
{
|
|
"name": "//base/security/access_token/interfaces/innerkits/analysis_model:libcodesignature_analysis",
|
|
"header": {
|
|
"header_files": [
|
|
"code_signature_analysis_kit.h"
|
|
],
|
|
"header_base": "//base/security/access_token/interfaces/innerkits/analysis_model/include"
|
|
}
|
|
},
|
|
{
|
|
"name": "//base/security/access_token/interfaces/inner_api/el5filekeymanager:el5_filekey_manager_sdk",
|
|
"header": {
|
|
"header_files": [
|
|
"app_key_info.h",
|
|
"data_lock_type_ext.h",
|
|
"el5_filekey_callback_stub.h",
|
|
"el5_filekey_manager_error.h",
|
|
"el5_filekey_manager_kit.h"
|
|
],
|
|
"header_base": "//base/security/access_token/interfaces/inner_api/el5filekeymanager/include"
|
|
}
|
|
},
|
|
{
|
|
"name": "//base/security/access_token/interfaces/innerkits/tokensync:libtokensync_sdk",
|
|
"header": {
|
|
"header_files": [
|
|
"token_sync_kit.h",
|
|
"token_sync_kit_loader.h"
|
|
],
|
|
"header_base": "//base/security/access_token/interfaces/innerkits/tokensync/include"
|
|
}
|
|
},
|
|
{
|
|
"name": "//base/security/access_token/interfaces/kits/cj/accesstoken:cj_ability_access_ctrl_ffi"
|
|
},
|
|
{
|
|
"name": "//base/security/access_token/interfaces/kits/cj/screenlockfilemanager:cj_screen_lock_file_manager_ffi"
|
|
}
|
|
],
|
|
"test": [
|
|
"//base/security/access_token:accesstoken_build_fuzz_test",
|
|
"//base/security/access_token:accesstoken_build_module_test"
|
|
]
|
|
}
|
|
}
|
|
}
|