> For the complete documentation index, see [llms.txt](https://help.aikido.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.aikido.dev/docs/docs-ja/kontenaimjisukyan/local-image-scanning/pr-gating-for-container-images-using-local-image-scanner.md).

# Local Image Scanner を使用したコンテナイメージの PR ゲート

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

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

これにより、新しい脆弱性の混入を防ぎつつ、既存の検出結果は別途対応できます。

{% hint style="info" %}
また、次もサポートしています [リリースゲーティング](/docs/docs-ja/kontenaimjisukyan/local-image-scanning/release-gating-for-container-images-using-local-image-scanner.md) リリース時にチェックを強制したいチーム向けです。
{% endhint %}

PR ゲーティングを有効にするには、次を追加します `--fail-on <severity>` オプションで、希望する重大度レベルを選択します。次に、次を追加します `--gating-mode pr` オプションを追加して、PR ゲーティングを実行することを示します。また、ベース（`--base-commit-id <commit-id>`）とヘッドコミット（`--head-commit-id <commit-id>`）。ベースコミット ID に対して以前にスキャンが実行されている場合、スキャン結果はそれらと比較されます。そうでない場合、結果はイメージに対する最新のスキャンと比較されます。

PRゲーティングのコマンド例:

```
./aikido-local-scanner image-scan your-image-name --apikey AIK_CI_xxx --fail-on critical --gating-mode pr --base-commit-id abc123 --head-commit-id def456 
```

### 例 <a href="#examples" id="examples"></a>

#### GitHub <a href="#gitlab-self-managed" id="gitlab-self-managed"></a>

GitHub 環境で Local Scanner をセットアップする方法に関する一般情報については、こちらを参照してください [この記事](https://help.aikido.dev/code-scanning/local-code-scanning/github-action-setup-for-local-code-scanning).

例 `.github/workflows/aikido-scan.yml` PRゲーティング用：

```yaml
name: Aikido Docker のビルドとスキャン

on:
  pull_request:
    branches:
      - main

jobs:
  build-and-scan:
    runs-on: ubuntu-latest
    steps:
      - name: コードをチェックアウト
        uses: actions/checkout@v4

      - name: Docker Buildx を設定
        uses: docker/setup-buildx-action@v3

      - name: Docker イメージをビルド
        run: docker build -t your-local-image-name .

      - name: Aikido イメージスキャンを実行
        run: |
          docker run --rm \
            -v /var/run/docker.sock:/var/run/docker.sock \
            aikidosecurity/local-scanner \
            image-scan your-local-image-name \
            --apikey ${{ secrets.AIKIDO_API_KEY }} \
            --fail-on critical \\
            --gating-mode pr \\
            --base-commit-id ${{ github.event.pull_request.base.sha }} \
            --head-commit-id ${{ github.event.pull_request.head.sha }} 
```

#### Azure DevOps Server <a href="#gitlab-self-managed" id="gitlab-self-managed"></a>

Azure DevOps 環境で Local Scanner を設定するための一般情報については、こちらを参照してください [この記事](https://help.aikido.dev/code-scanning/local-code-scanning/github-action-setup-for-local-code-scanning).

PRゲーティングの例:

```yaml
trigger: none

pr:
  branches:
    include:
      - 'main'

pool:
  vmImage: ubuntu-latest

steps:
- script: docker build -t my-image .
  displayName: 'Docker イメージをビルド'  
- script: | 
    docker run --rm -v /var/run/docker.sock:/var/run/docker.sock aikidosecurity/local-scanner image-scan my-image \
        --apikey $(AIKIDO_API_KEY) \
        --fail-on critical \\
        --gating-mode pr \\
        --base-commit-id abc123 \
        --head-commit-id def456
  displayName: 'Aikido スキャンを実行'
```

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

1. Project Settings → Repositories → Policies → Branch Policies に移動します
2. main ブランチを選択します
3. Build Validation を追加
4. このパイプラインを選択
5. 次のように設定します:
   * トリガー: 自動


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.aikido.dev/docs/docs-ja/kontenaimjisukyan/local-image-scanning/pr-gating-for-container-images-using-local-image-scanner.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
