Bitrise 集成指南
轻松将适用于 Android 移动应用程序的 Ostorlab 自动化安全扫描集成到您的 Bitrise CI 管道中。
生成 Ostorlab API 密钥
- 导航至 API 密钥菜单
- 点击 New 按钮以生成新密钥
- 复制 API 密钥(您可以为密钥添加名称和过期日期)
- 点击 Save 按钮以保存您的密钥

将 API 密钥添加为 Bitrise Secret
- 打开您的 Bitrise 项目
- 前往 Workflow Editor
- 导航至 Secrets
-
添加一个新的 secret:
-
保存该 secret。

添加环境变量
您可以为扫描配置其他参数。

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

配置 Script 步骤
- 在 Script 步骤中,选择 Custom Script
- 将下一节中的脚本粘贴到 Script content 字段中
- 保存工作流程

添加 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:扫描类型。可用选项包括:
- `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 提示是一项强大的功能,允许您使用自然语言告诉扫描器如何导航应用程序。您可以通过多次添加参数来添加多个提示,例如: ```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 中指定的那样挂载。