是否可以将 Checkmarx 静态应用程序安全测试 (SAST) 工具集成到 Gitlab 持续集成 (CI) 管道中以进行静态安全扫描?
3 回答
我一直在将 Checkmarx 与 TeamCity 和 Jenkins 管道与他们的插件一起使用。但是,对于 GitLab 管道,我们需要使用 REST API/CLI。我更喜欢使用 CLI 而不是 REST API,因为 CLI 提供了更多可用于管道决策的功能。
您可以查看他们的 Wiki - https://checkmarx.atlassian.net/wiki/spaces/KC/pages/5767170/CxSAST+API+Guide https://checkmarx.atlassian.net/wiki/spaces/KC/pages/52560015 /CxConsole+CxSAST+CLI
您可以随时提出支持票,以获得 Checkmarx 推荐的方法。
目前,不,Checkmarx 没有用于 GitLab 集成的特殊插件,但他们有非常好的文章如何启用和配置集成:
https://checkmarx.atlassian.net/wiki/spaces/SD/pages/1929937052/GitLab+Integration
我选择自由风格,而不是在詹金斯从事管道工作。即使没有 checkmarx 插件,我也是这样配置的。
首先使用以下命令生成令牌 runCxConsole.cmd GenerateToken -v -CxUser username -CxPassword admin -CxServer http://localhost
在 Build --> Execute Shell 中配置以下代码行
Jenkins Script
#!/bin/bash
export JAVA_HOME=/usr/bin/java
export CHECKMARX_HOME=/<checkmarx plugin path>/CxConsolePlugin-8.90.2
echo ${WORKSPACE}
echo $CX_PROJECT_NAME
mkdir ${WORKSPACE}/cxReports
export CHECKMARX_REPORTS_HOME=${WORKSPACE}/cxReports
echo $CHECKMARX_REPORTS_HOME
$CHECKMARX_HOME/runCxConsole.sh Scan -v -CxServer <checkmarx server details> -ProjectName "<project anme>" -cxToken <token> -locationtype folder -locationpath "${WORKSPACE}" -preset "Default Checkamrx" -reportcsv $CHECKMARX_REPORTS_HOME/$CX_PROJECT_NAME.csv -ReportPDF $CHECKMARX_REPORTS_HOME/$CX_PROJECT_NAME.pdf
注意:始终使用令牌与服务器进行身份验证,而不是在 CLI 命令中硬编码用户名和密码。
有关更多信息,您可以访问https://checkmarx.atlassian.net/wiki/spaces/SD/pages/222232891/Authentication+Login+to+the+CLI https://checkmarx.atlassian.net/wiki/spaces/SD /pages/1929937052/GitLab+集成