コンテンツにスキップ

TeamCity

AndroidおよびiOSモバイルアプリケーション向けのOstorlab自動セキュリティスキャンを、TeamCityを使用してビルドプロセスに簡単に統合できます。

使用方法:

Ostorlab APIキーの生成

  1. API keysメニューに移動します。
  2. 「new」ボタンをクリックして新しいキーを生成します。
  3. APIキーをコピーします(キーに名前と有効期限を追加できます)。
  4. 保存ボタンをクリックしてキーを保存します。

Api key Step1

TeamCityでOstorlabをコマンドラインステップ(Command Line Step)として追加する

  1. TeamCityプロジェクト設定に移動し、新しいビルドステップ(build step)を追加します。

    Add a new build step

  2. Command Line Runnerを選択します。 Command line step

  3. ステップ設定を入力します。

    • ステップ名(Step name): このビルドステップを他のステップと区別するための名前を選択します。
    • 実行タイプ(Run type)として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.apk
        
        destination_pathが前に定義したostorlab ci-scan runコマンドと同じであることを確認してください。

    Step configuration

  4. ステップパラメータを追加します。 例:前のコマンドは--title=%Scan_Title%というパラメータを使用していますが、これは次のように定義できます。

    • Parametersをクリックします。
    • Add new parameterをクリックします。
    • NameKindConfiguration parameterとして)、値、およびそのタイプを入力します。
    • Saveをクリックします。

    Add parameters

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

    Add env variables

すべてのパラメータ: All Parameters

追加オプション

以下は、ostorlab ci-scan runコマンドのオプションの完全なリストです。

    ostorlab --api-key ci-scan run --option <asset-type> <target>
  • --api-key: Ostorlabが生成したAPIキー。

  • --title: スキャンのタイトル。

  • --scan-profile: スキャンのタイプ。可能なオプションは以下の通りです。

    1. fast_scan: 静的解析のみを実行します。
    2. full_scan: 静的、動的、およびバックエンド解析を実行します。
  • テスト認証情報(Test credentials): 動的解析のフルスキャンでの自動認証:

    • --test-credentials-login: ログインフィールドで使用されるユーザー名。
    • --test-credentials-password: パスワードフィールドで使用されるパスワード。
    • --test-credentials-role: オプションのロールフィールド。
    • カスタム/一般的なテスト認証情報:
      • --test-credentials-name: フィールドのカスタム名。
      • --test-credentials-value: フィールドのカスタム値。
  • 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
      
  • asset-type: スキャンするアセットのタイプ。可能な値:

    • android-aab: Androidの.AABパッケージファイルをスキャンします。
    • android-apk: Androidの.APKパッケージファイルをスキャンします。
    • ios-ipa: iOSの.IPAパッケージファイルをスキャンします。
  • target: ターゲットアプリケーションへのパス。アプリケーションはステップ3で指定したようにマウントする必要があります。