OstorlabとGitLabの連携
このガイドでは、AndroidおよびiOSモバイルアプリ向けのOstorlab自律型セキュリティテストをgitlabビルドプロセスに簡単に統合する方法について説明します。
新しいAPIキーの生成
最初のステップはAPIキーを生成することです。これを行うには、以下の手順に従ってください。
report.ostorlab.co に移動します
Menuボタンをクリックします

Integrations/APIをクリックして展開します

API Keysをクリックします

Newをクリックして新しいAPIキーを生成します

APIキーをコピーします。キーに名前や有効期限を追加することもできます。

忘れずに保存ボタンをクリックしてキーを保存してください。

Gitlab-CIパイプラインの作成:
.gitlab-ci.ymlに使用する例
stages:
- build
- test
build:
stage: build
script:
- Pre steps to build
- ./gradlew assembleDebug
artifacts:
paths:
- app/build/outputs/
runScanOstorlab:
stage: test
image: ostorlab/gitlab-ci
variables:
OSTORLAB_FILE_PATH: app/build/outputs/apk/debug/app-debug.apk
OSTORLAB_PLATFORM: android
OSTORLAB_UI_PROMPT_NAMES: "shop;profile;cart;settings"
OSTORLAB_UI_PROMPT_ACTIONS: "search for a product named 'laptop' and add it to cart;open the profile tab and update email;review cart and proceed to checkout;open settings and enable notifications"
OSTORLAB_UI_PROMPT_IDS: "123;456"
script:
- run_ostorlab.sh
必須の環境変数
OSTORLAB_API_KEY=API_KEY- APIキーを指定しますOSTORLAB_FILE_PATH=FILE_PATH- AndroidのapkまたはIOSのipaへのパスを指定しますOSTORLAB_PLATFORM=PLATFORM- プラットフォームをandroidまたはiosで指定します
オプションの環境変数
以下は、環境変数から設定できるオプションのパラメーターです。
OSTORLAB_PLAN=free or static_dynamic_backend- スキャンプランを指定します(コミュニティスキャンの場合はfree、フル分析の場合はstatic_dynamic_backend)。OSTORLAB_TITLE=My Title- スキャンタイトルを指定します。OSTORLAB_WAIT_FOR_RESULTS=true- スキャンの完了を待って結果を取得する場合は、trueに設定します。OSTORLAB_WAIT_MINUTES=30- 待機する分数を指定します(デフォルトは30分)。OSTORLAB_BREAK_BUILD_ON_SCORE=true- スキャンのリスク評価(risk rating)がしきい値よりも高い場合に例外を生成するには、trueに設定します。OSTORLAB_RISK_THRESHOLD=medium- リスク評価(risk rating)のしきい値を指定します。OSTORLAB_UI_PROMPT_NAMES- セミコロンで区切られたUIプロンプト名のリスト。例:shop;profile;cart;settings。各名前は、OSTORLAB_UI_PROMPT_ACTIONSのアクションに位置で対応します。OSTORLAB_UI_PROMPT_ACTIONS- セミコロンで区切られたUIプロンプトアクションのリスト。例:search for a product named "laptop" and add it to cart;open the profile tab and update email;review cart and proceed to checkout;open settings and enable notifications。各アクションは、OSTORLAB_UI_PROMPT_NAMESの名前に位置で対応します。OSTORLAB_UI_PROMPT_IDS- 既存のプロンプトフローを再利用するための、セミコロンで区切られたUIプロンプトフローIDのリスト。例:123e4567-e89b-12d3-a456-426614174000;abcdef12-3456-7890-abcd-ef1234567890。これを名前/アクション変数の代わり、または名前/アクション変数に加えて使用できます。複数のIDを提供できます。 注: 名前とアクションの数は一致している必要があり、各名前/アクションのペアは位置的です。名前/アクション変数とID変数を一緒に使用できます。
Gitlabパイプラインへの環境変数の追加
Gitlabパイプラインに環境変数を追加するには、SettingsからCI/CDに移動し、次にVariablesセクションにジャンプして、以下のようにパイプラインの環境変数を追加します。

その後、変数が変数リストに追加されていることがわかります。

ジョブが完了すると、スキャン結果を待機し、リスク評価がしきい値よりも高い場合に中断することを選択した場合、リスク評価がしきい値以上であるとジョブが失敗する可能性があります。そうでない場合は、スキャンのリスク評価を示す行が表示されてジョブが成功します。

このガイドでは、AndroidおよびiOSモバイルアプリ向けのOstorlab自律型セキュリティテストをgitlabビルドプロセスに効果的かつ簡単に統合するために必要な手順について説明しました。