跳转至

使用 SBOM 或 Lockfile 创建扫描

本指南将引导您完成上传软件物料清单(SBOM)或 Lockfile 的流程,以增强应用程序的扫描检测结果。 SBOM 是应用程序中使用的所有组件的详细清单。配合 SBOM 进行扫描可扩展对依赖项的检测覆盖范围。


创建扫描的步骤

1. 点击“New Scan”

首先点击顶部栏中的 New Scan 图标。

Top bar highlighting the 'New Scan' icon

2. 选择资产类型

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

Asset type selection showing Android and iOS options

3. 上传应用程序文件

将应用程序文件拖放到指定区域,或点击该区域选择文件。

Drag and drop area for the application file

4. 点击“Continue”

点击 Continue 按钮继续下一步。随后的 Extra Context 步骤为可选项:再次点击 Continue 即可跳过。

Continue button

5. 选择您的扫描配置文件

选择以下扫描配置文件之一,然后点击 Continue:

  • Fast Scan:仅进行静态检查,例如配置缺陷、过时依赖项、硬编码凭据与机密以及易受攻击的代码模式。
  • Full Scan:静态分析、动态分析以及后端漏洞检查。
  • Privacy Scan:识别隐私风险,包括泄露的敏感数据与配置错误。
  • Mobile Deep Agentic Scan:基于 AI 的渗透测试,用于挖掘复杂的业务逻辑缺陷与进行漏洞利用验证。
  • Mobile Single Vulnerability Assessment:通过针对性验证,确认可被利用的漏洞。
  • Mobile Shielding Scan:评估代码混淆、防篡改、反调试以及 Root 检测等防护措施。

Scan profile selection screen

6. 上传 SBOM 或 Lockfile

在 SBOM Files 步骤中,将您的 SBOM 或 Lockfile 拖放到上传区域,或点击该区域选择文件。支持的文件类型列在上传区域上方。

SBOM or lock file uploaded in the SBOM Files step

7. 配置可选步骤

接下来的步骤均为可选项。根据所选配置文件的不同,可能包括 Test Credentials、Advanced Settings、Prompts、Custom Checks 以及 Tags。

注意: 您的账户可能尚未启用自定义扫描 Agent 功能。有关启用自定义 Agent 以增强扫描功能的详细信息,请联系技术支持团队。

8. 开始扫描

点击右侧摘要面板中的 Start scan。Fast Scan 大约需要 20 分钟。

Start scan 按钮

9. 跟踪扫描

Scan created 消息确认扫描已创建。如需稍后重新打开扫描,请点击顶部栏中的 Scans 图标,并从列表中选择该扫描。

The scan in the scans list


10. 为 Android 生成 gradle lockfile

检查您的项目中是否存在 gradle.lockfile 文件。如果不存在,请按照以下步骤生成:

  • 将以下配置添加到您的 build.gradle.kts 或 build.gradle 文件中:
    dependencyLocking {
        lockAllConfigurations()
    }
    

Generate a gradle lockfile for Android

11. 生成 Flutter Lockfile

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

Generate the Flutter lock file

12. 为 Android、iOS 或 Flutter 生成 SBOM

当前有许多成熟的 SBOM 生成工具,能够简化列出应用程序所有组件的过程。 我们将使用 Syft 为 Android、iOS 或 Flutter 应用程序生成 SBOM。

在项目的根目录下输入 syft . -o {file_format},例如:

syft . -o spdx
Example output of SPDX SBOM for Android

支持的 SBOM/Lockfile

  • SPDX
  • CycloneDX
  • gradle.lockfile
  • pubspec.lock
  • buildscript-gradle.lockfile
  • pnpm-lock.yaml
  • package-lock.json
  • packages.lock.json
  • pom.xml
  • Gemfile.lock
  • yarn.lock
  • Cargo.lock
  • composer.lock
  • conan.lock
  • mix.lock
  • go.mod
  • requirements.txt
  • Pipfile.lock
  • poetry.lock