ローカルスキャナーを使ったコードのリリースゲーティング
Aikido Local Scanner は、プルリクエストやリリースを含む CI パイプラインのさまざまな段階でセキュリティゲートを強制できます。
クラウド接続されたワークスペース(GitHub、BitBucket など)でも PR ゲーティングを使用できます。CI の 統合セクションをご覧ください.
リリースゲーティングは、コードが公開またはデプロイされる前にスキャンします。~とは異なり PRゲーティング、プルリクエストで導入された変更のみをスキャンするのに対し、リリースゲーティングはビルド全体を評価します。スキャンで設定した重大度しきい値に達する、またはそれを超える問題が見つかった場合、CI パイプラインは失敗し、リリースはブロックされます。
これにより、最終コードが本番環境に到達する前に、セキュリティ基準を満たしていることが保証されます。
リリースゲーティングを有効にするには、次を追加します。 --fail-on <severity> オプションを scan コマンドに追加します。
aikido-local-scanner scan ./ --apikey $AIKIDO_LOCAL_SCANNER_TOKEN --repositoryname $CI_PROJECT_NAME --branchname main --fail-on critical
例
GitLab セルフマネージド
GitLab 環境で Local Scanner をセットアップするための一般的な情報については、次を参照してください。 この記事.
例 .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
GitHub環境で Local Scanner をセットアップするための一般的な情報については、こちらをご覧ください この記事。
例 .github/workflows/aikido-scan.yml リリースゲーティング用:
on:
push:
branches:
- main
name: Aikido Scan
jobs:
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