使用 SBOM 或 Lockfile 创建扫描
本指南将引导您完成上传软件物料清单(SBOM)或 Lockfile 的流程,以增强应用程序的扫描检测结果。 SBOM 是应用程序中使用的所有组件的详细清单。配合 SBOM 进行扫描可扩展对依赖项的检测覆盖范围。
创建扫描的步骤
1. 点击“New Scan”
首先点击 Ostorlab 控制台中的 New Scan 按钮。

2. 选择资产类型
根据您的扫描目标选择 Android App 或 iOS App。支持的格式包括 .apk、.aab 以及 .ipa。

3. 上传应用程序文件
将应用程序文件拖放到指定区域。

4. 点击“Continue”
点击 Continue 按钮继续下一步。

5. 选择您的扫描配置文件
选择以下扫描类型之一:
- Fast Scan:仅进行静态检查,例如配置缺陷、过时依赖项、硬编码凭据与机密以及易受攻击的代码模式。
- Full Scan:静态分析、动态分析以及后端漏洞检查。
- Privacy Scan:识别隐私风险,包括泄露的敏感数据与配置错误。
- Mobile Deep Agentic Scan:基于 AI 的渗透测试,用于挖掘复杂的业务逻辑缺陷与进行漏洞利用验证。

6. 上传 SBOM 或 Lockfile
将您的 SBOM 或 Lockfile 拖放到指定的上传区域。

7. 点击“Continue”
点击 Continue 按钮继续下一步。

8. 自定义检查项(可选)
注意: 您的账户可能尚未启用自定义扫描 Agent 功能。有关启用自定义 Agent 以增强扫描功能的详细信息,请联系技术支持团队。
在此部分中,您可以选择可用的 Agent 并定义 Agent 分组,以实现高级扫描定制。

9. 提交扫描
点击“Custom Checks”部分底部的 Submit 按钮。
Fast Scan 通常在 1 小时内即可完成。您可以从扫描菜单访问并查看扫描结果。

10. 为 Android 生成 gradle lockfile
检查您的项目中是否存在 gradle.lockfile 文件。如果不存在,请按照以下步骤生成:
- 将以下配置添加到您的
build.gradle.kts或build.gradle文件中:dependencyLocking { lockAllConfigurations() }

11. 生成 Flutter Lockfile
检查您的项目中是否存在 pubspec.lock 文件。如果不存在,可以通过运行 flutter pub get 来生成。

12. 为 Android、iOS 或 Flutter 生成 SBOM
当前有许多成熟的 SBOM 生成工具,能够简化列出应用程序所有组件的过程。 我们将使用 Syft 为 Android、iOS 或 Flutter 应用程序生成 SBOM。
在项目的根目录下输入 syft . -o {file_format},例如:
syft . -o spdx
支持的 SBOM/Lockfile
SPDXCycloneDXgradle.lockfilepubspec.lockbuildscript-gradle.lockfilepnpm-lock.yamlpackage-lock.jsonpackages.lock.jsonpom.xmlGemfile.lockyarn.lockCargo.lockcomposer.lockconan.lockmix.lockgo.modrequirements.txtPipfile.lockpoetry.lock