Harness統合ガイド
Androidモバイルアプリケーション向けのOstorlabの自動化されたセキュリティスキャンをHarness CIパイプラインに簡単に統合できます。
Ostorlab APIキーの生成
- API keysメニューに移動します。
- Newボタンをクリックして、新しいキーを生成します。
- APIキーをコピーします(キーには名前と有効期限を追加できます)。
- Saveボタンをクリックしてキーを保存します。

APIキーをSecretとして追加する
- Projects settingsに移動します。
- Secretsに移動します。
- Ostorlab APIキーをシークレットとして追加し、保存します。

Harness CIパイプラインに実行ステップを追加する
- パイプラインに移動します。
- まだない場合は、buildステージを追加します。
- 新しい実行ステップを追加し、コマンドセクションにスクリプトを挿入します。
python3 -m venv $HARNESS_WORKSPACE/venv
$HARNESS_WORKSPACE/venv/bin/pip install ostorlab
$HARNESS_WORKSPACE/venv/bin/ostorlab \
--api-key=<+secrets.getValue("OSTORLAB_API_KEY")> \
ci-scan run \
--title="SCAN_TITLE" \
--scan-profile="$SCAN_PROFILE" \
android-apk $HARNESS_WORKSPACE/$APP_PATH

実行ステップ設定のOptional Configurationsで、スキャンを構成するための環境変数を追加できます。

yamlでステップを追加する
HarnessのUIでステップを手動で追加する代わりに、次のようにyamlで追加することもできます。
- step:
type: Run
name: ostorlab scan
identifier: Run_1
spec:
shell: Bash
command: |-
python3 -m venv $HARNESS_WORKSPACE/venv
$HARNESS_WORKSPACE/venv/bin/pip install ostorlab
$HARNESS_WORKSPACE/venv/bin/ostorlab \
--api-key=<+secrets.getValue("OSTORLAB_API_KEY")> \
ci-scan run \
--title="$SCAN_TITLE" \
--scan-profile="$SCAN_PROFILE" \
android-apk $HARNESS_WORKSPACE/$APP_PATH
envVariables:
SCAN_TITLE: from harness ci
SCAN_PROFILE: fast_scan
APP_PATH: app.apk
追加オプション
以下は、`ostorlab ci-scan run` コマンドの全オプションのリストです。
ostorlab --api-key ci-scan run --option <asset-type> <target>
-
--api-key: Ostorlabが生成したAPIキー。
-
--title: スキャンタイトル。
-
--scan-profile: スキャンの種類。可能なオプションは次のとおりです。
- `fast`: 静的解析のみを実行します。
- `full`: 静的、動的、およびバックエンド解析を実行します。
-
テスト認証情報: 動的解析のフルスキャンにおける自動認証:
- --test-credentials-login: ログインフィールドで使用するユーザー名。
- --test-credentials-password: パスワードフィールドで使用するパスワード。
- --test-credentials-role: オプションのロールフィールド。
- カスタム/汎用テスト認証情報:
- --test-credentials-name: フィールドのカスタム名。
- --test-credentials-value: フィールドのカスタム値。
-
2FA認証情報:
- SMS 2FA:
- --sms-2fa-sender: SMS 2FAの詳細を見る
- Email 2FA:
- --email-2fa-sender-email-address, --email-2fa-email-address, --email-2fa-password: Email 2FAの詳細を見る
- TOTP 2FA:
- --totp-2fa-seed: TOTP 2FAの詳細を見る
- SMS 2FA:
-
--sbom: sbomファイルへのパス。sbomファイルも、ステップ3で指定したようにマウントする必要があります。
-
--ui-prompt-name: Ostorlab CLIに渡されるUIプロンプトの名前。
-
--ui-prompt-action: Ostorlab CLIに渡されるUIプロンプトのアクション。UIプロンプトは、自然言語を使用してアプリの操作方法をスキャナーに指示できる強力な機能です。引数を複数回追加することで、複数のプロンプトを追加できます。例:
--ui-prompt-name accept-terms --ui-prompt-action "Scroll down and tap the 'Accept Terms' checkbox." --ui-prompt-name submit --ui-prompt-action "Tap the 'Submit' button to complete the login process." -
--ui-prompt-id: Ostorlab CLIに渡される既存のUIプロンプトIDのリスト。これにより、以前に定義したUIプロンプトフローをそのIDによって再利用できます。引数を複数回追加することで、複数のプロンプトIDを追加できます。例:
--ui-prompt-id 123 --ui-prompt-id 456 -
asset-type: スキャンする資産の種類。可能な値:
- `android-aab`: Android `.AAB` パッケージファイルをスキャンします。
- `android-apk`: Android `.APK` パッケージファイルをスキャンします。
- `ios-ipa`: iOS `.IPA` パッケージファイルをスキャンします。
-
target: ターゲットアプリケーションへのパス。アプリケーションは、ステップ3で指定したようにマウントする必要があります。