SAST 静态代码分析平台命令行接口介绍
SAST 静态代码分析平台的命令行工具,可在不打开浏览器的情况下完成登录、License 查看、规则包查询、检测配置创建、项目创建、检测触发、状态查询、缺陷查看、报告导出和安全门禁控制。
适用场景:
- 本地命令行操作
- 批处理脚本
- Jenkins / GitLab CI / 其它 CI/CD 流水线
- 自动化安全质量门禁
- 软件工厂集成
下面通过命令行调用方式,介绍其接口。
F:\sast>sast.exe --help
Usage: sast.exe [OPTIONS] COMMAND [ARGS]...
SAST 静态代码分析平台 CLI 工具

login 配置并测试 SAST 登录信息。
license 查看当前 License 信息。
list-configs 列出所有检测配置(规则集)。
list-packages 列出所有可用的规则包(按语言分组)。
create-config 创建新的检测配置(选择规则包)。
list-projects 列出所有项目。
create-project 创建新项目(支持文件上传、Git、SVN)。
check 触发项目检测。
status 查看检测状态。
results 查看项目缺陷列表。
gate 执行安全门禁检查,缺陷数量超过阈值时返回失败退出码。
overview 查看项目概览信息和检测统计。
export 导出检测报告。
import-license 导入 license 文件到 SAST 平台(无需登录)。
登录
F:\sast>sast.exe login
用户名 [admin]:
密码 [Aa@123456789]:
✓ 登录成功 userId=406880036587843584
配置已保存到 F:\sast\.sast-cli.json
列出配置
F:\sast>sast.exe list-configs --help
Usage: sast.exe list-configs [OPTIONS]
列出所有检测配置(规则集)。

例如:
F:\sast>sast.exe list-configs --json
{ "id": "69f0baf9f50a150369c0aed9", "configName": "test2", "defaultConfig": false, "descirbe": "", "customCodeRuleIdList": \[\], "cloneAnalysis": false, "codeMeasure": true, "packageIdList": \[ { "id": "655506805702799361", "custom": false }, { "id": "935254844024041473", "custom": false }, ...... 列出规则集 F:\\sast\>sast.exe list-packages -L C 部分C语言规则集如下  Json格式更全面信息  自定义规则集 F:\\sast\>sast.exe create-config --help Usage: sast.exe create-config \[OPTIONS
创建新的检测配置(自定义规则集)。
F:\sast>sast.exe create-config --name jg -p 590251247135895553 -p 979802312564551681 -p 896376215945097217 -p 696806415918182401 -p 1129872533265592321
DEBUG\] API 返回数据: {'status': 0, 'data': '6a00232e5fbb425ce27f490c', 'areSuccess': True} ✓ 检测配置创建成功 configId=6a00232e5fbb425ce27f490c 名称: jg 规则包数: 5 使用方法: sast create-project --name xxx --files xxx --config-id 6a00232e5fbb425ce27f490c 如果添加---json参数,则返回结构如下: F:\\sast\>sast.exe create-config --name jg1 -p 590251247135895553 -p 979802312564551681 -p 896376215945097217 -p 696806415918182401 -p 1129872533265592321 --json \[DEBUG\] API 返回数据: {'status': 0, 'data': '6a0026355fbb425ce27f4915', 'areSuccess': True} { "success": true, "configId": "6a0026355fbb425ce27f4915", "name": "jg1", "packageCount": 5, "codeMeasure": true, "cloneAnalysis": false, "describe": "" }  企业可以建立自己所处的行业建立所需的检测规则集,执行完成后,自己返回的编号即可在创建项目中使用。 创建项目 Usage: sast.exe create-project \[OPTIONS
创建新项目(支持文件上传、Git、SVN)。
必须指定 --files、--git 或 --svn 中的一种导入方式。
检测规则选择(二选一):
--config-id 使用已有的检测配置
--package 直接指定规则包(如 GJB 8114、MISRA 2012),自动创建配置
使用 --check 在创建后自动触发检测。

F:\sast>sast.exe create-project --name demo --files F:\sast\testcase\postgres-x2.zip --config-id 6a00232e5fbb425ce27f490c
如果想创建项目后即刻启动检测,则添加 --check参数
F:\sast>sast.exe create-project --name demo --files F:\sast\testcase\postgres-x2.zip --config-id 6a00232e5fbb425ce27f490c --check

返回json格式
F:\sast>sast.exe status -p 6a002ac15fbb425ce27f491b --json
{
"projectName": "demo",
"projectLanguage": [
"C"
],
"srcCount": 1117308,
"checkDate": "",
"star": false,
"analysisStatus": 1,
"updateStatus": 0,
"importType": "file",
"creatorId": 406880036587843584,
"creatorName": "admin",
"organization": "0",
"id": "6a002ac15fbb425ce27f491b",
"analysisStatusText": "检测中",
"running": false
}
查看执行日志
F:\sast>sast.exe logs -p 6a002ac15fbb425ce27f491b
无检测日志,项目可能正在检测中,请使用 --follow / -f 实时查看。

(上半部分结束)