コンテンツにスキップ

CircleCIでのローカルイメージスキャン設定

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

イメージのローカルスキャンを設定する方法

Section titled “イメージのローカルスキャンを設定する方法 ”
  1. Local Scanner Image設定ページに移動します

  2. 認証トークンを生成してコピーします。このトークンは一度しか表示されないのでご注意ください。

  3. プロジェクトでLocal Scannerを実行する際、このトークンを引数--apikeyとして追加します。

  4. CircleCIでProject Settings > Environment Variables > Add Environment Variableに移動し、このトークンを環境変数として保存します。

    値と作成タイムスタンプのオプションを持つAPIキー環境変数を追加している画面。


あとはイメージに対してスキャナーを実行するだけです。

version: 2.1
jobs:
run-aikio-scan:
machine:
image: ubuntu-2204:current
steps:
- run:
name: "Your build step here"
command: docker build .
- run:
name: "Run Aikido scan"
command: docker run --rm -v /var/run/docker.sock:/var/run/docker.sock aikidosecurity/local-scanner image-scan your-local-image-name --apikey "$AIKIDO_API_KEY"
my-workflow:
jobs:
- run-aikio-scan:
filters:
branches:
only:
- master

これをCIで実行する場合、Aikido上でproductionとfeatureの結果が混在しないよう、feature branchに基づくイメージをスキャンしないよう注意してください。

レジストリへのプッシュ前にリリースをゲーティングするスキャンを実行するには、以下のようなパイプラインを実行できます。

version: 2.1
jobs:
run-aikio-scan:
machine:
image: ubuntu-2204:current
steps:
- run:
name: "Your build step here"
command: docker build .
- run:
name: "Run Aikido scan"
command: docker run --rm -v /var/run/docker.sock:/var/run/docker.sock aikidosecurity/local-scanner image-scan your-local-image-name --apikey "$AIKIDO_API_KEY" --fail-on critical
- run:
name: "Your push step here"
command: docker image push ...
my-workflow:
jobs:
- run-aikio-scan:
filters:
branches:
only:
- master

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

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