跳转至

TeamCity

使用 TeamCity 轻松将 Android 和 iOS 移动应用程序的 Ostorlab 自动化安全扫描集成到您的构建过程中。

使用方法:

生成 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):选择一个名称以将此构建步骤与其他步骤区分开来;
    • 选择 Custom script 作为运行类型 (Run type);
    • 添加以下命令作为 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
      • 选择 Linux 作为镜像平台 (Image platform);
      • 点击 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
    • 填写 Name,将 Kind 设置为 Configuration parameter,以及值和它的类型;
    • 点击 Save

    Add parameters

  5. 添加环境变量 您还可以添加环境变量供 ostorlab 命令使用,步骤与步骤 4 相同, 但选择 Environment variable (env.) 作为 Kind

    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:通过其 ID 引用现有的 UI 提示流。您可以添加多个 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 中指定的那样进行挂载。