更新时间:2024-09-05 GMT+08:00
分享

配置代码检查任务预置规则集

规则集则是一组用于做代码检查的规则组成的集合。一般根据不同的检查目标和需求,规则集也有相应的分类,比如对安全类、安卓应用、编程风格,使用这些类别进行检查的时候,规则集内的规则也会有所不同。

用户可根据实际需要更换代码检查任务使用的规则集,新启用的规则集将在下一次执行检查时生效。

代码检查服务支持多种语言的规则集,且每种语言类型对应多种不同级别的规则集,系统规则集列表请参见表1

多个编译语言的规则集不能选择一起同时检查。例如:C#语言规则集不可与其它语言规则集进行混合检查。

表1 预置规则集

语言

系统规则集类型

默认规则集

支持扫描文件后缀

扩展参数支持的编译工具版本

检查引擎

C++

  • 华为C编程规则集
  • 华为C增强编程规则集
  • 华为C++增强编程规则集
  • 华为C++编程规则集
  • CodeArts Check C推荐规则集
  • CodeArts Check C++推荐规则集
  • 华为C编码规范规则集
  • 华为CPP编码规范规则集
  • 华为C/C++编码规范规则集
  • 全面检查规则集
  • 关键检查规则集
  • 通用检查规则集

通用检查规则集

.c/.cc/.cpp/.cxx/.cp/.c++/.inc/.inl/.mm/.h/.hh/.hpp/.hxx/.h++

  • cmake3.15.5-gcc7.5.0
  • cmake3.15.5-gcc8.3.0
  • cmake3.10.1-gcc4.8.5
  • cmake3.10.1-gcc5.5.0
  • cmake3.10.1-gcc6.4.0
  • cmake3.10.1-gcc7.3.0
  • cmake2.8.12-gcc4.8.5
  • cmake2.8.12-gcc5.5.0
  • cmake2.8.12-gcc6.4.0
  • cmake2.8.12-gcc7.3.0
  • gfortran-gcc4.8.5-cmake2.8.12.2
  • cppcheck
  • wordstool
  • secbrella
  • clangtidy
  • cmetrics
  • fixbotengine-cxx
  • codemars
  • apiengine
  • oat
  • dupf
  • FossScan

Java

  • 华为Java编程规则集
  • 华为Java增强编程规则集
  • CodeArts Check JAVA推荐规则集
  • 华为编码规范规则集
  • DevCloud推荐规则集
  • 安全检查规则集
  • 移动领域-Android规则集
  • 通用检查规则集
  • 关键检查规则集
  • Google编码规范规则集
  • 全面检查规则集

通用检查规则集

.java

  • maven3.5.3-jdk1.7
  • maven3.5.3-jdk1.8
  • maven3.5.3-jdk1.9
  • maven3.5.3-jdk1.11
  • gradle2.13-jdk1.8
  • gradle2.14.1-jdk1.8
  • gradle3.3-jdk1.8
  • gradle4.1-jdk1.8
  • gradle4.2-jdk1.8
  • gradle4.3-jdk1.8
  • gradle4.4-jdk1.8
  • gradle4.5-jdk1.8
  • gradle4.6-jdk1.8
  • gradle4.7-jdk1.8
  • gradle4.8-jdk1.8
  • gradle4.9-jdk1.8
  • gradle4.8-jdk1.9
  • gradle4.9-jdk1.9

  • sonarqube
  • androidlint
  • wordstool
  • fixbotengine-java
  • secbrella
  • cmetrics
  • codemars
  • oat
  • Infer_Java
  • dupf
  • FossScan

Go

  • CodeArts Check GO推荐规则集
  • 华为编码规范规则集
  • 关键检查规则集
  • 通用检查规则集
  • 全面检查规则集

通用检查规则集

.go

  • go-1.10.3
  • go-1.11.6
  • go-1.12.1
  • wordstool
  • sonarqube
  • codemars
  • cmetrics
  • codecheckrevive
  • oat
  • secbrella
  • dupf
  • FossScan

Python

  • CodeArts Check PYTHON推荐规则集
  • 华为编码规范规则集
  • 关键检查规则集
  • 通用检查规则集

通用检查规则集

.py

/

  • wordstool
  • sonarqube
  • pylint
  • codemars
  • cmetrics
  • flake8
  • secbrella
  • oat
  • dupf
  • FossScan

