GitLab CI/CD との統合¶
このガイドでは、プッシュのたびに Mayhem が自動的にコードまたは API をテストできるよう GitLab CI/CD パイプラインをセットアップする方法を説明します。
GitLab CI/CD パイプラインで Mayhem を実行するには、以下が必要です
- Mayhem API トークン を作成します。
- 作成したトークンを
MAYHEM_TOKEN
という名前の「シークレット変数」としてパイプランの変数に追加します。
GitLab CI/CD と Mayhem を連携するためのパイプライン構成¶
GitLab CI/CD パイプラインを構成してコードまたは API をテストするには、.gitlab-ci.yml
ファイルを作成します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
|
GitLab CI/CD と Mayhem の統合¶
Mayhem と GitLab CI/CD を適切に統合するのに必要な .gitlab-ci.yml
について説明したので、次は、動作するサンプルを確認します。
Info
このサンプルでは、mcode-action-examples にあるアセットをフォークし、ターゲットの GitLab CI/CD パイプラインに Mayhem を統合しています。
GitLab で構成を動作させるには、まず、シークレット変数を設定する必要があります。このサンプルでは、次のパイプライン変数が設定されています。
MAYHEM_TOKEN
: ユーザー生成の Mayhem API トークンです。MAYHEM_URL
: Mayhem サーバーの URL です。https://app.mayhem.security
を設定します。
さらに、上記の .gitlab-ci.yml
構成では、Docker イメージをビルドして GitLab Container Registry にプッシュします。そのため、プロジェクトの可視性が Public
に設定されていることを確認し、Mayhem が GitLab Container Registry からリポジトリの Docker イメージをプルできるようにします。
上記の手順を完了すると、GitLab CI/CD パイプラインを実行できるようになります。パイプラインはターゲットに対して Mayhem ランを実行し、脆弱性をテストします。