GitLab CIパイプラインでのセキュリティスキャン
GitLab CIパイプラインにセキュリティスキャンを追加。SAST、依存関係スキャン、コンテナスキャン、シークレット検出をGitLabテンプレートとオープンソースツールで実施。
Security
詳細な説明
GitLab CIでのセキュリティスキャン
CIでのセキュリティスキャンは、脆弱性が本番環境に到達する前に検出します。GitLabは組み込みテンプレートを提供していますが、オープンソースツールを直接使用することもできます。
オープンソースの代替(任意のティア)
trivy_scan:
stage: security
image: aquasec/trivy:latest
script:
- trivy fs --severity HIGH,CRITICAL --exit-code 1 .
allow_failure: true
gitleaks:
stage: security
image: zricethezav/gitleaks:latest
script:
- gitleaks detect --source .
allow_failure: true
ベストプラクティス
allow_failure: trueから開始: 初期発見のトリアージ中にデプロイメントをブロックしません。- マージリクエストでスキャン: マージ前に開発者が結果を確認できます。
- HIGH/CRITICALで失敗: 重大な脆弱性のみをブロックします。
- レポートをアーティファクトとして保存: 監査とトレンド分析のために保持します。
ユースケース
すべての本番パイプラインに何らかのセキュリティスキャンを含めるべきです。シークレット検出と依存関係スキャン(最も高いROI)から始め、セキュリティ体制が成熟するにつれてSASTとコンテナスキャンを追加します。