!20114 merge bti into master

bti

Created-by: Luobniz21
Commit-by: Luobniz21
Merged-by: openharmony_ci
Description: **IssueNo**:

**Description**:

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |          |
| 成员变量进行赋值或创建需要排查并发                               |          |
| 谨慎在lambda表达式中使用引用捕获                                |          |
| 谨慎在未经拷贝的情况下使用外部传入的string、C字符串               |          |
| map\vector\list\set等stl模板类使用时需要排查并发                |          |
| 谨慎考虑加锁范围                                               |          |
| 在IPC通信中谨慎使用同步通信方式                                 |          |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        |          |
| 禁止将外部传入的裸指针在内部直接构造智能指针                      |          |
| 禁止多个独立创建的智能指针管理同一地址                           |          |
| 禁止在析构函数中抛异步任务                                      |          |
| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁             |          |
| 禁止在对外接口中未经判空直接使用外部传入的指针                    |          |
| 禁止接口返回局部变量引用                                        |          |
| 禁止在信号函数中加锁                                            |          |
| 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作           |          |
| 禁止将同一个cpp编译在不同的so中                                 |          |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 裸指针避免通过隐式转换构造为sptr                                 |          |
| json对象在取值之前必须先判断类型,避免类型不匹配                   |          |
| 序列化时必须对传入的数组大小进行校验,避免出现超大数组              |          |
| 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型            |          |
| 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 |          |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  |          |
| readParcelable获取的对象使用前需要判空                            |          |
| 分配和释放内存的函数需要成对出现                                   |          |
| 申请内存后异常退出前需要及时进行内存释放                            |          |
| 内存申请前必须对内存大小进行合法性校验                              |          |
| 内存分配后必须判断是否成功                                         |          |
| 禁止使用realloc、alloca函数                                       |          |
| 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰          |          |
| 禁止打印内存地址                                                  |          |
| 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0               |          |
| 禁止对有符号整数进行位操作符运算                                    |          |
| 禁止对指针进行逻辑或位运算                                         |          |
| 循环次数如果收外部数据控制,需要检验其合法性                         |          |
| 禁止使用内存操作类危险函数,需要使用安全函数                         |          |
| 谨慎使用不可重入函数                                               |          |
| 必须检查安全函数的返回值,并进行正确处理                             |          |
| 禁止仅通过TokenType类型判断绕过权限校验                             |          |

**TDD Result**:

**XTS Result**:

### 是否已执行L0用例
- [x] 已验证
- [ ] 不涉及。如不涉及,请写明理由

### AI检视评分(使用本地代码检视skills扫描):



