ASoC 和 GitLab
将 AppScan on Cloud 与 GitLab 配合使用,针对每个合并请求上存储库中的文件运行静态分析安全测试 (SAST),从而防止漏洞到达主分支。结果存储在 AppScan on Cloud 中。
注册
如果您没有帐户,请在 HCL AppScan on Cloud (ASoC) 上注册,以生成 API 密钥和 API 密码。
设置
- 在 API 页面上生成 ASoC API 密钥和 API 密码。
API 密钥和 API 密码映射到此操作的
ASOC_KEY和ASOC_SECRET参数。记下密钥和密码。 - 在 ASoC 中创建应用程序。
应用程序充当存储与同一项目相关的所有扫描的容器。
-
复制应用程序名称。
ASoC 中的应用程序名称将映射到此集成的
APP_NAME。
- 在 GitLab 中创建变量。选择,然后按以下方式设置变量:

- 将 .gitlab-ci.yaml 和 Dockerfile 复制到您的 GitLab 存储库根中。
- 设置 CI/CD 配置文件。选择。

- 构建您自己的运行程序。选择,然后按照特定运行程序下的步骤执行操作。
- 在您正在设置 GitLab 运行程序的系统上,登录并克隆您的 GitLab 存储库(如果尚未存在)。确保该计算机上安装了 Docker 引擎。
- 从 Dockerfile 创建一个名为 saclient 的新 Docker 映像。将目录更改为存储库的根目录,然后运行以下命令,以构建 Docker 映像:
docker build -t saclient .重要:末尾的句点表示当前目录。 - 在 GitLab 中,要防止扫描失败时合并,在中启用管道必须成功。
- 在中创建新的合并请求时,验证是否启动了新的扫描作业。
示例
扫描作业


扫描可供下载的工件


根据

maxIssuesAllowed,扫描作业已通过
其他信息
当前 yaml 脚本包含安全策略检查的样本,如果允许的安全性问题数量超过特定阈值,则扫描将失败。样本已将 maxIssuesAllowed 设置为 100。