JavaScript

  • 华为编码规范规则集
  • 关键检查规则集
  • 通用检查规则集
  • 全面检查规则集

通用检查规则集

.js/.jsx

/

  • wordstool
  • sonarqube
  • codemars
  • eslint
  • cmetrics
  • oat
  • dupf
  • FossScan

C#

  • 关键检查规则集
  • 通用检查规则集
  • 全面检查规则集

通用检查规则集

.cs

  • dotnetcore2.2
  • dotnetcore3.0
  • dotnetcore3.1
  • dotnetcore5.0
  • dotnetcore6.0
  • msbuild15-dotnetframework3.5
  • msbuild15-dotnetframework4.7.2
  • msbuild16-dotnetframework4.8

sonarqube

TypeScript

  • 关键检查规则集
  • 通用检查规则集
  • 全面检查规则集

通用检查规则集

.ts/.tsx

/

  • wordstool
  • sonarqube
  • apiengine
  • codemars
  • cmetrics
  • oat
  • eslint
  • dupf
  • FossScan

CSS

  • 通用检查规则集

通用检查规则集

.css

/

  • wordstool
  • sonarqube
  • oat
  • dupf
  • FossScan

HTML

  • 通用检查规则集

通用检查规则集

.html

/

  • wordstool
  • sonarqube
  • oat
  • dupf
  • FossScan

PHP

  • 关键检查规则集
  • 通用检查规则集

通用检查规则集

.php

/

  • wordstool
  • sonarqube
  • oat
  • dupf
  • FossScan

LUA

通用检查规则集

通用检查规则集

.lua

/

anystandard

RUST

通用检查规则集

通用检查规则集

.rs

/

clippy

Shell

通用检查规则集

通用检查规则集

.sh

/

codemars

KOTLIN

通用检查规则集

通用检查规则集

.kt

/

detektout

SCALA

通用检查规则集

通用检查规则集

.scala

/

sonarqube

ArkTS

通用检查规则集

通用检查规则集

.ets

/

codemars

查看规则集中规则详情

用户可优先了解各个规则集中的规则详情,选择符合检查要求的规则集。可查看的规则详情包含:问题级别、正确示例、错误示例和修复建议等信息。

  1. 基于项目入口访问CodeArts Check服务首页
  2. 单击“规则集”页签,进入检查规则集列表页面。
  3. 单击规则集名称,进入到该规则集的规则详情页面可在线查看规则详情。

    您也可以单击“导出”,导出该规则集中已启用的规则到本地查看规则详情。

修改默认规则集

初次使用代码检查服务时,每种编程语言都设置一个默认的检查规则集,如表1所示。如果用户需要修改各个语言的默认检查规则集,可参考以下指导操作。

以项目入口访问代码检查服务,规则集列表中才会为每种检查语言预置默认规则集。

  1. “规则集”页面的“语言”列筛选需要配置的语言。
  2. 单击规则集所在行的,选择“默认规则集”,即可将当前的规则集设置为默认规则集。

配置代码检查任务使用的规则集

如果用户需要在代码检查任务中使用其他的预置规则集,可参考以下指导操作。如果预置规则集不满足用户的检查需求,可参考配置代码检查任务自定义规则集

  1. 进入代码检查页面,在任务列表中,单击任务名称。
  2. 进入“代码检查详情”页面,选择“设置 > 规则集”。
  3. “已包含语言”区域,打开目标语言开关。
  4. “启用规则集”区域单击,选择需要使用的规则集。

    当选中的规则集需配置扩展参数(此处以Java为例)时,单击“检查参数”,配置代码检查扩展参数并开启配置开关,完成后单击“确认”。

    用户购买了代码安全检查增强包后,使用代码安全检查增强包规则集必须设置编译脚本检查参数。

    • 如果是ARM类型机器,请在“检查参数”页面的“执行机”中选择对应架构类型。
    • 选中的规则集使用了secbrella检查引擎时,必须要设置“检查参数”并开启配置开关,代码检查扩展参数请根据实际情况进行配置。
    • 选中的规则集使用了oat检查引擎时,必须要设置“检查参数”并开启配置开关(默认已开启)。其中仓库地址为oat工具-n参数,用于匹配默认策略,可以使用默认值或根据实际情况进行配置。详见oat开源项目

相关文档