日本語

ローカルスキャナーを使ったコードのリリースゲーティング

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