一个用于 Gitleaks 的 GitLab CI 组件 —— 一款用于检测和防止硬编码秘密(如密码、API 密钥和令牌)被提交到 git 仓库的 SAST 工具。
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/gitleaks/main@latest
stages:
- test
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/gitleaks/main@latest
inputs:
GITLEAKS_CONFIG: ".gitleaks.toml"
GITLEAKS_EXTRA_ARGS: "--verbose --report-format sarif"
stages:
- test
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/gitleaks/main@latest
inputs:
GITLEAKS_REMOTE_CONFIG: "https://gitlab.com/niclas-zone/ci/gitleaks/-/raw/main/configs/gitleaks.toml"
stages:
- test
将 .gitleaks.toml 文件放置于仓库根目录,或通过 GITLEAKS_CONFIG 指定路径。
设置 GITLEAKS_REMOTE_CONFIG 从 URL 下载配置文件。这对于跨多个项目共享配置非常有用。
如果未指定本地或远程配置,组件将使用 Gitleaks 的内置默认规则。
该组件生成以下制品:
gitleaks-report.json:JSON 格式的扫描结果(或基于 --report-format 参数的其他格式)关于 Gitleaks 配置和选项的更多信息,请参阅:
| 输入 | 说明 | 默认值 |
|---|
job_name | CI 作业的名称 | "secret scanning" |
stage | 流水线阶段 | "test" |
image | Gitleaks 的 Docker 镜像 | "registry.gitlab.com/niclas-zone/ctr/gitleaks:8.28.0" |
GITLEAKS_EXTRA_ARGS | Gitleaks 的额外参数 | "--verbose --redact --report-format json" |
GITLEAKS_CONFIG | 本地 Gitleaks 配置文件路径 | "" |
GITLEAKS_REMOTE_CONFIG | 下载 Gitleaks 配置文件的 URL | "" |