For the complete documentation index, see llms.txt. This page is also available as Markdown.

ローカルスキャナーを使用したAzure DevOpsのPRゲーティング

Aikido Local Scanner は、CI パイプラインでセキュリティゲートを強制するために使用できます。

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

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

これにより、新たな脆弱性の混入を防ぎつつ、既存の指摘には別途対応できます。

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

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

Azure DevOps 環境で Local Scanner を設定する一般的な情報については、こちらを確認してください この記事. PRゲート付きスキャンの設定例:

trigger: none

pr:
  branches:
    include:
      - main

pool:
  vmImage: 'ubuntu-latest'

container:
  image: aikidosecurity/local-scanner:latest
  options: --entrypoint=""

steps:
  - checkout: self
    clean: true
    fetchDepth: 0

  - bash: |
      echo "PRターゲットブランチ(完全な参照): $SYSTEM_PULLREQUEST_TARGETBRANCH"
      echo "PRソースブランチ(完全な参照): $SYSTEM_PULLREQUEST_SOURCEBRANCH"

      # プレフィックスを削除
      TARGET_BRANCH=${SYSTEM_PULLREQUEST_TARGETBRANCH#refs/heads/}
      echo "プレフィックスを削除したターゲットブランチ: $TARGET_BRANCH"

      # マージベースを計算するためにターゲットブランチを取得
      git fetch origin "$TARGET_BRANCH"

      BASE_COMMIT=$(git merge-base HEAD "origin/$TARGET_BRANCH")
      echo "ベースコミットのSHA: $BASE_COMMIT"

      echo "##vso[task.setvariable variable=baseCommitId]$BASE_COMMIT"
    displayName: 'ベースコミットSHAを取得'

  - script: |
      aikido-local-scanner scan $BUILD_SOURCESDIRECTORY \
        --apikey $(AIKIDO_API_KEY) \
        --repositoryname $BUILD_REPOSITORY_NAME \
        --branchname $(System.PullRequest.SourceBranch) \
        --gating-mode pr \
        --fail-on critical \
        --base-commit-id $(baseCommitId) \
        --head-commit-id $(System.PullRequest.SourceCommitId)
    displayName: 'Aikido PRスキャンを実行'

このパイプラインを main ブランチに Build Validation として追加してください:

  1. Project Settings → Repositories → Policies → Branch Policies に移動します

  2. main ブランチを選択します

  3. Build Validation を追加

  4. このパイプラインを選択

  5. 設定:

    • トリガー: 自動

最終更新

役に立ちましたか?