使用 Concert 工具包
IBM® Concert工具包提供了一系列软件开发工具、实用程序和模板,可简化数据生成并自动上传到 Concert。
概述
Concert 基于从上载的 SBOM 文件中摄取的数据,或通过与企业的第三方工具和服务集成,提供对应用前景的全面了解。 Concert 工具包简化了以支持格式生成、验证和上传 SBOM 文件的过程。 该工具包包括一套可简化常见任务的实用程序,例如通过与 CI/CD 管道集成自动摄取 SBOM 数据和漏洞扫描的脚本。 请参考以下文件夹,访问 Concert 工具包和实用程序所需的资源:
Concert工具包可作为一个容器映像在一个可公开访问的容器注册表中使用。 该镜像包括与 Concert 交互所需的脚本,其设计目的是通过在容器内执行命令来作为独立容器运行。 运行工具包容器需要容器运行时,如 Docker 或 Podman。
您可以使用工具包和实用程序执行以下任务:
- 使用
cdxgen工具从代码库生成 CycloneDX 格式的软件包 SBOM,或使用syft工具生成容器映像。 - 使用
sbom-utility工具验证软件包 SBOM 文件。 - 以自定义 Concert 定义的格式生成应用程序、构建和部署 SBOM 文件。
- 验证 Concert 定义的 SBOM 文件。
- 以自定义 Concert-defined 格式生成证书清单文件。
- 将 CSV/XLSX 文件转换为 OSCAL 目录 JSON 文件。
- 将 SBOM 文件和漏洞扫描上传至 Concert。
注意:工具包提供了生成 CycloneDX SBOM 文件的基本方法。 对于更高级的情况,可直接在容器中使用 cdxgen 和 syft 。 确保将生成的文件输出到
/toolkit-data 目录,以便退出容器后在主机上访问这些文件。 请参阅 工具包实用程序列表下的挂载选项。下载工具箱
该Concert工具包在可公开访问的IBM Cloud Container Registryicr.io) 中提供,可使用Docker或Podman 等容器运行时下载。 您还可以设置TOOLKIT_IMAGE环境变量,以便以后使用。 例如:
export TOOLKIT_IMAGE="icr.io/cpopen/ibm-concert-toolkit:v1.1.0"
docker pull ${TOOLKIT_IMAGE}导出工具包前缀命令
运行工具包容器需要容器运行时,如 Docker 或 Podman。
如果使用
code-scan,则导出变量HOST_DIR_SRC_CODE。 在export命令中替换为源代码目录的路径,以允许容器访问位于/data/src 目录中的代码。export HOST_DIR_SRC_CODE=<HOST-DIR-SRC-CODE>为了向工具包提供必要的输入文件和访问工具包生成的文件,需要在主机系统上选择一个目录挂载到容器内。 这是所有公用事业公司的要求。 要导出变量HOST_DIR_TOOLKIT_DATA,请使用以下命令。 您可以将导出命令中的原始目录替换为主机上的任意目录。 验证目录是否具有所有读取、写入和执行权限(可通过运行chmod 777
${HOST_DIR_TOOLKIT_DATA} 来实现)。
export HOST_DIR_TOOLKIT_DATA=<HOST-DIR-TOOLKIT-DATA>使用以下命令将工具包前缀命令导出到环境变量TOOLKIT_PREFIX_CMD。 使用该变量运行后续工具包命令。
export TOOLKIT_PREFIX_CMD="docker run \
-v ${HOST_DIR_SRC_CODE}:/data/src \
-v ${HOST_DIR_TOOLKIT_DATA}:/toolkit-data \
--rm \
${TOOLKIT_IMAGE} \
/bin/bash -c"-v ${HOST_DIR_SRC_CODE}:/data/src将源代码目录从主机挂载到容器中。 只有在code-scan工具扫描源代码时才需要这样做。-v ${HOST_DIR_TOOLKIT_DATA}:/toolkit-data将主机目录从变量 $ {HOST_DIR_TOOLKIT_DATA} 挂载到容器的 /toolkit-data 目录中。/toolkit-data是容器中的所需目录。--rm用于在退出后移除容器。 这不是必须的,但通常被认为是清理空间的最佳做法。- {TOOLKIT_IMAGE}是一个变量,包含公共IBM Cloud Container Registry中工具包容器的镜像名称和标记。
/bin/bash -c使用 bash 在容器中运行指定命令。 确保-c之后的内容都用双引号括起来。 参考示例。
注意:如果遇到权限相关问题,请在 export 命令中添加参数
-u 0:0 以根用户身份运行容器。下载示例配置文件
工具包为 Concert 实用程序提供了示例配置文件。 如果要生成自己的配置文件,可以参考这些文件。
将工具包前缀 ${TOOLKIT_PREFIX_CMD} 导出为环境变量后,运行以下命令将示例配置文件复制到 TOOLKIT_DIR 目录:
${TOOLKIT_PREFIX_CMD} "cp -rL /app/samples /toolkit-data"
下载的示例文件位于主机上 TOOLKIT_DIR 目录下名为 samples 的子目录中。