Commit Graph

1250 Commits

Author SHA1 Message Date
wangzhen 1ab611ad6e Code review
Co-Authored-By: Agent

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

🤖‍ AI[84%] 👌 AI Adopted[84%] 🧑 Human[16%]
Co-authored-by: claude (glm-5.2) <ai@local>

Change-Id: I02cde4a7561cc899be6dda491b088aa224b6a54f
2026-06-27 18:57:29 +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
Luobniz21 d414a75c99 0613_abilitykit
Signed-off-by: Luobniz21 <luoyicong@h-partners.com>
2026-06-13 17:20:44 +08:00
songkeyuan bd2d3457e9 delete Napicommonwant_fuzzer Co-Authored-By: Agent
Signed-off-by: songkeyuan <songkeyuan@huawei.com>

🤖‍ AI[0%] 👌 AI Adopted[0%] 🧑 Human[0%]
2026-06-12 18:02:08 +08:00
朱菲墨 4e888aa070 隐私弹窗拦截优化
Co-Authored-By: Agent
Signed-off-by: 朱菲墨 <zhufeimo1@huawei.com>
2026-06-06 11:19:59 +08:00
openharmony_ci 9a09350dee !19459 merge master into master
fuzz 覆盖率

Created-by: liuzongze
Commit-by: liuzongze
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/15229
**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!19459
2026-05-28 11:19:36 +08:00
liuzongze 1f6835175d fuzz 覆盖率
Co-Authored-By: Agent
Signed-off-by: liuzongze <liuzongze@h-partners.com>
Change-Id: I7f3d2c8ca312335815a25c56a154b79d033213ab
2026-05-27 16:56:40 +08:00
openharmony_ci 4ad2b5f157 !19430 merge 523 into master
new cross user embeddedUI

Created-by: wlh2624_DS
Commit-by: wlh2624_DS
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/15321

**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!19430
2026-05-26 23:22:37 +08:00
zhongshield1 43729a0bf2 change external_deps to deps
Co-Authored-By: manual
Signed-off-by: zhongshield1 <zhangzezhong8@huawei-partners.com>
2026-05-26 14:43:06 +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
openharmony_ci e816427041 !19371 merge feat/skill_caller_uid_v2 into master
feat: pass callerUid when launching skill target

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!19371
2026-05-21 19:35:28 +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
liuyics16 fa31f43251 support hybrid stack for ark_interop
Co-Authored-By: Agent
Signed-off-by: liuyics16 <1179805842@qq.com>
Change-Id: I8f8b558ab7a72a88e4607844f3464e873a46c069
2026-05-19 14:15:18 +08:00
xuzheheng ba0c7c373a add lock
Signed-off-by: xuzheheng <xuzheheng2@h-partners.com>
Change-Id: Ifd65c653bc0490060c5bbd3cf6c9972e4e8bc9f0

Co-Authored-By: Agent
Change-Id: I172d1a04a6bba46f66bb951ada435d8d23d209d1
2026-05-15 16:24:29 +08:00
openharmony_ci 5994d4789f !19134 merge saPoint into master
shell绕过invisible校验打点/hideSensitiveType调用打点

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!19134
2026-05-11 10:04:47 +08:00
DESKTOP-UGVMD4B\DawnComing 3e36fa4573 SHELL绕过invisible校验打点/hideSensitiveType非系统调用打点
Signed-off-by: lidongrui <lidongrui3@huawei.com>
Co-Authored-By: Agent
2026-05-09 15:19:10 +08:00
jsjzju dd50446e61 MakeImage support ability
Signed-off-by: jsjzju <jinsenjun@huawei.com>
Change-Id: I48c6ed04aa5d6e1aa362ebc9c20403db55c7acc4
Co-Authored-By: Agent
2026-05-09 11:13:04 +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
Yeyuning aa97fef6bd fix build
Signed-off-by: Yeyuning <yeyuning2@h-partners.com>

Co-Authored-By: Agent
2026-04-22 16:03:12 +08:00
openharmony_ci 673e979760 !18932 merge yitu into master
注解类意图静态化

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

**Description**:
1.意图框架支持标准化entity,和动态数据查询
2.支持意图执行结果异步返回
3.函数通过注解方式接入意图的执行
4.自定义意图的执行

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |     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!18932
2026-04-17 19:03:19 +08:00
renjh5496 5138885c2e 注解类意图静态化和queryEntity
Co-Authored-By: Agent
Signed-off-by: renjh5496 <renjianhao@h-partners.com>
2026-04-17 16:35:25 +08:00
openharmony_ci ceafd387a4 !18951 merge master0414 into master
deviceId Anonymize

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


