Commit Graph

602 Commits

Author SHA1 Message Date
wlh2624_DS dfdecbef32 log cut
Co-Authored-By: agent
Signed-off-by: wlh2624_DS <1968860844@qq.com>
2026-06-29 17:15:40 +08:00
zhangyuhang72 a20625f5b4 日志整改
Signed-off-by: zhangyuhang72 <zhangyuhang72@h-partners.com>

🤖‍ AI[0%] 👌 AI Adopted[0%] 🧑 Human[100%]

Change-Id: I653f97a67e1eb950ac5d614d86c6bc64f07aaeea
2026-06-27 10:32:00 +08:00
openharmony_ci a2fe0ffc8e !19514 merge cz_pc_0602 into master
在开发者模式下,支持PC三方应用安装调试包

Created-by: zhongshield1
Commit-by: zhongshield1
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/bundlemanager_bundle_framework/issues/9477
**Description**:

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

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

**TDD Result**:
![image.png](https://raw.gitcode.com/user-images/assets/4421702/5dff156d-069b-4d81-9590-5145d04416ec/image.png 'image.png')
**XTS Result**:
失败XTS单独执行 pass
![image.png](https://raw.gitcode.com/user-images/assets/4421702/b038149d-b31d-4822-aad9-caa8d1814a94/image.png 'image.png')
### 是否已执行L0用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!19514
2026-06-26 15:49:27 +08:00
openharmony_ci f569311db2 !19571 merge edm into master
fix edm

Created-by: xuzheheng
Commit-by: xuzheheng
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/15434
**Description**:
fix edm
**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |     √     |
| 成员变量进行赋值或创建需要排查并发                               |  √        |
| 谨慎在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用例
- [√ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!19571
2026-06-24 16:44:14 +08:00
xuzheheng 33fdab821a fix edm
Signed-off-by: xuzheheng <xuzheheng2@h-partners.com>

🤖‍ AI[0%] 👌 AI Adopted[0%] 🧑 Human[100%]

Change-Id: Iee3549eb9108037f5e5be7443d851c41af32118c
2026-06-23 18:51:41 +08:00
wangzhen b1a6b475f9 code review
Co-Authored-By: Agent

Signed-off-by: wangzhen <wangzhen416@huawei.com>

🤖‍ AI[0%] 👌 AI Adopted[0%] 🧑 Human[100%]

Change-Id: I261a1b0698d57d291c4790fd4e99994e982cc5c2
2026-06-16 19:53:54 +08:00
zhongshield1 06a9d0f449 在开发者模式下,支持PC三方应用安装调试包
Co-Authored-By: manual
Signed-off-by: zhongshield1 <zhangzezhong8@huawei-partners.com>
2026-06-16 17:23:22 +08:00
wangzhen 1de71622dd dynamic load image_native
Co-Authored-By: Agent

Signed-off-by: wangzhen <wangzhen416@huawei.com>

🤖‍ AI[98%] 👌 AI Adopted[98%] 🧑 Human[2%]

🤖‍ AI[0%] 👌 AI Adopted[0%] 🧑 Human[100%]

Change-Id: I0f5ee21f0ea499d0abc9a0690249f040cb715805
2026-06-16 14:38:54 +08:00
openharmony_ci 621a6a6cdc !19460 merge ccm into master
add for autostartup

Created-by: xuzheheng
Commit-by: xuzheheng
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/15356
**Description**:
add for autostartup
**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |       √   |
| 成员变量进行赋值或创建需要排查并发                               |   √       |
| 谨慎在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**:ok

**XTS Result**:ok

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


See merge request: openharmony/ability_ability_runtime!19460
2026-06-08 21:40:38 +08:00
openharmony_ci 1e975b1a9e !19472 merge addgame into master
游戏预启动撞车场景新增上报report RSS事件

Created-by: lidongrui
Commit-by: DESKTOP-UGVMD4B\DawnComing
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用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!19472
2026-06-08 15:55:43 +08:00
openharmony_ci dd7f9af2ac !19428 merge FixCLIaaLaunchAbility into master
针对CLI-ohos-aa对LaunchAbility的invisible放行

Created-by: SKY2001
Commit-by: SKY2001
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/15332?ref=&did=4041586#tid-4041586
**Description**:

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

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

**TDD Result**:
 pass
**XTS Result**:
 pass
### 是否已执行L0用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!19428
2026-05-28 19:32:57 +08:00
SKY2001 c3532b108d 针对CLI-ohos-aa对LaunchAbility的invisible放行
Signed-off-by: SKY2001 <songtianyu10@huawei.com>
Co-Authored-By: Agent
2026-05-28 16:18:17 +08:00
xuzheheng 64b446d2c3 add for autostartup
Signed-off-by: xuzheheng <xuzheheng2@h-partners.com>

🤖‍ AI[0%] 👌 AI Adopted[0%] 🧑 Human[100%]

Change-Id: I946471326e3f9a54f1a384bb7e663ab38d7a84a8
2026-05-28 14:53:33 +08:00
DESKTOP-UGVMD4B\DawnComing f7b8ffd96d 游戏预启动撞车场景新增上报report RSS事件
Signed-off-by: lidongrui <lidongrui3@huawei.com>
Co-Authored-By: Agent
2026-05-28 12:22:25 +08:00
wlh2624_DS f56e8a7784 new cross user embeddedUI
Co-Authored-By: Agent
Signed-off-by: wlh2624_DS <1968860844@qq.com>
2026-05-25 21:02:13 +08:00
weixin_46857065 317a4f445e 增加实况窗自定义模板LiveViewCardExtension
Co-Authored-By: zhanghangming
Signed-off-by: weixin_46857065 <zhanghangming3@h-partners.com>
2026-05-22 19:29:04 +08:00
RuiChen_01 797ad0dc8c feat: use caller identity for skill target permission verification
When launching target ServiceExtension or UIAbility through skill
execution, use the real caller's tokenId for permission verification
instead of aimgr's SA identity. This avoids bypassing all permission
checks and eliminates the need to grant extra permissions to aimgr.

- Add SKILL_EXECUTE_PARAM_CALLER_TOKEN_ID Want parameter key
- Pass callerTokenId via Want from ExecuteInAppSkill(withTokenId)
- CheckStaticCfgPermission: detect skill path, skip SA shortcut,
  verify permissions using caller's tokenId
- Derive callerUid from callerTokenId inside launch functions
  via GetHapTokenInfo, no extra function parameters needed

Change-Id: I0f871ce89953afc3cf69548b75d125cee3ede5d1
Signed-off-by: RuiChen_01 <chenrui193@huawei.com>
Co-Authored-By: Agent
Signed-off-by: RuiChen_01 <chenrui193@huawei.com>
2026-05-21 14:15:03 +08:00
openharmony_ci 528a75c662 !19227 merge cc into master
support cli tool cc

Created-by: RuiChen_01
Commit-by: RuiChen_01
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用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!19227
2026-05-08 14:51:41 +08:00
RuiChen_01 3ff85f3ee7 support cli tool cc
Change-Id: Idd85277146808e788fe6671f4b8e80b0bc608bbf
Signed-off-by: RuiChen_01 <chenrui193@huawei.com>
Co-Authored-By: Agent

update: 更新文件 BUILD.gn
删除导致编译报错的部件

Signed-off-by: RuiChen_01 <chenrui193@huawei.com>

support cli tool cc

Co-Authored-By: Agent
Signed-off-by: RuiChen_01 <chenrui193@huawei.com>
2026-05-08 11:05:14 +08:00
zhangzezhong e834d16eb5 add delayed exit procesds
Co-Authored-By:qy
Signed-off-by: zhangzezhong <zhangzezhong8@huawei-partners.com>
2026-05-07 17:32:47 +08:00
openharmony_ci 1a18c03816 !19163 merge Supportdistributedintent_0430 into master
support dms intent

Created-by: renjh5496
Commit-by: renjh5496
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/15116
**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用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!19163
2026-05-06 11:15:13 +08:00
renjh5496 9e42a92b4a support dms intent
Co-Authored-By: ya
Signed-off-by: renjh5496 <renjianhao@h-partners.com>
2026-05-02 17:35:32 +08:00
openharmony_ci f59a74fe67 !19125 merge addUid into master
supplement verify id

Created-by: zzl12383
Commit-by: zhengzhuolan
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/15089
**Description**:

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

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

**TDD Result**:

**XTS Result**:

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


See merge request: openharmony/ability_ability_runtime!19125
2026-04-30 20:02:31 +08:00
wendel 1bc88fb520 delete argmapping
Signed-off-by: wendel <yuwenze1@huawei.com>
Co-Authored-By: Agent
Change-Id: I4ce7839b9f96ee3405c53b39bd7338340fb7899f
2026-04-29 17:26:46 +08:00
zhengzhuolan 53ef714d22 supplement verify id
Co-Authored-By: ya
Signed-off-by: zhengzhuolan <zhengzhuolan@huawei-partners.com>
Signed-off-by: zzl12383 <zhengzhuolan@huawei-partners.com>
2026-04-28 19:24:04 +08:00
zhangyuhang72 1ec94d3690 ModularObjectExtension修改
Co-Authored-By:Agent

Signed-off-by: zhangyuhang72 <zhangyuhang72@h-partners.com>
Change-Id: Id21699820868e1745648403795a99a499f76fd49
2026-04-25 14:57:52 +08:00
wangzhen 67137790bc Code fix
Signed-off-by: wangzhen <wangzhen416@huawei.com>
Change-Id: I2b91c505b9d0d091b04f40a45cc4654318ccda7c
2026-04-24 15:34:46 +08:00
wangzhen a7448f7e3a Add native thread support
Co-Authored-By: Agent

Signed-off-by: wangzhen <wangzhen416@huawei.com>
Change-Id: I3fe893b8010c10d64a69eefb23ae9bd32314e4a8
2026-04-24 15:34:39 +08:00
DESKTOP-UGVMD4B\DawnComing 86901067ee SA权限整改,下线白名单
Signed-off-by: lidongrui <lidongrui3@huawei.com>
Co-Authored-By: lidongrui
2026-04-21 21:35:00 +08:00
y00939579 7f91813275 component premake
Signed-off-by: y00939579 <yaojunwei3@huawei.com>
2026-04-20 16:48:34 +08:00
openharmony_ci 8dc8be4153 !18963 merge cliSA into master
add cli sa

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

**Description**:

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

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

**TDD Result**:不涉及

**XTS Result**:不涉及

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

See merge request: openharmony/ability_ability_runtime!18963
2026-04-16 22:02:19 +08:00
openharmony_ci 5b584f979e !18935 merge master into master
Description:RegisterOnListener接口最小化权限

Created-by: tiredlei
Commit-by: Remember0226
Merged-by: openharmony_ci
Description: **IssueNo**: https://gitcode.com/openharmony/ability_ability_runtime/issues/14947

**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用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!18935
2026-04-16 19:52:49 +08:00
wendel f0071268a6 add cli sa
Signed-off-by: wendel <yuwenze1@huawei.com>
Change-Id: Ie91e503111dea576606cd23543c02502a85e10f7
2026-04-16 17:40:10 +08:00
Remember0226 0687c1438b Description:RegisterOnListener接口最小化权限
Feature or Bugfix:Feature
Binary Source:No

Signed-off-by: hujianbin <hujianbin9@h-partners.com>
2026-04-16 16:03:59 +08:00
openharmony_ci c341cba287 !18910 merge master into master
startAbility事件补充被调用者枚举值

Created-by: SXWL_
Commit-by: SXWL_
Merged-by: openharmony_ci
Description: **IssueNo**:
[startAbility事件补充被调用者枚举值](https://gitcode.com/openharmony/ability_ability_runtime/issues/14929)

**Description**:
startAbility事件补充被调用者枚举值
**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |    	√      |
| 成员变量进行赋值或创建需要排查并发                               |   	√      |
| 谨慎在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] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!18910
2026-04-13 22:32:45 +08:00
openharmony_ci bb057d72fc !18898 merge feat/extension-timeout-monitor-for-test into master
feat: add dump interface for extension running timeout monitor

Created-by: zhang_hao_zheng
Commit-by: zhang_hao_zheng
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/14920  
**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**:
pass
**XTS Result**:
pass
### 是否已执行L0用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!18898
2026-04-11 15:14:28 +08:00
zhang_hao_zheng da37161d84 fix: resolve stability and security issues in ExtensionRunningTimeoutMonitor
- Replace [this] lambda capture with GetInstance() to avoid passing raw
  this pointer to ffrt task thread
- Use GetRecordId() instead of std::hash for recordId to prevent hash
  collisions and duplicate tracking
- Eliminate const_cast<char*> on c_str() by copying strings via
  make_unique<char[]> + strcpy_s
- Batch event insertion under single lock in CheckAliveExtensions
- Initialize HisyseventReport::params_ to nullptr
- Fix new bool[]/unique_ptr<char[]> type mismatch in InsertParam
- Add proper const char* overload instead of const_cast for string params
- Unify strcpy_s return value check with EOK constant

Signed-off-by: zhang_hao_zheng <zhanghaozheng2@h-partners.com>
Co-Authored-By: Agent
Change-Id: I26c6390a758170258ca55ae2bfe694ce7c07ca79
2026-04-10 16:51:49 +08:00
zhang_hao_zheng a99806d0ba fix: check new(std::nothrow) return value in HisyseventReport constructor
Set length_ to 0 when params_ allocation fails, preventing null pointer
dereference in subsequent InsertParam calls.

Signed-off-by: zhang_hao_zheng <zhanghaozheng2@h-partners.com>
Co-Authored-By: Agent
Change-Id: I1a7c8b8eb9bf83a69dd71ecef409ce0a029fb686
2026-04-09 21:23:13 +08:00
openharmony_ci 1cfd8cb04b !18858 merge 0331startability into master
0331startability

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] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!18858
2026-04-08 20:55:26 +08:00
zhang_hao_zheng 740757ade0 fix: correct HiSysEvent types for EXTENSION_RUNNING_TIMEOUT
- Change event level from MINOR to CRITICAL
- EXTENSION_TYPE: INT32 -> STRING (use extensionTypeName from BMS)
- RUNNING_DURATION: INT32 -> INT64 (support long running durations)
- STILL_ALIVE: INT32 -> BOOL (proper boolean type)
- Add vector<bool> and vector<int64_t> InsertParam overloads to HisyseventReport
- Remove unused int32_t extensionType from ExtensionStartInfo and ExtensionTimeoutEvent

Signed-off-by: zhang_hao_zheng <zhanghaozheng2@h-partners.com>
Co-Authored-By: Agent
Change-Id: Ia7670f10ded744941fdc4b268f1fd7a16b0440c9
2026-04-08 18:24:42 +08:00
SXWL_ 592666a4a1 remove intent
Signed-off-by: SXWL_ <bokaibin@huawei.com>
2026-04-08 18:18:13 +08:00
SXWL_ 9eb1346143 add calleeID to startAbility event
Signed-off-by: SXWL_ <bokaibin@huawei.com>
2026-04-08 15:51:20 +08:00
Luobniz21 81aa5fad62 0331startability
Signed-off-by: Luobniz21 <luoyicong@h-partners.com>

# Please enter the commit message for your changes. Lines starting
# with '#' will be kept; you may remove them yourself if you want to.
# An empty message aborts the commit.
#
# Date:      Tue Mar 31 22:13:42 2026 +0800
#
# On branch 0331startability
# Your branch is up to date with 'origin/0331startability'.
#
# Changes to be committed:
#	modified:   frameworks/ets/ani/ui_ability/include/ets_ui_ability.h
#	modified:   frameworks/ets/ani/ui_ability/src/ets_ui_ability.cpp
#	modified:   frameworks/native/ability/native/ability_runtime/js_ui_ability.cpp
#	modified:   interfaces/kits/native/ability/native/ability_runtime/js_ui_ability.h
#	modified:   services/abilitymgr/include/utils/start_ability_utils.h
#	modified:   services/abilitymgr/src/ability_manager_service.cpp
#	modified:   services/abilitymgr/src/utils/start_ability_utils.cpp
#	modified:   services/common/include/permission_constants.h
#

# Please enter the commit message for your changes. Lines starting
# with '#' will be kept; you may remove them yourself if you want to.
# An empty message aborts the commit.
#
# Date:      Tue Mar 31 22:13:42 2026 +0800
#
# On branch 0331startability
# Your branch is up to date with 'origin/0331startability'.
#
# Changes to be committed:
#	modified:   frameworks/ets/ani/ui_ability/include/ets_ui_ability.h
#	modified:   frameworks/ets/ani/ui_ability/src/ets_ui_ability.cpp
#	modified:   frameworks/native/ability/native/ability_runtime/js_ui_ability.cpp
#	modified:   interfaces/kits/native/ability/native/ability_runtime/js_ui_ability.h
#	modified:   services/abilitymgr/include/utils/start_ability_utils.h
#	modified:   services/abilitymgr/src/ability_manager_service.cpp
#	modified:   services/abilitymgr/src/utils/start_ability_utils.cpp
#	modified:   services/common/include/permission_constants.h
#

# Please enter the commit message for your changes. Lines starting
# with '#' will be kept; you may remove them yourself if you want to.
# An empty message aborts the commit.
#
# Date:      Tue Mar 31 22:13:42 2026 +0800
#
# On branch 0331startability
# Your branch is up to date with 'origin/0331startability'.
#
# Changes to be committed:
#	modified:   frameworks/ets/ani/ui_ability/include/ets_ui_ability.h
#	modified:   frameworks/ets/ani/ui_ability/src/ets_ui_ability.cpp
#	modified:   frameworks/native/ability/native/ability_runtime/js_ui_ability.cpp
#	modified:   interfaces/kits/native/ability/native/ability_runtime/js_ui_ability.h
#	modified:   services/abilitymgr/include/utils/start_ability_utils.h
#	modified:   services/abilitymgr/src/ability_manager_service.cpp
#	modified:   services/abilitymgr/src/utils/start_ability_utils.cpp
#	modified:   services/common/include/permission_constants.h
#

# Please enter the commit message for your changes. Lines starting
# with '#' will be kept; you may remove them yourself if you want to.
# An empty message aborts the commit.
#
# Date:      Tue Mar 31 22:13:42 2026 +0800
#
# On branch 0331startability
# Your branch is up to date with 'origin/0331startability'.
#
# Changes to be committed:
#	modified:   frameworks/ets/ani/ui_ability/include/ets_ui_ability.h
#	modified:   frameworks/ets/ani/ui_ability/src/ets_ui_ability.cpp
#	modified:   frameworks/native/ability/native/ability_runtime/js_ui_ability.cpp
#	modified:   interfaces/kits/native/ability/native/ability_runtime/js_ui_ability.h
#	modified:   services/abilitymgr/include/utils/start_ability_utils.h
#	modified:   services/abilitymgr/src/ability_manager_service.cpp
#	modified:   services/abilitymgr/src/utils/start_ability_utils.cpp
#	modified:   services/common/include/permission_constants.h
#	modified:   test/unittest/dialog_session_manager_test/BUILD.gn
#	modified:   test/unittest/start_ability_utils_test/BUILD.gn
#	new file:   test/unittest/start_ability_utils_test/mock/include/mock_my_flag.h
#	new file:   test/unittest/start_ability_utils_test/mock/src/mock_accesstoken_kit.cpp
#	modified:   test/unittest/start_ability_utils_test/start_ability_utils_test.cpp
#

# Please enter the commit message for your changes. Lines starting
# with '#' will be kept; you may remove them yourself if you want to.
# An empty message aborts the commit.
#
# Date:      Tue Mar 31 22:13:42 2026 +0800
#
# On branch 0331startability
# Your branch is up to date with 'origin/0331startability'.
#
# Changes to be committed:
#	modified:   frameworks/ets/ani/ui_ability/include/ets_ui_ability.h
#	modified:   frameworks/ets/ani/ui_ability/src/ets_ui_ability.cpp
#	modified:   frameworks/native/ability/native/ability_runtime/js_ui_ability.cpp
#	modified:   interfaces/kits/native/ability/native/ability_runtime/js_ui_ability.h
#	modified:   services/abilitymgr/include/utils/start_ability_utils.h
#	modified:   services/abilitymgr/src/ability_manager_service.cpp
#	modified:   services/abilitymgr/src/utils/start_ability_utils.cpp
#	modified:   services/common/include/permission_constants.h
#	modified:   test/unittest/dialog_session_manager_test/BUILD.gn
#	modified:   test/unittest/start_ability_utils_test/BUILD.gn
#	new file:   test/unittest/start_ability_utils_test/mock/include/mock_my_flag.h
#	new file:   test/unittest/start_ability_utils_test/mock/src/mock_accesstoken_kit.cpp
#	modified:   test/unittest/start_ability_utils_test/start_ability_utils_test.cpp
#

# Please enter the commit message for your changes. Lines starting
# with '#' will be kept; you may remove them yourself if you want to.
# An empty message aborts the commit.
#
# Date:      Tue Mar 31 22:13:42 2026 +0800
#
# On branch 0331startability
# Your branch is up to date with 'origin/0331startability'.
#
# Changes to be committed:
#	modified:   frameworks/ets/ani/ui_ability/include/ets_ui_ability.h
#	modified:   frameworks/ets/ani/ui_ability/src/ets_ui_ability.cpp
#	modified:   frameworks/native/ability/native/ability_runtime/js_ui_ability.cpp
#	modified:   interfaces/kits/native/ability/native/ability_runtime/js_ui_ability.h
#	modified:   services/abilitymgr/include/utils/start_ability_utils.h
#	modified:   services/abilitymgr/src/ability_manager_service.cpp
#	modified:   services/abilitymgr/src/utils/start_ability_utils.cpp
#	modified:   services/common/include/permission_constants.h
#	modified:   test/unittest/dialog_session_manager_test/BUILD.gn
#	modified:   test/unittest/start_ability_utils_test/BUILD.gn
#	new file:   test/unittest/start_ability_utils_test/mock/include/mock_my_flag.h
#	new file:   test/unittest/start_ability_utils_test/mock/src/mock_accesstoken_kit.cpp
#	modified:   test/unittest/start_ability_utils_test/start_ability_utils_test.cpp
#

# Please enter the commit message for your changes. Lines starting
# with '#' will be kept; you may remove them yourself if you want to.
# An empty message aborts the commit.
#
# Date:      Tue Mar 31 22:13:42 2026 +0800
#
# On branch 0331startability
# Your branch is up to date with 'origin/0331startability'.
#
# Changes to be committed:
#	modified:   frameworks/ets/ani/ui_ability/include/ets_ui_ability.h
#	modified:   frameworks/ets/ani/ui_ability/src/ets_ui_ability.cpp
#	modified:   frameworks/native/ability/native/ability_runtime/js_ui_ability.cpp
#	modified:   interfaces/kits/native/ability/native/ability_runtime/js_ui_ability.h
#	modified:   services/abilitymgr/include/utils/start_ability_utils.h
#	modified:   services/abilitymgr/src/ability_manager_service.cpp
#	modified:   services/abilitymgr/src/utils/start_ability_utils.cpp
#	modified:   services/common/include/permission_constants.h
#	modified:   test/unittest/dialog_session_manager_test/BUILD.gn
#	modified:   test/unittest/start_ability_utils_test/BUILD.gn
#	new file:   test/unittest/start_ability_utils_test/mock/include/accesstoken_kit.h
#	new file:   test/unittest/start_ability_utils_test/mock/include/mock_my_flag.h
#	new file:   test/unittest/start_ability_utils_test/mock/src/mock_accesstoken_kit.cpp
#	modified:   test/unittest/start_ability_utils_test/start_ability_utils_test.cpp
#

# Please enter the commit message for your changes. Lines starting
# with '#' will be kept; you may remove them yourself if you want to.
# An empty message aborts the commit.
#
# Date:      Tue Mar 31 22:13:42 2026 +0800
#
# On branch 0331startability
# Your branch is up to date with 'origin/0331startability'.
#
# Changes to be committed:
#	modified:   frameworks/ets/ani/ui_ability/include/ets_ui_ability.h
#	modified:   frameworks/ets/ani/ui_ability/src/ets_ui_ability.cpp
#	modified:   frameworks/native/ability/native/ability_runtime/js_ui_ability.cpp
#	modified:   interfaces/kits/native/ability/native/ability_runtime/js_ui_ability.h
#	modified:   services/abilitymgr/include/utils/start_ability_utils.h
#	modified:   services/abilitymgr/src/ability_manager_service.cpp
#	modified:   services/abilitymgr/src/utils/start_ability_utils.cpp
#	modified:   services/common/include/permission_constants.h
#	modified:   test/unittest/dialog_session_manager_test/BUILD.gn
#	modified:   test/unittest/start_ability_utils_test/BUILD.gn
#	new file:   test/unittest/start_ability_utils_test/mock/include/accesstoken_kit.h
#	new file:   test/unittest/start_ability_utils_test/mock/include/mock_my_flag.h
#	new file:   test/unittest/start_ability_utils_test/mock/src/mock_accesstoken_kit.cpp
#	new file:   test/unittest/start_ability_utils_test/mock/src/mock_my_flag.cpp
#	modified:   test/unittest/start_ability_utils_test/start_ability_utils_test.cpp
#

# Please enter the commit message for your changes. Lines starting
# with '#' will be kept; you may remove them yourself if you want to.
# An empty message aborts the commit.
#
# Date:      Tue Mar 31 22:13:42 2026 +0800
#
# On branch 0331startability
# Your branch is up to date with 'origin/0331startability'.
#
# Changes to be committed:
#	modified:   frameworks/ets/ani/ui_ability/include/ets_ui_ability.h
#	modified:   frameworks/ets/ani/ui_ability/src/ets_ui_ability.cpp
#	modified:   frameworks/native/ability/native/ability_runtime/js_ui_ability.cpp
#	modified:   interfaces/kits/native/ability/native/ability_runtime/js_ui_ability.h
#	modified:   services/abilitymgr/include/utils/start_ability_utils.h
#	modified:   services/abilitymgr/src/ability_manager_service.cpp
#	modified:   services/abilitymgr/src/utils/start_ability_utils.cpp
#	modified:   services/common/include/permission_constants.h
#	modified:   test/unittest/dialog_session_manager_test/BUILD.gn
#	modified:   test/unittest/start_ability_utils_test/BUILD.gn
#	new file:   test/unittest/start_ability_utils_test/mock/include/accesstoken_kit.h
#	new file:   test/unittest/start_ability_utils_test/mock/include/mock_my_flag.h
#	new file:   test/unittest/start_ability_utils_test/mock/src/mock_accesstoken_kit.cpp
#	new file:   test/unittest/start_ability_utils_test/mock/src/mock_my_flag.cpp
#	modified:   test/unittest/start_ability_utils_test/start_ability_utils_test.cpp
#

# Please enter the commit message for your changes. Lines starting
# with '#' will be kept; you may remove them yourself if you want to.
# An empty message aborts the commit.
#
# Date:      Tue Mar 31 22:13:42 2026 +0800
#
# On branch 0331startability
# Your branch is up to date with 'origin/0331startability'.
#
# Changes to be committed:
#	modified:   frameworks/ets/ani/ui_ability/include/ets_ui_ability.h
#	modified:   frameworks/ets/ani/ui_ability/src/ets_ui_ability.cpp
#	modified:   frameworks/native/ability/native/ability_runtime/js_ui_ability.cpp
#	modified:   interfaces/kits/native/ability/native/ability_runtime/js_ui_ability.h
#	modified:   services/abilitymgr/include/utils/start_ability_utils.h
#	modified:   services/abilitymgr/src/ability_manager_service.cpp
#	modified:   services/abilitymgr/src/utils/start_ability_utils.cpp
#	modified:   services/common/include/permission_constants.h
#	modified:   test/unittest/dialog_session_manager_test/BUILD.gn
#	modified:   test/unittest/start_ability_utils_test/BUILD.gn
#	new file:   test/unittest/start_ability_utils_test/mock/include/accesstoken_kit.h
#	new file:   test/unittest/start_ability_utils_test/mock/include/mock_my_flag.h
#	new file:   test/unittest/start_ability_utils_test/mock/src/mock_accesstoken_kit.cpp
#	new file:   test/unittest/start_ability_utils_test/mock/src/mock_my_flag.cpp
#	modified:   test/unittest/start_ability_utils_test/start_ability_utils_test.cpp
#

# Please enter the commit message for your changes. Lines starting
# with '#' will be kept; you may remove them yourself if you want to.
# An empty message aborts the commit.
#
# Date:      Tue Mar 31 22:13:42 2026 +0800
#
# On branch 0331startability
# Your branch is up to date with 'origin/0331startability'.
#
# Changes to be committed:
#	modified:   frameworks/ets/ani/ui_ability/include/ets_ui_ability.h
#	modified:   frameworks/ets/ani/ui_ability/src/ets_ui_ability.cpp
#	modified:   frameworks/native/ability/native/ability_runtime/js_ui_ability.cpp
#	modified:   interfaces/kits/native/ability/native/ability_runtime/js_ui_ability.h
#	modified:   services/abilitymgr/include/utils/start_ability_utils.h
#	modified:   services/abilitymgr/src/ability_manager_service.cpp
#	modified:   services/abilitymgr/src/utils/start_ability_utils.cpp
#	modified:   services/common/include/permission_constants.h
#	modified:   test/unittest/dialog_session_manager_test/BUILD.gn
#	modified:   test/unittest/start_ability_utils_test/BUILD.gn
#	new file:   test/unittest/start_ability_utils_test/mock/include/accesstoken_kit.h
#	new file:   test/unittest/start_ability_utils_test/mock/include/mock_my_flag.h
#	new file:   test/unittest/start_ability_utils_test/mock/src/mock_accesstoken_kit.cpp
#	new file:   test/unittest/start_ability_utils_test/mock/src/mock_my_flag.cpp
#	modified:   test/unittest/start_ability_utils_test/start_ability_utils_test.cpp
#

# Please enter the commit message for your changes. Lines starting
# with '#' will be kept; you may remove them yourself if you want to.
# An empty message aborts the commit.
#
# Date:      Tue Mar 31 22:13:42 2026 +0800
#
# On branch 0331startability
# Your branch is up to date with 'origin/0331startability'.
#
# Changes to be committed:
#	modified:   frameworks/ets/ani/ui_ability/include/ets_ui_ability.h
#	modified:   frameworks/ets/ani/ui_ability/src/ets_ui_ability.cpp
#	modified:   frameworks/native/ability/native/ability_runtime/js_ui_ability.cpp
#	modified:   interfaces/kits/native/ability/native/ability_runtime/js_ui_ability.h
#	modified:   services/abilitymgr/include/utils/start_ability_utils.h
#	modified:   services/abilitymgr/src/ability_manager_service.cpp
#	modified:   services/abilitymgr/src/utils/start_ability_utils.cpp
#	modified:   services/common/include/permission_constants.h
#	modified:   test/unittest/dialog_session_manager_test/BUILD.gn
#	modified:   test/unittest/js_ui_ability_test/js_ui_ability_test.cpp
#	modified:   test/unittest/start_ability_utils_test/BUILD.gn
#	new file:   test/unittest/start_ability_utils_test/mock/include/accesstoken_kit.h
#	new file:   test/unittest/start_ability_utils_test/mock/include/mock_my_flag.h
#	new file:   test/unittest/start_ability_utils_test/mock/src/mock_accesstoken_kit.cpp
#	new file:   test/unittest/start_ability_utils_test/mock/src/mock_my_flag.cpp
#	modified:   test/unittest/start_ability_utils_test/start_ability_utils_test.cpp
#
2026-04-02 15:04:24 +08:00
openharmony_ci 92f6a88757 !18854 merge hyper-prestart-0331 into master
hyper

Created-by: xialiangwei
Commit-by: xialiangwei
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用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!18854
2026-04-01 19:57:51 +08:00
openharmony_ci 18f88d8341 !18821 merge FixAppUtilChildMutex into master
修复子进程判断并发稳定性问题

Created-by: SKY2001
Commit-by: SKY2001
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/14865?ref=&did=3826110#tid-3826110
**Description**:

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

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

**TDD Result**:
 pass    
**XTS Result**:
 pass    
### 是否已执行L0用例
 pass    
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!18821
2026-04-01 10:19:01 +08:00
xialiangwei 50d830d524 hyper
Signed-off-by: xialiangwei <2049500708@qq.com>
2026-03-31 20:57:38 +08:00
openharmony_ci 4cb4f9d4ab !18734 merge test_modular_d_0322 into master
support modular object

Created-by: renjh5496
Commit-by: renjianhao
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/14795
**Description**:

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

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

**TDD Result**:

**XTS Result**:

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


See merge request: openharmony/ability_ability_runtime!18734
2026-03-31 19:24:05 +08:00
renjianhao 7fa49544ae modularObject ndk
Signed-off-by: renjianhao <renjianhao@h-partners.com>
2026-03-31 09:07:12 +08:00
openharmony_ci caa64e97fc !18787 merge permision_0325 into master
permission verify

Created-by: zzl12383
Commit-by: zhengzhuolan
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/14839
**Description**:

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

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

**TDD Result**:
![图片.png](https://raw.gitcode.com/user-images/assets/4421702/642fe9d9-4ba3-42e5-8649-f9beed0c2bb8/图片.png '图片.png')
**XTS Result**:

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


See merge request: openharmony/ability_ability_runtime!18787
2026-03-30 19:08:36 +08:00
yangxuguang-huawei 460044c634 feat: register/update/delete AgentCard part 2
Co-Authored-By: Agent

Signed-off-by: yangxuguang-huawei <yangxuguang3@huawei.com>
2026-03-30 07:51:30 +08:00