SAST 静态代码分析平台命令行接口介绍

SAST 静态代码分析平台命令行接口介绍

SAST 静态代码分析平台的命令行工具,可在不打开浏览器的情况下完成登录、License 查看、规则包查询、检测配置创建、项目创建、检测触发、状态查询、缺陷查看、报告导出和安全门禁控制。

适用场景:

  1. 本地命令行操作
  2. 批处理脚本
  3. Jenkins / GitLab CI / 其它 CI/CD 流水线
  4. 自动化安全质量门禁
  5. 软件工厂集成

下面通过命令行调用方式,介绍其接口。

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语言规则集如下 ![](https://i-blog.csdnimg.cn/direct/36cc1ae7253140e9bea08be26d50afe1.png) Json格式更全面信息 ![](https://i-blog.csdnimg.cn/direct/3a1b44b136cc444884eff9345fa168f7.png) 自定义规则集 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 实时查看。

(上半部分结束)

相关推荐
隐擎fox4 小时前
深入理解网络传输层安全:TLS 指纹识别(JA3/JA4)原理与 Python 协议层检测实战
爬虫·python·网络协议·安全·网络安全·https
小蒋观天下6 小时前
社区AI智能摄像头完整选型指南
大数据·人工智能·安全·计算机视觉·语音识别·ai大模型
Amy187021118239 小时前
数据中心电气接点测温:从“被动抢修”到“主动预警”的安全革命
人工智能·安全
jimmyleeee9 小时前
GEN AI安全:威胁全景---从训练到运行的攻防实战
人工智能·安全
DolphinScheduler社区10 小时前
Apache DolphinScheduler 8 月报:权限安全加固,调度补火上线,性能与稳定性持续提升
大数据·安全·开源·apache·任务调度·海豚调度
竣达技术11 小时前
UPS 供电风险保护方案网络远程控制:免代理 SSH/Telnet UPS 安全关机方案
网络·安全·ssh
慧都小项11 小时前
看得见页面,却看不全风险:Burp Suite如何补齐API安全盲区
安全
Bruce_Liuxiaowei13 小时前
数字签名与“公钥制作者之谜“:信任从何而来
网络·安全·web安全
Black蜡笔小新14 小时前
运维提效!视频汇聚平台EasyCVR视频质量诊断,掉线花屏自动预警
运维·安全·音视频
数据知道15 小时前
哈希与密码存储——bcrypt、Argon2、盐值与彩虹表
网络·算法·安全·网络安全·密码学·哈希算法