Ostorlab 与 GitLab 集成
在本指南中,我们将探讨如何轻松地将针对 Android 和 iOS 移动应用程序的 Ostorlab 自主安全测试集成到您的 gitlab 构建流程中。
生成新的 API 密钥
第一步是生成一个 API 密钥。为此,只需遵循以下步骤:
前往 report.ostorlab.co
点击 Menu 按钮

点击 Integrations/API 以展开

点击 API Keys

点击 New 生成新的 API 密钥

复制 API 密钥。您还可以为密钥添加名称和到期日期。

不要忘记点击保存(save)按钮来保存您的密钥。

创建 Gitlab-CI 流水线:
可用于您的 .gitlab-ci.yml 的示例
stages:
- build
- test
build:
stage: build
script:
- Pre steps to build
- ./gradlew assembleDebug
artifacts:
paths:
- app/build/outputs/
runScanOstorlab:
stage: test
image: ostorlab/gitlab-ci
variables:
OSTORLAB_FILE_PATH: app/build/outputs/apk/debug/app-debug.apk
OSTORLAB_PLATFORM: android
OSTORLAB_UI_PROMPT_NAMES: "shop;profile;cart;settings"
OSTORLAB_UI_PROMPT_ACTIONS: "search for a product named 'laptop' and add it to cart;open the profile tab and update email;review cart and proceed to checkout;open settings and enable notifications"
OSTORLAB_UI_PROMPT_IDS: "123;456"
script:
- run_ostorlab.sh
必需的环境变量
OSTORLAB_API_KEY=API_KEY- 指定您的 API 密钥OSTORLAB_FILE_PATH=FILE_PATH- 指定 Android apk 或 IOS ipa 的路径OSTORLAB_PLATFORM=PLATFORM- 指定平台,android 或 ios
可选的环境变量
以下是可以从环境变量中设置的可选参数:
OSTORLAB_PLAN=free or static_dynamic_backend- 指定您的扫描计划(免费的社区扫描使用 free,全面分析使用 static_dynamic_backend)。OSTORLAB_TITLE=My Title- 指定扫描标题。OSTORLAB_WAIT_FOR_RESULTS=true- 如果您想等待扫描完成并检索结果,请设置为 true。OSTORLAB_WAIT_MINUTES=30- 指定等待的分钟数 DEFAULT=30min。OSTORLAB_BREAK_BUILD_ON_SCORE=true- 设置为 true 以在扫描风险评级(risk rating)高于阈值时生成异常。OSTORLAB_RISK_THRESHOLD=medium- 指定您的风险评级(risk rating)阈值。OSTORLAB_UI_PROMPT_NAMES- 一个由分号分隔的 UI 提示(UI prompt)名称列表。例如:shop;profile;cart;settings。每个名称都按位置对应OSTORLAB_UI_PROMPT_ACTIONS中的一个操作。OSTORLAB_UI_PROMPT_ACTIONS- 一个由分号分隔的 UI 提示操作列表。例如:search for a product named "laptop" and add it to cart;open the profile tab and update email;review cart and proceed to checkout;open settings and enable notifications。每个操作都按位置对应OSTORLAB_UI_PROMPT_NAMES中的一个名称。OSTORLAB_UI_PROMPT_IDS- 一个由分号分隔的 UI 提示流 ID 列表,用于重用现有的提示流。例如:123e4567-e89b-12d3-a456-426614174000;abcdef12-3456-7890-abcd-ef1234567890。您可以除了名称/操作变量之外或者代替它们使用此项。可以提供多个 ID。 注意: 名称和操作的数量必须匹配,并且每一对名称/操作都是基于位置对应的。您可以将名称/操作和 ID 变量结合在一起使用。
在 Gitlab 流水线中添加环境变量
要在您的 Gitlab 流水线中添加环境变量,请导航至 Settings,然后进入 CI/CD,接着跳至 Variables 部分为您的流水线添加环境变量,如下所示:

之后,您可以看到变量被添加到了变量列表中。

当作业完成后,如果您选择等待扫描结果并在风险评级高于阈值时中断,那么如果其风险评级等于或高于阈值,作业可能会失败。否则,作业将成功,并显示一行指示扫描风险评级的文本。

本指南涵盖了将针对 Android 和 iOS 移动应用程序的 Ostorlab 自主安全测试有效且轻松地集成到您的 gitlab 构建流程中所需的步骤。