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 の設定とオプションの詳細については、以下を参照してください:
| Input | 説明 | デフォルト |
|---|
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 | "" |