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_ID
。 - 在 GitLab 中创建三个变量。选择
变量 值 APP_ID
来自 ASoC 的应用程序标识 ASOC_KEY
来自 ASoC 的 API 密钥 ASOC_SECRET
来自 ASoC 的 API 密码
,然后按以下方式设置变量: - 将 .gitlab-ci.yaml 和 Dockerfile 复制到您的 GitLab 存储库根中。
- 构建您自己的运行程序。选择 ,然后按照特定运行程序下的步骤执行操作。
- 在您正在设置 GitLab 运行程序的系统上,登录并克隆您的 GitLab 存储库(如果尚未存在)。确保该计算机上安装了 Docker 引擎。
- 从 Dockerfile 创建一个名为 saclient 的新 Docker 映像。将目录更改为存储库的根目录,然后运行以下命令,以构建 Docker 映像:
docker build -t saclient .
重要: 末尾的句点表示当前目录。 - 在 GitLab 中,要防止扫描失败时合并,在 中启用管道必须成功。
- 在 中创建新的合并请求时,验证是否启动了新的扫描作业。
示例
如果您要在 CentOS 上安装 GitLab 运行程序,请按如下方式构建运行程序:
- 下载系统的二进制文件:
sudo curl -L --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
- 设置执行许可权:
sudo chmod +x /usr/local/bin/gitlab-runner
- 创建 GitLab Runner 用户:
sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash
- 安装并作为服务运行:
sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner sudo gitlab-runner start
- 注册运行程序:
sudo gitlab-runner register --url https://gitlab.com/ --registration-token $REGISTRATION_TOKEN
其他信息
当前 yaml
脚本包含安全策略检查的样本,如果允许的安全性问题数量超过特定阈值,则扫描将失败。样本已将 maxIssuesAllowed
设置为 200
。