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

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

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

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

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

これにより、既存の検出事項は別途対応しつつ、新たな脆弱性の混入を防げます。

また、以下もサポートしています。 release gating リリース時にチェックを強制したいチーム向けです。

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

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

.github/workflows/aikido-scan.yml PR のゲーティング用:

on:
  pull_request:
    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: ${{ github.event.repository.name }}
          fetch-depth: 0 # ベースコミットとヘッドコミットがワークフローで参照できるようにします
      - name: Run scan
        run: aikido-local-scanner scan ${{ github.event.repository.name }} --apikey ${{ secrets.AIKIDO_API_KEY }} --repositoryname ${{ github.event.repository.name }} --branchname ${{ github.event.pull_request.head.ref }} --gating-mode pr --fail-on critical --base-commit-id ${{ github.event.pull_request.base.sha }} --head-commit-id ${{ github.event.pull_request.head.sha }}

最終更新

役に立ちましたか?