| Name | Date | Size | #Lines | LOC | ||
|---|---|---|---|---|---|---|
| .. | - | - | ||||
| README.md | D | 22-Oct-2025 | 1.6 KiB | 51 | 42 | |
| whitelist.json | D | 22-Oct-2025 | 1.9 KiB | 65 | 65 |
README.md
1# 插件化白名单规则说明 2 3## 规则解释 4 白名单严格遵循JSON格式。 5 6 ### **init扩展插件检查** 7 **[白名单](whitelist.json)** 约束插件依赖。 8 9 - 规则要求 10 1. 约束除基础库外的动态库。 11 2. 插件不在白名单内。 12 13 - 白名单信息解释 14 ``` 15 { 16 "base_library":[ 17 "libc.so", 18 "libc++.so", 19 "libinit_module_engine.so" 20 ], 21 "private_library": { 22 "libudidmodule.z.so": { // 插件模块动态库 23 "library_name" : "libudidmodule.z.so", 24 "deps" : [ 25 "libsec_shared.z.so", 26 "libmbedtls.z.so" 27 ] 28 } 29 } 30 } 31 ``` 32 1. base_library: 白名单基础库。 33 2. private_library: 插件依赖动态库。 34 3. library_name: 插件动态库。 35 4. deps: 插件依赖动态库。 36 37 - 解决方法 38 1. 排查插件安装目录: system/lib/init、vendor/lib/init、sys_prod/lib/init、chip_prod/lib/init。 39 2. 排查插件是否在白名单中配置。 40 3. 排查插件依赖动态库是否找白名单中配置。base_library 之外的动态库,添加在private_library列表中。 41 42 43编译时会提示如下类型的告警: 44 ``` 45 [NOT ALLOWED]: the dependent shared library libmbedtls.z.so of libudidmodule.z.so is not in whitelist 46 [NOT ALLOWED]: libinit_eng.z.so is not in whitelists 47``` 48 49## 违规场景及处理方案建议 50 1. 根据 **[规则解释](README.md#规则解释)** 排查修改, 如果需要添加白名单,需要评审。 51