跳转至

Bitrise 集成指南

轻松将适用于 Android 移动应用程序的 Ostorlab 自动化安全扫描集成到您的 Bitrise CI 管道中。


生成 Ostorlab API 密钥

  1. 导航至 API 密钥菜单
  2. 点击 New 按钮以生成新密钥
  3. 复制 API 密钥(您可以为密钥添加名称和过期日期)
  4. 点击 Save 按钮以保存您的密钥

API 密钥创建


将 API 密钥添加为 Bitrise Secret

  1. 打开您的 Bitrise 项目
  2. 前往 Workflow Editor
  3. 导航至 Secrets
  4. 添加一个新的 secret:

  5. 保存该 secret。

添加 Bitrise secret


添加环境变量

您可以为扫描配置其他参数。

环境变量


添加 Bitrise 工作流程阶段

  1. 前往 Workflow Editor
  2. 选择您想要在其中运行扫描的工作流程(例如,`primary`)
  3. 点击 Add Step
  4. 搜索 Script
  5. 选择 Script 步骤将其添加到工作流程中

添加 Script 步骤


配置 Script 步骤

  1. Script 步骤中,选择 Custom Script
  2. 将下一节中的脚本粘贴到 Script content 字段中
  3. 保存工作流程

配置 Script 步骤


添加 Ostorlab 脚本

在 Script 步骤中添加以下 bash 脚本:

#!/bin/bash
set -e

python3 -m pip install --upgrade pip
pip install ostorlab

ostorlab \
  --api-key="$API_KEY" \
  ci-scan run \
  --title="$Scan_Title" \
  --scan-profile="$SCAN_PROFILE" \
  android-apk "$BITRISE_APK_PATH"

附加选项

以下是 `ostorlab ci-scan run` 命令的完整选项列表:

ostorlab --api-key <API_KEY> ci-scan run --option <asset-type> <target>
  • --api-key:Ostorlab 生成的 API 密钥。

  • --title:扫描标题

  • --scan-profile:扫描类型。可用选项包括:

    1. `fast`:仅运行静态分析;
    2. `full`:运行静态、动态和后端分析。
  • 测试凭据:全扫描动态分析中的自动身份验证:

    • --test-credentials-login:要在登录字段中使用的用户名;
    • --test-credentials-password:要在密码字段中使用的密码;
    • --test-credentials-role:可选的角色字段;
    • 自定义/通用测试凭据:
      • --test-credentials-name:字段的自定义名称;
      • --test-credentials-value:字段的自定义值
  • 2FA 凭据:

  • --sbom:sbom 文件的路径。sbom 文件也应按步骤 3 中指定的那样挂载。

  • --ui-prompt-name:传递给 Ostorlab CLI 的 UI 提示的名称。

  • --ui-prompt-action:传递给 Ostorlab CLI 的 UI 提示的操作。UI 提示是一项强大的功能,允许您使用自然语言告诉扫描器如何导航应用程序。您可以通过多次添加参数来添加多个提示,例如: ```shell --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 列表。这允许您通过其 ID 重用先前定义的 UI 提示流。您可以通过多次添加参数来添加多个提示 ID,例如: ```shell --ui-prompt-id 123 --ui-prompt-id 456 ```

  • asset-type:要扫描的资产类型。可能的值:

    • `android-aab`:扫描 Android `.AAB` 包文件;
    • `android-apk`:扫描 Android `.APK` 包文件;
    • `ios-ipa`:扫描 iOS `.IPA` 包文件;
  • target:目标应用程序的路径。应用程序应按步骤 3 中指定的那样挂载。