For the complete documentation index, see llms.txt. This page is also available as Markdown.

ローカルコードスキャンのためのTeamCityパイプライン設定

デフォルトでは、Aikido はクラウド上でリポジトリをスキャンできます。コードへのアクセスを共有したくない場合は、ローカルスキャン オプションを使用できます。Aikido Security Local Scanner は、TeamCity パイプライン内、この場合は TeamCity パイプライン内で Aikido Security スキャンを実行できるようにするツールです。スキャンはパイプライン内で実行され、その結果は Aikido Security プラットフォームにアップロードされます。

ローカルスキャンの設定方法

前提条件: ローカルスキャンを許可するアカウントが作成済みであることを確認してください。 ローカルスキャンアカウントの作成に関する詳細.

1. 認証トークンを取得する

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

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

  3. このトークンをパイプラインのシークレットとして保存してください。

    API キーをシークレットとして安全に追加するためのアプリ設定画面。

2. Local Scanner の実行

あとは、リポジトリでスキャナーを実行するだけです。 ローカルスキャナーは、必ずデフォルトブランチでのみ起動するようにしてください。デフォルトでは、Aikido は依存関係やコードの問題についてリポジトリ内の 1 つのブランチのみをスキャンできます。通常は main または master ブランチです。そのため、Aikido プラットフォーム上でスキャン結果が混在しないよう、ローカルスキャナーはそのブランチでのみ実行することをおすすめします。これはパイプラインの設定時に指定できます。

Docker を使用する

TeamCity パイプラインでローカルスキャナーを使用する最も簡単な方法は、Docker イメージを利用することです。 例: YAML:

コマンドを実行する際に、 --branchname オプションを使って、希望するブランチを指定してください。

このリポジトリで最初のスキャンである場合、Aikido は指定した名前でリポジトリを作成し、すべてのスキャン結果をその中に保存します。以後のスキャン結果は、Aikido 内でこのリポジトリ名の下に集約されます。

既定ではすべてのスキャンタイプが実行されます。特定のスキャンだけを実行したい場合(例: SAST のみ)、 --scan-types オプション。CLI オプションの詳細は こちら.

でスキャンタイプを指定できます。リリース前にリポジトリをスキャンする際に役立つ、リリースゲーティングモードや PR ゲーティングモードでもスキャナーを実行できます。リリースゲーティングモードでは、リリース候補に未解決の問題がないことを確認できます。このモードで実行すると、スキャン完了後に選択した重大度以上の未解決の問題がある場合、スキャナープロセスは失敗します。PR ゲーティングモードは、PR で新たに導入された可能性のある問題をスキャンするために使用できます。

リリースゲーティングモードまたは PR ゲーティングモードの詳細は、 この記事.

3. スキャン結果を確認する

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

最終更新

役に立ちましたか?