更新时间:2025-08-07 GMT+08:00

配置代码检查任务自定义规则集

代码检查服务除了可以使用预置规则集外,用户还可以根据实际需要自定义代码检查规则集,每个规则集中最少设置一条规则。

目前仅支持配置单语言的规则集,即一个规则集只能配置同一种语言类型的检查规则。

约束与限制

关于自定义规则集的限制:

  • 代码检查规则集提供了代码安全检查增强包功能,使用前请务必按需购买。购买了代码安全检查增强包后,Java、C++、Go和Python语言可以使用安全度更高的缺陷扫描规则。
  • 自定义规则集中“检查语言”不支持修改。
  • 规则集创建者可以修改自定义规则集。
  • 规则集创建者可以删除自定义规则集。
  • 预置规则集和已被使用的自定义规则集无法删除。
  • 如果需要删除已被使用的自定义规则集,需将关联使用该规则集的代码检查任务删除或将代码检查任务关联到其他规则集。

关于自定义规则的限制:

  • 支持的自定义规则数量可参考代码检查规格差异
  • 使用自定义规则扫描代码最多支持扫描10万行。仅适用于使用的规则集中只包含自定义规则。
  • 使用自定义规则扫描10万行代码行最多时长1.5小时。仅适用于使用的规则集中只包含自定义规则。
  • te_admin账号和规则创建者可以编辑和删除自定义规则。

操作视频

本视频为您演示使用自定义规则集检查Repo代码仓中代码质量的操作。

创建自定义检查规则集

  1. 访问CodeArts Check服务首页
  2. 单击“规则集”页签,进入规则集列表页面。
  3. 单击“新建规则集”,在弹出的“新建规则集”窗口设置规则集名称、描述、检查语言和新建方式。

    其中新建方式有三种:

    • 直接新建:新建一个空的规则集,所有规则需逐一勾选。
    • 复制:选择“复制”,在下拉框选择复制于已有的规则集,基于复制的规则集配置使用的规则。
    • 继承:选择“继承”,在下拉框中选择已有的规则集,继承其中的规则。单击可以添加规则集,最多支持继承5个规则集。

      如果继承的多个规则集间有冲突,则以优先级高的为准。数值越小,优先级越高。比如,添加的第二个规则集中的规则和第一个规则集中的冲突,那么以第一个规则集的规则为准。

  4. 单击“确定”。
  5. 根据需要勾选规则名称、设置规则级别,单击右上角“保存”。

    如果系统预置的规则不满足用户的使用要求,可自定义规则使用。

删除自定义规则集

  • 服务下删除
    1. 通过服务入口方式访问CodeArts Check服务首页
    2. 依次单击规则集 > 我创建的规则集
    3. 单击规则集所在行的,即可删除自定义检查规则集
  • 项目下删除
    在自定义规则集列表页,单击规则集所在行的,选择“删除”即可删除自定义检查规则集。
    • 规则集创建者可以删除自定义规则集。
    • 预置规则集和已被使用的自定义规则集无法删除。
    • 如果需要删除已被使用的自定义规则集,需将关联使用该规则集的代码检查任务删除或将代码检查任务关联到其他规则集。

配置代码检查服务使用自定义规则集

  1. 在代码检查任务详情页选择设置 > 规则集
  2. 如果创建代码检查任务后,代码仓的代码有修改,则需单击“已包含语言”所在行重新获取代码仓语言,将目标语言的开关设置为开启状态。
  3. 单击,选择已创建的自定义规则集。

自定义规则

  • 支持的自定义规则数量可参考代码检查规格差异
  • 使用自定义规则扫描代码最多支持扫描10万行。仅适用于使用的规则集中只包含自定义规则。
  • 使用自定义规则扫描10万行代码行最多时长1.5小时。仅适用于使用的规则集中只包含自定义规则。
  • te_admin账号和规则创建者可以编辑和删除自定义规则。
  1. 单击“规则”页签。
  2. 单击新建规则 > 新建自定义规则,参考表1配置参数。

    表1 自定义规则参数配置说明

    参数

    说明

    是否必填

    规则名称

    创建的规则名称,可自定义。

    • 支持中英文,数字,点,下划线“_”和连接符“-”
    • 字符长度范围为1~255

    工具规则名称

    根据上传的规则源码文件名称自动填充,不可手动修改。

    检查工具

    该检查规则使用的检查工具,当前仅支持SecBrella。

    语言

    该规则检查的编译语言,当前仅支持Java和ArkTS语言。

    规则源码

    该规则的源码文件。

    由用户创建“.kirin”文件编写dsl规则,然后通过运行本地插件在“OutputReport”目录下生成“SecH_自定义规则名.json”的源码文件,上传JSON文件即可。

    严重级别

    该规则检查出的代码问题的严重级别,分为致命、严重、一般和提示。

    标签

    为该规则设置标签,便于使用时区分该规则使用场景。

    添加多个标签时,需使用英文逗号分隔。

    描述

    对该规则的使用描述。如果描述的内容需要粘贴代码,代码内容支持MarkDown格式。字符数限制为0~10000。

    正确示例

    该规则对应的正确代码示例。代码内容支持使用MarkDown格式呈现。字符数限制为0~10000。

    错误示例

    不满足该规则的错误代码示例。代码内容支持使用MarkDown格式呈现。字符数限制为0~10000。

    修复建议

    对于该规则检查出的问题修改建议。如果修复建议中需要粘贴代码,代码内容支持MarkDown格式。字符数限制为0~10000。

  3. 单击“新建规则”,完成创建。

批量导入自定义规则

批量导入规则为受限功能,如需使用,需联系技术支持。

  1. 单击“规则”页签。
  2. 依次单击新建规则 > 批量导入规则,在弹出的窗口中,下载批量导入规则模板。

    图1 批量导入规则

  3. 按照模板要求填写完规则信息后,单击,选择本地填写完成的批量导入规则文件。
  4. 单击“确定”,完成导入。