ローカルコードスキャンのためのGitLab Self-Managed設定
最終更新
役に立ちましたか?
目次:
Aikido Security Local Scanner は、Aikido Security のスキャンを自社環境内で実行できるようにするツールです。これにより、コードが社外に出ることはありません。スキャンはローカルで実行され、その結果は Aikido Security プラットフォームにアップロードされます。このセットアップにより、Local Scanner をレポート目的で GitLab プロジェクトに簡単に統合できます。
前提条件: ローカルスキャンを許可するアカウントが作成済みであることを確認してください。 ローカルスキャンアカウントの作成に関する詳細.
次へ移動し、 ローカルスキャナーの設定ページ.
認証トークンを生成してコピーします。このトークンは一度しか表示できないので注意してください。
認証トークンを Gitlab の CI/CD 変数に追加して、パイプラインで使用できるようにします。 これを行うには、グループの Settings ページに移動し、次に CI/CD サブページに移動します。

変数の横にある「Expand」をクリックし、「Add variable」をクリックします。次に、認証トークンを AIKIDO_LOCAL_SCANNER_TOKEN をキーとして、コピーしたトークンの内容を値として追加できます。
ローカルスキャナーは、デフォルトブランチでのみ起動されるようにしてください。デフォルトでは、Aikido は依存関係とコードの問題についてリポジトリ内の 1 つのブランチのみをスキャンできます。通常は main または master ブランチです。そのため、Aikido プラットフォーム上でスキャン結果が混在しないように、ローカルスキャナーはそのブランチでのみ実行することを推奨します。これはワークフローファイルの rules セクションで指定できます。
Gitlab パイプラインでローカルスキャナーを使用する最も簡単な方法は、Docker イメージを使うことです。
例 .gitlab-ci.yml:
次を使用してデフォルトブランチを指定します --branchname オプションを使って、希望するブランチを指定してください。
このリポジトリで最初のスキャンである場合、Aikido は指定した名前でリポジトリを作成し、すべてのスキャン結果をその中に保存します。以後のスキャン結果は、Aikido 内でこのリポジトリ名の下に集約されます。
既定ではすべてのスキャンタイプが実行されます。特定のスキャンだけを実行したい場合(例: SAST のみ)、 --scan-types オプション。CLI オプションの詳細は こちら.
でスキャンタイプを指定できます。リリース前にリポジトリをスキャンする際に役立つ、リリースゲーティングモードや PR ゲーティングモードでもスキャナーを実行できます。リリースゲーティングモードでは、リリース候補に未解決の問題がないことを確認できます。このモードで実行すると、スキャン完了後に選択した重大度以上の未解決の問題がある場合、スキャナープロセスは失敗します。PR ゲーティングモードは、PR で新たに導入された可能性のある問題をスキャンするために使用できます。
リリースゲーティングモードまたは PR ゲーティングモードの詳細は、 この記事.
最初のスキャンが完了したら、Aikido Feed に移動して結果を確認できます。指定した名前のリポジトリが作成され、スキャンのすべての結果が含まれます。
最終更新
役に立ちましたか?
役に立ちましたか?
既定値:
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"