See merge request: openharmony/ability_ability_runtime!20114
This commit is contained in:
openharmony_ci
2026-08-10 13:17:55 +08:00
15 changed files with 28 additions and 28 deletions
@@ -17,7 +17,7 @@ import("//foundation/ability/ability_runtime/ability_runtime.gni")
ohos_shared_library("agent_fwk") {
branch_protector_ret = "pac_ret"
branch_protector_ret = "bti"
branch_protector_frt = "bti"
sanitize = {
cfi = true
@@ -21,7 +21,7 @@ ohos_shared_library("agentmgr") {
debug = false
}
branch_protector_ret = "pac_ret"
branch_protector_ret = "bti"
branch_protector_frt = "bti"
configs = [ "${ability_runtime_services_path}/common:optimize_config" ]
include_dirs = [
+1 -1
View File
@@ -16,7 +16,7 @@ import("//foundation/ability/ability_runtime/ability_runtime.gni")
ohos_shared_library("abilityconstant_napi") {
branch_protector_ret = "pac_ret"
branch_protector_ret = "bti"
branch_protector_frt = "bti"
include_dirs = [
"${ability_runtime_innerkits_path}/ability_manager/include",
+1 -1
View File
@@ -16,7 +16,7 @@ import("//foundation/ability/ability_runtime/ability_runtime.gni")
ohos_shared_library("featureability") {
branch_protector_ret = "pac_ret"
branch_protector_ret = "bti"
branch_protector_frt = "bti"
configs = [ "${ability_runtime_services_path}/common:optimize_config" ]
@@ -20,7 +20,7 @@ config("napi_ability_common_public_config") {
ohos_shared_library("napi_ability_common") {
branch_protector_ret = "pac_ret"
branch_protector_ret = "bti"
branch_protector_frt = "bti"
public_configs = [
":napi_ability_common_public_config",
+1 -1
View File
@@ -45,7 +45,7 @@ config("ability_context_public_config") {
ohos_shared_library("ability_context_native") {
branch_protector_ret = "pac_ret"
branch_protector_ret = "bti"
branch_protector_frt = "bti"
configs = [ "${ability_runtime_services_path}/common:optimize_config" ]
+9 -9
View File
@@ -294,7 +294,7 @@ ohos_shared_library("configuration_helper") {
ohos_shared_library("abilitykit_native") {
use_exceptions = true
branch_protector_ret = "pac_ret"
branch_protector_ret = "bti"
branch_protector_frt = "bti"
include_dirs = [
"${ability_runtime_path}/utils/global/time/include",
@@ -1012,7 +1012,7 @@ config("uiability_config") {
ohos_shared_library("ui_ability_ani") {
branch_protector_ret = "pac_ret"
branch_protector_ret = "bti"
branch_protector_frt = "bti"
sanitize = {
cfi = true
@@ -1283,7 +1283,7 @@ ohos_shared_library("uiabilitykit_native") {
ohos_shared_library("ability_thread") {
branch_protector_ret = "pac_ret"
branch_protector_ret = "bti"
branch_protector_frt = "bti"
configs = [ "${ability_runtime_services_path}/common:optimize_config" ]
@@ -2284,7 +2284,7 @@ ohos_shared_library("ui_service_extension_module") {
ohos_shared_library("continuation_ipc") {
branch_protector_ret = "pac_ret"
branch_protector_ret = "bti"
branch_protector_frt = "bti"
include_dirs = []
@@ -2472,7 +2472,7 @@ config("ability_business_error_public_config") {
ohos_shared_library("ability_business_error") {
branch_protector_ret = "pac_ret"
branch_protector_ret = "bti"
branch_protector_frt = "bti"
sanitize = {
cfi = true
@@ -3281,7 +3281,7 @@ ohos_shared_library("share_extension_module") {
ohos_shared_library("auto_startup_callback") {
branch_protector_ret = "pac_ret"
branch_protector_ret = "bti"
branch_protector_frt = "bti"
sanitize = {
cfi = true
@@ -3611,7 +3611,7 @@ config("auto_fill_extension_config") {
ohos_shared_library("auto_fill_extension") {
branch_protector_ret = "pac_ret"
branch_protector_ret = "bti"
branch_protector_frt = "bti"
public_configs = [ ":auto_fill_extension_config" ]
@@ -3783,7 +3783,7 @@ ohos_shared_library("auto_fill_extension_util") {
ohos_shared_library("auto_fill_extension_module") {
branch_protector_ret = "pac_ret"
branch_protector_ret = "bti"
branch_protector_frt = "bti"
sources = [ "${ability_runtime_native_path}/ability/native/auto_fill_extension_ability/auto_fill_extension_module_loader.cpp" ]
@@ -4113,7 +4113,7 @@ ohos_shared_library("app_service_extension_module") {
debug = false
}
branch_protector_ret = "pac_ret"
branch_protector_ret = "bti"
branch_protector_frt = "bti"
include_dirs = [
"${ability_runtime_path}/interfaces/inner_api/ability_manager/include",
@@ -26,7 +26,7 @@ config("madvise_public_config") {
ohos_shared_library("ability_madvise") {
branch_protector_ret = "pac_ret"
branch_protector_ret = "bti"
branch_protector_frt = "bti"
sanitize = {
cfi = true
@@ -65,7 +65,7 @@ config("ability_manager_public_config") {
ohos_shared_library("ability_manager") {
use_exceptions = true
branch_protector_ret = "pac_ret"
branch_protector_ret = "bti"
branch_protector_frt = "bti"
sanitize = {
integer_overflow = true
ubsan = true
@@ -246,7 +246,7 @@ ohos_shared_library("ability_start_options") {
debug = false
}
branch_protector_ret = "pac_ret"
branch_protector_ret = "bti"
branch_protector_frt = "bti"
include_dirs = [
"include/",
@@ -281,7 +281,7 @@ ohos_shared_library("ability_start_options") {
ohos_shared_library("mission_info") {
branch_protector_ret = "pac_ret"
branch_protector_ret = "bti"
branch_protector_frt = "bti"
sanitize = {
cfi = true
@@ -340,7 +340,7 @@ ohos_shared_library("ability_manager_c") {
ohos_shared_library("ability_start_setting") {
branch_protector_ret = "pac_ret"
branch_protector_ret = "bti"
branch_protector_frt = "bti"
sanitize = {
cfi = true
@@ -413,7 +413,7 @@ ohos_shared_library("start_window_option") {
debug = false
}
branch_protector_ret = "pac_ret"
branch_protector_ret = "bti"
branch_protector_frt = "bti"
include_dirs = [
"include/",
@@ -29,7 +29,7 @@ config("auto_fill_manager_public_config") {
ohos_shared_library("auto_fill_manager") {
branch_protector_ret = "pac_ret"
branch_protector_ret = "bti"
branch_protector_frt = "bti"
public_configs = [ ":auto_fill_manager_public_config" ]
configs = [ "${ability_runtime_services_path}/common:optimize_config" ]
@@ -32,7 +32,7 @@ config("connection_obs_manager_public_config") {
ohos_shared_library("connection_obs_manager") {
branch_protector_ret = "pac_ret"
branch_protector_ret = "bti"
branch_protector_frt = "bti"
sanitize = {
integer_overflow = true
ubsan = true
@@ -34,7 +34,7 @@ config("foreground_app_obs_manager_public_config") {
ohos_shared_library("foreground_app_obs_manager") {
branch_protector_ret = "pac_ret"
branch_protector_ret = "bti"
branch_protector_frt = "bti"
sanitize = {
cfi = true
cfi_cross_dso = true
@@ -33,7 +33,7 @@ config("session_handler_config") {
ohos_shared_library("session_handler") {
branch_protector_ret = "pac_ret"
branch_protector_ret = "bti"
branch_protector_frt = "bti"
sanitize = {
cfi = true
+1 -1
View File
@@ -137,7 +137,7 @@ ohos_shared_library("abilityms") {
debug = false
}
branch_protector_ret = "pac_ret"
branch_protector_ret = "bti"
branch_protector_frt = "bti"
shlib_type = "sa"
sources = abilityms_files
cflags_cc = []
+2 -2
View File
@@ -107,7 +107,7 @@ config("tdd_config") {
#build so
ohos_shared_library("perm_verification") {
branch_protector_ret = "pac_ret"
branch_protector_ret = "bti"
branch_protector_frt = "bti"
sanitize = {
cfi = true
cfi_cross_dso = true
@@ -447,7 +447,7 @@ ohos_shared_library("user_controller") {
debug = false
}
branch_protector_ret = "pac_ret"
branch_protector_ret = "bti"
branch_protector_frt = "bti"
include_dirs = [
"include/user_controller",