随着 Code Risk Analyzer(CRA)被 弃用,Syft 和 Grype 扫描已成为生成 SBOM 的替代方案。 请参阅 “退出代码风险分析器(CRA)扫描” 以禁用 CRA 物料清单(BOM)的生成。
配置 CRA SBOM 生成
代码风险分析器 SBOM(软件物料清单)是代码风险分析器(CRA)工具生成的软件项目中所有组件、依赖关系和许可证的结构化清单。 CRA SBOM 遵循 CycloneDX 或 SPDX 标准,有助于确保互操作性和准确的软件供应链可视性。
要了解有关 SBOM 的更多信息,请参阅 软件物料清单。
有关 IBM Enterprise 用户使用 CRA SBOM 的更多信息,请参阅 CRA SBOM 概述。
生成 CRA SBOM
CRA SBOM 参数
下表列出的管道环境属性用于自定义 CRA SBOM 的生成。
| 参数名称 | 说明 | 参数值 |-|-| | cra-custom-script-path | CRA 扫描前要运行的自定义脚本的路径。 该脚本的目的是提供在 CRA BOM 工具中设置环境变量的选项 |
cra-docker-build-context | 如果指定了这个标志,代码风险分析器就会使用路径参数中的目录作为 docker 构建上下文。 默认值为 false。| |
cra-docker-buildflags | 定制用于构建阶段扫描的 docker 构建命令。 该参数的默认值为空。| |
cra-dockerfile-pattern | 能够以不同的命名约定添加 Dockerfile,如 enterprise-linux.Dockerfile| | |
cra-gradle-exclude-configs | 指定在扫描时要排除依赖的 Gradle 配置。 示例:runtimeClasspath,testCompileClasspath。 该参数的默认值为空。| | cra-ibmcloud-api-key | 覆盖 CRA 任务使用的 ibmcloud-api-key |
cra-maven-exclude-scopes | 指定在扫描时要排除依赖的 maven 作用域。 示例:test,compile。 该参数的默认值为空。| |
cra-nodejs-create-package-lock | 启用代码风险分析器发现功能,为 node.js repos 构建 package-lock.json 文件。 该参数默认设置为 false。|
证据和附件
DevSecOps 管道将证据上传到储物柜,并将证据纳入变更请求的证据摘要中。
| 字段 | 值 |
|---|---|
tool type |
cra-bom |
evidence type |
com.ibm.code_bom_check |
asset type |
repo |
attachments |
<native gitsecure SBOM> |
attachments |
<cycloneDX package SBOM> |
访问扫描结果
您可以使用以下方法访问扫描结果:
- 使用 DevSecOps/CoCoa CLI 命令行工具,利用阶段日志中打印的信息从证据柜下载扫描结果。 有关更多信息,请参阅以下资源: