Local Scannerを使ったコードのリリースゲーティング
Aikido Local Scannerは、プルリクエストやリリースなど、CIパイプラインのさまざまな段階でセキュリティゲートを適用できます。
Release gatingは、コードが公開・デプロイされる前にスキャンを行います。プルリクエストで導入された変更のみをスキャンするPR gatingとは異なり、release gatingはビルド全体を評価します。設定した深刻度のしきい値以上の問題がスキャンで見つかった場合、CIパイプラインは失敗し、リリースはブロックされます。
これにより、最終的なコードが本番環境に到達する前に、セキュリティ基準を満たしていることを保証できます。
release gatingを有効にするには、スキャンコマンドに--fail-on <severity>オプションを追加します。
aikido-local-scanner scan ./ --apikey $AIKIDO_LOCAL_SCANNER_TOKEN --repositoryname $CI_PROJECT_NAME --branchname main --fail-on critical
GitLab Self Managed
Section titled “GitLab Self Managed ”GitLab環境でのLocal Scannerのセットアップに関する一般的な情報は、こちらの記事をご覧ください。
release gating用の.gitlab-ci.ymlの例:
default: image: name: aikidosecurity/local-scanner:latest entrypoint: [""]
run_aikido_selfscanner: script: - aikido-local-scanner scan ./ --apikey $AIKIDO_LOCAL_SCANNER_TOKEN --repositoryname $CI_PROJECT_NAME --branchname main --fail-on critical rules: - if: $CI_COMMIT_BRANCH == "main"GitHub
Section titled “GitHub ”GitHub環境でのLocal Scannerのセットアップに関する一般的な情報は、こちらの記事をご覧ください。
release gating用の.github/workflows/aikido-scan.ymlの例:
on: push: branches: - main
name: Aikido Scanjobs: aikido-local-scan-repo: runs-on: ubuntu-latest container: image: aikidosecurity/local-scanner:latest steps: - uses: actions/checkout@v4 with: token: ${{ secrets.GITHUB_TOKEN }} path: my-repo - name: Run scan run: aikido-local-scanner scan my-repo --apikey ${{ secrets.AIKIDO_API_KEY }} --repositoryname MyRepo --branchname main --fail-on critical