ローカルコードスキャンのためのBamboo設定
Aikido Security Local Scanner は、Aikido Security のスキャンを自社環境内で実行できるツールであり、コードが社外に出ないことを保証します。スキャンはローカルで実行され、その結果は Aikido Security プラットフォームにアップロードされます。この構成により、レポート目的で Local Scanner を Bamboo に簡単に統合できます。
ローカルスキャンの設定方法
前提条件: ローカルスキャンを許可するアカウントが作成済みであることを確認してください。 ローカルスキャンアカウントの作成に関する詳細.
1. 認証トークンを取得する
次へ移動し、 ローカルスキャナーの設定ページ.
認証トークンを生成してコピーします。このトークンは一度しか表示できないので注意してください。
Bitbucket の Plan variables に認証トークンを追加して、プランで使用できるようにします。これを行うには、プラン設定 > Variables に移動します。そこで、認証トークンを次のように追加できます
AIKIDO_API_KEYキーとして、コピーしたトークンの内容を値として設定します。変数は Project または Global レベルで定義することもできます(参照 こちら).
2. Local Scanner の実行
ローカルスキャナーがデフォルトブランチでのみ起動されるようにしてください。デフォルトでは、Aikido はリポジトリ内の 1 つのブランチのみを対象に、依存関係やコードの問題をスキャンできます。通常は main ブランチまたは master ブランチです。そのため、Aikido プラットフォーム上でスキャン結果が混在しないよう、ローカルスキャナーはそのブランチでのみ実行することを推奨します。
Docker を使用する
エージェントに Docker を実行する機能がある場合は、Aikido Local Scanner の Docker イメージを使ってスキャンを実行できます。まず、コードがスキャン可能な状態であることを確認するために、'Source Code Checkout' タスクがあることを確認してください。その後、次のように 'Docker' タスクを追加します:

コマンドとして 'Run a Docker container' を選択します。弊社のイメージは次の場所で見つかります Docker Hub または AWS Elastic Container Registry.
Container Command フィールドには次のように入力します: scan . --apikey ${bamboo.AIKIDO_API_KEY} --repositoryname ${bamboo.planRepository.1.name} --branchname ${bamboo.planRepository.1.branch}
バイナリを使用する
エージェントに Docker を実行する機能がない場合は、Aikido Local Scanner のバイナリを直接使用できます。これを行うには、次の場所から適切なバイナリをダウンロードしてください Local Scanner Setup ページ。 次に、これをエージェントの capability として追加する必要があります。
目的のエージェントに移動します:
Bamboo で、次へ移動します Build Resources > エージェント.
capability を追加したいエージェントを選択します。
Executable capability を追加します:
で エージェント固有の capability セクションで、次をクリックします capability を追加.
選択 capability の種類 > Executable.
で Executable label、Aikido Local Scanner など、実行可能ファイルの名前を入力します。
で Path フィールドに、エージェントマシン上の aikido-local-scanner バイナリへのパスを指定します。
これで、Aikido Local Scanner を Plan の Task として使用できます。まず、コードがスキャン可能な状態であることを確認するために、'Source Code Checkout' タスクがあることを確認してください。その後、次のように 'Command' タスクを追加します:

実行可能ファイルとして 'Aikido Local Scanner' を選択し、Argument フィールドにコマンドパラメーターを追加します:
このリポジトリで最初のスキャンである場合、Aikido は指定した名前でリポジトリを作成し、すべてのスキャン結果をその中に保存します。以後のスキャン結果は、Aikido 内でこのリポジトリ名の下に集約されます。
既定ではすべてのスキャンタイプが実行されます。特定のスキャンだけを実行したい場合(例: SAST のみ)、 --scan-types オプション。CLI オプションの詳細は こちら.
でスキャンタイプを指定できます。リリース前にリポジトリをスキャンする際に役立つ、リリースゲーティングモードや PR ゲーティングモードでもスキャナーを実行できます。リリースゲーティングモードでは、リリース候補に未解決の問題がないことを確認できます。このモードで実行すると、スキャン完了後に選択した重大度以上の未解決の問題がある場合、スキャナープロセスは失敗します。PR ゲーティングモードは、PR で新たに導入された可能性のある問題をスキャンするために使用できます。
リリースゲーティングモードまたは PR ゲーティングモードの詳細は、 この記事.
3. スキャン結果を確認する
最初のスキャンが完了したら、Aikido Feed に移動して結果を確認できます。指定した名前のリポジトリが作成され、スキャンのすべての結果が含まれます。
最終更新
役に立ちましたか?