コンテンツにスキップ

Local Image Scanning用GitHub Actionセットアップ

Aikido Security Local Scannerは、お使いの環境内でAikido Securityのスキャンを実行できるツールで、データが環境外に出ることはありません。スキャンはローカルで実行され、その結果がAikido Securityプラットフォームにアップロードされます。この仕組みにより、レジストリに送信する前に、自分のマシン上またはCI/CDパイプライン内でイメージをローカルにスキャンできます。

イメージ用にLocal Scanningをセットアップする方法

Section titled “イメージ用にLocal Scanningをセットアップする方法 ”
  1. Local Scanner Imageのセットアップページに移動します
  2. 認証トークンを生成してコピーします。このトークンは一度しか表示されないのでご注意ください。
  3. プロジェクトでLocal Scannerを実行する際、このトークンを--apikey引数として追加します。
  4. Settings > Secrets and variables > Actions からこのトークンをGitHub Secretsに保存します。

APIキーの入力欄と追加オプションが表示されたGitHubリポジトリのSecrets画面。

あとは.github/workflowsフォルダに新しいYAMLファイルを追加し、イメージに対してスキャナーを実行するだけです。以下にいくつかの例を示します。

イメージのビルドとスキャン:

name: Aikido Docker build and scan
on:
push:
branches:
- main
jobs:
build-and-scan:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build Docker image
run: docker build -t your-local-image-name .
- name: Run Aikido image scan
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 }}

レジストリにプッシュする前にrelease gatedスキャンを実行するには、次のようなワークフローを実行できます。

name: Aikido Docker build and scan
on:
push:
branches:
- main
jobs:
build-and-scan:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build Docker image
run: docker build -t your-local-image-name .
- name: Run Aikido image scan
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

--fail-onで指定する深刻度は、必要に応じて調整してください。

最初のスキャンが完了したら、Aikido Feedで結果を確認できます。指定した名前のイメージがAikido UI内に作成され、スキャンのすべての結果が含まれています。