コンテンツにスキップ

OstorlabとGitLabの連携

このガイドでは、AndroidおよびiOSモバイルアプリ向けのOstorlab自律型セキュリティテストをgitlabビルドプロセスに簡単に統合する方法について説明します。

新しいAPIキーの生成

最初のステップはAPIキーを生成することです。これを行うには、以下の手順に従ってください。

report.ostorlab.co に移動します

Menu Button

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

Integrations/API Expand

API Keysをクリックします

API Keys

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

New API Key

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

Copy API Key

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

Save API Key

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セクションにジャンプして、以下のようにパイプラインの環境変数を追加します。

Add Environment Variables

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

List of Variables

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

Scan Result

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