コンテンツにスキップ

Local Code ScanningのGitLab Self Managedセットアップ

目次:

Local Code ScanningのGitLab Self Managedセットアップ

Section titled “Local Code ScanningのGitLab Self Managedセットアップ”

Aikido Security Local Scannerは、お使いの環境内でAikido Securityのスキャンを実行できるツールで、コードが社内から一切出ないことを保証します。スキャンはローカルで行われ、その結果のみがAikido Securityプラットフォームにアップロードされます。このセットアップにより、レポート作成のためにLocal ScannerをGitLabプロジェクトへ簡単に組み込むことができます。

Local Scanningのセットアップ方法

Section titled “Local Scanningのセットアップ方法 ”

前提条件: Local Scanningを利用できるアカウントを作成済みであることを確認してください。Local Scanning用アカウントの作成に関する詳細情報

  1. Local Scannerセットアップページに移動します。

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

  3. パイプラインで使用できるように、GitLabのCI/CD変数に認証トークンを追加します。
    これを行うには、グループのSettingsページに移動し、CI/CDサブページに進みます。

    変数・ランナー・Auto DevOpsの自動化を設定するGitLab CI/CD設定ページ

    Variablesの隣にある「Expand」をクリックし、「Add variable」をクリックします。キーにAIKIDO_LOCAL_SCANNER_TOKEN、値にコピーしたトークンの内容を指定して認証トークンを追加できます。

Local Scannerがデフォルトブランチに対してのみトリガーされるようにしてください。Aikidoはデフォルトでは、依存関係やコードの問題について、リポジトリ内の1つのブランチ(通常はmainまたはmasterブランチ)をスキャン対象としてサポートしています。そのため、Aikidoプラットフォーム上でスキャン結果が混在しないよう、そのブランチのみでLocal Scannerを実行することを推奨します。これはワークフローファイルのrulesセクションで指定できます。

GitLabパイプラインでLocal Scannerを使う最も簡単な方法は、Aikidoが提供するDockerイメージを利用することです。

.gitlab-ci.ymlの例:

default:
image:
name: aikidosecurity/local-scanner:latest
entrypoint: [""]
run_aikido_selfscanner:
script:
- aikido-local-scanner scan ./ --apikey $AIKIDO_LOCAL_SCANNER_TOKEN --repositoryname $CI_PROJECT_NAME --branchname main
rules:
- if: $CI_COMMIT_BRANCH == "main"

コマンドを実行する際は、--branchnameオプションでデフォルトブランチを指定してください。

このリポジトリに対する初回のスキャンの場合、Aikidoは指定した名前でリポジトリを作成し、そこにすべてのスキャン結果を格納します。以降のスキャン結果は、このリポジトリ名の下にAikido上で集約されます。

デフォルトではすべてのスキャン種別が実行されます。特定のスキャンのみ(例えばSASTスキャンのみ)を実行したい場合は、--scan-typesオプションでスキャン種別を指定することで実現できます。CLIオプションの詳細はこちらをご覧ください。

また、リリースゲーティングモードまたはPRゲーティングモードでスキャナーを実行することもできます。リリースゲーティングモードは、リリース前にリポジトリをスキャンする際に有用で、リリース候補にオープンな問題がないことを保証します。リリースゲーティングモードで実行すると、スキャン終了後に選択した深刻度以上のオープンな問題が存在する場合、スキャナーのプロセスは失敗します。PRゲーティングモードは、PR内で新たに混入した可能性のある問題を検出するために使用できます。

リリースゲーティングモードまたはPRゲーティングモードの詳細については、こちらの記事をご覧ください。

初回のスキャンが完了したら、Aikido Feedに移動して結果を確認できます。指定した名前のリポジトリが作成され、スキャンのすべての結果が格納されています。