TeamCity
AndroidおよびiOSモバイルアプリケーション向けのOstorlab自動セキュリティスキャンを、TeamCityを使用してビルドプロセスに簡単に統合できます。
使用方法:
Ostorlab APIキーの生成
- API keysメニューに移動します。
- 「new」ボタンをクリックして新しいキーを生成します。
- APIキーをコピーします(キーに名前と有効期限を追加できます)。
- 保存ボタンをクリックしてキーを保存します。

TeamCityでOstorlabをコマンドラインステップ(Command Line Step)として追加する
-
TeamCityプロジェクト設定に移動し、新しいビルドステップ(build step)を追加します。
-
Command LineRunnerを選択します。
-
ステップ設定を入力します。
- ステップ名(Step name): このビルドステップを他のステップと区別するための名前を選択します。
- 実行タイプ(
Runtype)としてCustom scriptを選択します。 - 以下のコマンドを
Custom scriptとして追加します。オプションの完全なリストについては、以下のostorlab --api-key=%env.OSTORLAB_API_KEY% ci-scan run --title=%Scan_Title% --scan-profile=%env.SCAN_PROFILE% android-apk /tmp/OstorlabInsecureApp.apk追加オプションを確認してください。 - ステップはostorlabコンテナ内で実行される必要があります。
Run step within containerフィールドにostorlab/oxo:latestを追加します。Image platformとしてLinuxを選択します。Additional run argumentsステップでEdit argumentsをクリックします。- アプリケーションをostorlabコンテナにマウントします(
-v source_path:destination_path)。-v /opt/buildagent/work/OstorlabInsecureApp.apk:/tmp/OstorlabInsecureApp.apkdestination_pathが前に定義したostorlab ci-scan runコマンドと同じであることを確認してください。

-
ステップパラメータを追加します。 例:前のコマンドは
--title=%Scan_Title%というパラメータを使用していますが、これは次のように定義できます。Parametersをクリックします。Add new parameterをクリックします。Name、Kind(Configuration parameterとして)、値、およびそのタイプを入力します。Saveをクリックします。

-
環境変数を追加します。 ステップ4と同様の手順に従って、
ostorlabコマンドで使用する環境変数を追加することもできますが、KindとしてEnvironment variable (env.)を選択します。
すべてのパラメータ:

追加オプション
以下は、ostorlab ci-scan runコマンドのオプションの完全なリストです。
ostorlab --api-key ci-scan run --option <asset-type> <target>
-
--api-key: Ostorlabが生成したAPIキー。
-
--title: スキャンのタイトル。
-
--scan-profile: スキャンのタイプ。可能なオプションは以下の通りです。
fast_scan: 静的解析のみを実行します。full_scan: 静的、動的、およびバックエンド解析を実行します。
-
テスト認証情報(Test credentials): 動的解析のフルスキャンでの自動認証:
- --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プロンプト (UI Prompts) (オプション): Ostorlabは、アプリのUIを通じてスキャナーをガイドするためのUIプロンプトをサポートしています。以下を使用できます:
- --ui-prompt-name および --ui-prompt-action: 名前とアクションを指定して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: 既存のUIプロンプトフローをIDで参照します。複数のIDを追加できます。例:
--ui-prompt-id 123 --ui-prompt-id 456
- --ui-prompt-name および --ui-prompt-action: 名前とアクションを指定してUIステップを定義します。ステップのシーケンスに複数のペアを追加できます。例:
-
asset-type: スキャンするアセットのタイプ。可能な値:
android-aab: Androidの.AABパッケージファイルをスキャンします。android-apk: Androidの.APKパッケージファイルをスキャンします。ios-ipa: iOSの.IPAパッケージファイルをスキャンします。
-
target: ターゲットアプリケーションへのパス。アプリケーションはステップ3で指定したようにマウントする必要があります。