See merge request: openharmony/ability_ability_runtime!18951
2026-04-16 16:43:47 +08:00
duansizhao bcbfea26e9 deviceId Anonymize
Co-Authored-By: Agent
Signed-off-by: duansizhao <duansizhao@huawei.com>
Change-Id: I9f405c91cfccd42909750e3ea5f9b5e8b68ae8d1
2026-04-15 21:44:47 +08:00
openharmony_ci 384e20bd1a !18838 merge screen_unlock_intercept into master
feat(screen_unlock): enhance extension interception with appIdentifier support

Created-by: yewei0794
Commit-by: yewei0794
Merged-by: openharmony_ci
Description: **IssueNo**:https://gitcode.com/openharmony/ability_ability_runtime/issues/14877

**Description**:

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

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

**TDD Result**:
![image.png](https://raw.gitcode.com/user-images/assets/4421702/2e8fb17f-e1e8-49af-8374-e5db4b5be8a5/image.png 'image.png')

**XTS Result**:

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


See merge request: openharmony/ability_ability_runtime!18838
2026-04-13 19:59:23 +08:00
zyr020212 b75766b09e fix fuzz
Signed-off-by: zyr020212 <zhaoyuran@h-partners.com>
2026-04-13 10:38:04 +08:00
yewei0794 b839531ad5 feat(screen_unlock): enhance extension interception with appIdentifier support
- Support appIdentifier-based allowlist/blocklist instead of bundleName
- Add defaultInterception and systemAppInterception config options
- Separate processing logic for system apps and third-party apps
- Add new ExtensionConfig APIs for screen unlock access control
- Refactor ScreenUnlockInterceptor for better code structure
- Update unit tests for new functionality

Co-Authored-By: Agent
Signed-off-by: yewei0794 <weiyejxnf@163.com>
Change-Id: Ifedeff2fe027e43de3e7544e47313f0efc575d06
2026-04-11 20:06:18 +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 5551a96eb0 fix: add extension_running_timeout_monitor source to test BUILD.gn files
extension_record_manager.cpp now depends on ExtensionRunningTimeoutMonitor,
add the missing source files to all test and fuzzer BUILD.gn files that
compile extension_record_manager.cpp directly.

Signed-off-by: zhang_hao_zheng <zhanghaozheng2@h-partners.com>
Co-Authored-By: Agent
Change-Id: I919087137b89b4aca7293739c642c87522490722
2026-04-08 16:51:00 +08:00
yangxuguang-huawei 437d5cde8d feat: support connecting atomic-service agent
Co-Authored-By: Agent

Signed-off-by: yangxuguang-huawei <yangxuguang3@huawei.com>
2026-04-06 15:11:14 +08:00
openharmony_ci fe8bee6074 !18859 merge publish_startuiability_0331 into master
publish_startuiability_0331

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

**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!18859
2026-04-02 19:40:17 +08:00
Luobniz21 84c9bcd91c publish_startuiability_0331
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:24:58 2026 +0800
#
# On branch publish_startuiability_0331
# Your branch is up to date with 'origin/publish_startuiability_0331'.
#
# Changes to be committed:
#	modified:   frameworks/native/appkit/ability_bundle_manager_helper/bundle_mgr_helper.cpp
#	modified:   interfaces/kits/native/appkit/ability_bundle_manager_helper/bundle_mgr_helper.h
#	modified:   services/abilitymgr/include/utils/ability_event_util.h
#	modified:   services/abilitymgr/src/ability_record.cpp
#	modified:   services/abilitymgr/src/utils/ability_event_util.cpp
#	modified:   test/fuzztest/abilityeventutil_fuzzer/BUILD.gn
#	modified:   test/mock/services_abilitymgr_test/libs/appexecfwk_core/include/bundlemgr/mock_bundle_manager.h
#	modified:   test/unittest/ability_event_util_test/BUILD.gn
#	modified:   test/unittest/ability_event_util_test/ability_event_util_test.cpp
#	modified:   test/unittest/ability_manager_service_first_test/ability_manager_service_first_test.cpp
#	modified:   test/unittest/ability_manager_service_mock_test/BUILD.gn
#	modified:   test/unittest/insight_intent/insight_intent_utils_test/BUILD.gn
#

# 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:24:58 2026 +0800
#
# On branch publish_startuiability_0331
# Your branch is up to date with 'origin/publish_startuiability_0331'.
#
# Changes to be committed:
#	modified:   frameworks/native/appkit/ability_bundle_manager_helper/bundle_mgr_helper.cpp
#	modified:   interfaces/kits/native/appkit/ability_bundle_manager_helper/bundle_mgr_helper.h
#	modified:   services/abilitymgr/include/utils/ability_event_util.h
#	modified:   services/abilitymgr/src/ability_record.cpp
#	modified:   services/abilitymgr/src/utils/ability_event_util.cpp
#	modified:   test/fuzztest/abilityeventutil_fuzzer/BUILD.gn
#	modified:   test/mock/services_abilitymgr_test/libs/appexecfwk_core/include/bundlemgr/mock_bundle_manager.h
#	modified:   test/unittest/ability_event_util_test/BUILD.gn
#	modified:   test/unittest/ability_event_util_test/ability_event_util_test.cpp
#	modified:   test/unittest/ability_manager_service_first_test/ability_manager_service_first_test.cpp
#	modified:   test/unittest/ability_manager_service_mock_test/BUILD.gn
#	modified:   test/unittest/insight_intent/insight_intent_utils_test/BUILD.gn
#

# 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:24:58 2026 +0800
#
# On branch publish_startuiability_0331
# Your branch is up to date with 'origin/publish_startuiability_0331'.
#
# Changes to be committed:
#	modified:   frameworks/native/appkit/ability_bundle_manager_helper/bundle_mgr_helper.cpp
#	modified:   interfaces/kits/native/appkit/ability_bundle_manager_helper/bundle_mgr_helper.h
#	modified:   services/abilitymgr/include/utils/ability_event_util.h
#	modified:   services/abilitymgr/src/ability_record.cpp
#	modified:   services/abilitymgr/src/utils/ability_event_util.cpp
#	modified:   test/fuzztest/abilityeventutil_fuzzer/BUILD.gn
#	modified:   test/mock/services_abilitymgr_test/libs/appexecfwk_core/include/bundlemgr/mock_bundle_manager.h
#	modified:   test/unittest/ability_event_util_test/BUILD.gn
#	modified:   test/unittest/ability_event_util_test/ability_event_util_test.cpp
#	modified:   test/unittest/ability_manager_service_first_test/ability_manager_service_first_test.cpp
#	modified:   test/unittest/ability_manager_service_mock_test/BUILD.gn
#	modified:   test/unittest/insight_intent/insight_intent_utils_test/BUILD.gn
#

# 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:24:58 2026 +0800
#
# On branch publish_startuiability_0331
# Your branch is up to date with 'origin/publish_startuiability_0331'.
#
# Changes to be committed:
#	modified:   frameworks/native/appkit/ability_bundle_manager_helper/bundle_mgr_helper.cpp
#	modified:   interfaces/kits/native/appkit/ability_bundle_manager_helper/bundle_mgr_helper.h
#	modified:   services/abilitymgr/include/utils/ability_event_util.h
#	modified:   services/abilitymgr/src/ability_record.cpp
#	modified:   services/abilitymgr/src/utils/ability_event_util.cpp
#	modified:   test/fuzztest/abilityeventutil_fuzzer/BUILD.gn
#	modified:   test/mock/services_abilitymgr_test/libs/appexecfwk_core/include/bundlemgr/mock_bundle_manager.h
#	modified:   test/unittest/ability_event_util_test/BUILD.gn
#	modified:   test/unittest/ability_event_util_test/ability_event_util_test.cpp
#	modified:   test/unittest/ability_manager_service_first_test/ability_manager_service_first_test.cpp
#	modified:   test/unittest/ability_manager_service_mock_test/BUILD.gn
#	modified:   test/unittest/insight_intent/insight_intent_utils_test/BUILD.gn
#

# 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:24:58 2026 +0800
#
# On branch publish_startuiability_0331
# Your branch is up to date with 'origin/publish_startuiability_0331'.
#
# Changes to be committed:
#	modified:   frameworks/native/appkit/ability_bundle_manager_helper/bundle_mgr_helper.cpp
#	modified:   interfaces/kits/native/appkit/ability_bundle_manager_helper/bundle_mgr_helper.h
#	modified:   services/abilitymgr/include/utils/ability_event_util.h
#	modified:   services/abilitymgr/src/ability_record.cpp
#	modified:   services/abilitymgr/src/utils/ability_event_util.cpp
#	modified:   test/fuzztest/abilityeventutil_fuzzer/BUILD.gn
#	modified:   test/mock/services_abilitymgr_test/libs/appexecfwk_core/include/bundlemgr/mock_bundle_manager.h
#	modified:   test/unittest/ability_event_util_test/BUILD.gn
#	modified:   test/unittest/ability_event_util_test/ability_event_util_test.cpp
#	modified:   test/unittest/ability_manager_service_first_test/ability_manager_service_first_test.cpp
#	modified:   test/unittest/ability_manager_service_mock_test/BUILD.gn
#	modified:   test/unittest/insight_intent/insight_intent_utils_test/BUILD.gn
#
2026-04-01 13:15:58 +08:00
xialiangwei 50d830d524 hyper
Signed-off-by: xialiangwei <2049500708@qq.com>
2026-03-31 20:57:38 +08:00
RuiChen_01 51bdf57642 fix fuzz
Signed-off-by: RuiChen_01 <chenrui193@huawei.com>

fix: add missing start_ability_utils.cpp dependency to fuzz test

Co-Authored-By: Agent
Signed-off-by: RuiChen_01 <chenrui193@huawei.com>
2026-03-30 21:02:58 +08:00
openharmony_ci 088de67519 !18536 merge oeextension into master
StartAbilityByOEExt

Created-by: zivzhen
Commit-by: wangzhen
Merged-by: openharmony_ci
Description: **IssueNo**:

**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**:
pass
**XTS Result**:
pass

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


See merge request: openharmony/ability_ability_runtime!18536
2026-03-21 11:40:06 +08:00
朱菲墨 c7e7944800 Ability组件退出原因整改
Co-Authored-By: Agent
Signed-off-by: 朱菲墨 <zhufeimo1@huawei.com>
2026-03-20 12:29:27 +08:00
openharmony_ci 6af6876f09 !18689 merge fuzz into master
fix fuzz warming2

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!18689
2026-03-18 18:19:39 +08:00
RuiChen_01 4686b11217 fix fuzz warming2
Signed-off-by: RuiChen_01 <chenrui193@huawei.com>
2026-03-18 15:57:29 +08:00
openharmony_ci 02f0cece59 !18512 merge master into master
Message:上报主线程堆栈

Created-by: zhengdongdong12
Commit-by: zhengdongdong12
Merged-by: openharmony_ci
Description: **IssueNo**: https://gitcode.com/openharmony/ability_ability_runtime/issues/14613

**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**: OK

**XTS Result**: OK

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


See merge request: openharmony/ability_ability_runtime!18512
2026-03-16 18:55:07 +08:00
zhengdongdong12 821343daae Message:上报主线程堆栈
Signed-off-by: zhengdongdong12 <zhengchengkai@huawei.com>
2026-03-14 10:11:51 +08:00
wangzhen a18e1873e8 add tdd
Co-Authored-By: Agent

Signed-off-by: wangzhen <wangzhen416@huawei.com>
2026-03-10 20:43:10 +08:00
zhangzezhong 3085569a29 fix parameters
Signed-off-by: zhangzezhong <zhangzezhong8@huawei-partners.com>
2026-03-10 10:10:20 +08:00
openharmony_ci 288e2508ca !18513 merge 应用自启动支持配置隐藏启动 into master
应用自启动支持配置隐藏启动

Created-by: zhu-feimo
Commit-by: 朱菲墨
Merged-by: openharmony_ci
Description: **IssueNo**:
[#14614](https://gitcode.com/openharmony/ability_ability_runtime/issues/14614) 
**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!18513
2026-03-07 12:24:42 +08:00
朱菲墨 ff552ec5b3 应用自启动可配置隐藏启动
Co-Authored-By: Agent
Signed-off-by: 朱菲墨 <zhufeimo1@huawei.com>
2026-03-06 12:07:42 +08:00
openharmony_ci 0d54aa1c4e !18530 merge fixfuzz into master
fixfuzz

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!18530
2026-03-04 20:01:38 +08:00
DESKTOP-UGVMD4B\DawnComing d435e861f7 fixfuzz
Signed-off-by: lidongrui <lidongrui3@huawei.com>
2026-03-03 15:10:26 +08:00
hanchen45 f0950d1ec7 归一user callback
Signed-off-by: hanchen45 <wanghanchen1@huawei.com>
2026-03-02 16:54:00 +08:00
wkljy 79c4152333 OTA
Signed-off-by: wkljy <wangkailong6@huawei.com>
2026-02-11 14:20:43 +08:00
zyr020212 20cdd62e04 update: 更新文件 abilitykeepalivedatamanager_fuzzer.cpp
Signed-off-by: zyr020212 <zhaoyuran@h-partners.com>
2026-02-09 10:53:34 +08:00
zyr020212 37cd749d75 fix fuzz
Signed-off-by: zyr020212 <zhaoyuran@h-partners.com>
2026-02-07 17:54:04 +08:00