日本語

ローカルスキャナーを使ったBitbucketのPRゲーティング

Aikido Local Scannerを使用して、CIパイプラインでセキュリティゲートを適用できます。

クラウド接続されたワークスペース(GitHub、BitBucketなど)でもPRゲーティングを使用できます。CIのIntegrationセクションをご覧ください。

PRゲーティングにより、新しいコードがデフォルトブランチにマージされる前に、セキュリティ基準を満たしていることが保証されます。スキャン対象は、プルリクエストで導入された変更のみです。設定した重大度のしきい値以上の新しい問題が検出された場合、CIパイプラインは失敗します。

これにより、既存の検出結果を別途対処しながら、新しい脆弱性の混入を防ぐことができます。

リリース時にチェックを適用したいチーム向けに、リリースゲーティングもサポートしています。

PRゲーティングを有効にするには、--fail-on <severity> オプションを追加して希望する重大度レベルを選択します。次に、--gating-mode pr オプションを追加して、PRゲーティングを実行することを指定します。また、ベースコミット(--base-commit-id <commit-id>)とヘッドコミット(--head-commit-id <commit-id>)も指定する必要があります。ベースコミットIDに対して以前にスキャンが実行されている場合、スキャン結果はその結果と比較されます。そうでない場合は、デフォルトブランチでの最新のスキャン結果と比較されます。

Bitbucket環境でのLocal Scannerのセットアップに関する一般的な情報については、こちらの記事をご覧ください。

PRゲーティング用の bitbucket-pipelines.yml の例:

image: aikidosecurity/local-scanner:latest

pipelines:
  pull-requests:
    "**":   # this applies the pipeline to all pull requests
      - step:
          name: Aikido PR Gating Scan
          script:
            - >- 
              aikido-local-scanner scan ./
              --apikey $AIKIDO_API_KEY
              --repositoryname $BITBUCKET_REPO_SLUG
              --branchname $BITBUCKET_BRANCH
              --gating-mode pr
              --fail-on critical
              --base-commit-id $BITBUCKET_PR_DESTINATION_COMMIT
              --head-commit-id $BITBUCKET_COMMIT