# 说明

本文主要介绍了 DevOps 通过集成 Dependency-Track,对应用工程依赖组件进行安全扫描的使用说明。

本文包括如下内容:


# 生成物料清单

# 命令行方式

# Maven 工程

Maven 项目生成 BOM 工具 (opens new window)

  • 下载源码
mkdir -p ~/code/maven
cd ~/code/maven
git clone http://{demo.com}/{project}/{maven-source-code}.git
  • 执行编译并生成 BOM
mvn clean package org.cyclonedx:cyclonedx-maven-plugin:makeAggregateBom -U -Dmaven.test.failure.ignore=true

生成的 BOM 文件(bom.json 以及 bom.xml)位于编译后生成的 target 目录下

# Npm 工程

npm 项目生成 BOM 工具 (opens new window)

  • 下载源码
mkdir -p ~/code/nodejs
cd ~/code/nodejs
git clone http://{demo.com}/{project}/{nodejs-source-code}.git
  • 安装 cyclonedx-npm
# 安装cyclonedx-npm
npm install --global @cyclonedx/cyclonedx-npm
  • npm install
cd {nodejs-source-code-dir}/
npm install --unsafe-perm
or
npm install --production
  • 生成 BOM
cd {nodejs-source-code-dir}/
# JSON格式
cyclonedx-npm --short-PURLs --output-format JSON --output-file bom.json -- package.json
# XML格式
cyclonedx-npm --short-PURLs --output-format XML --output-file bom.xml -- package.json

# 流水线方式

# Maven 工程

maven-project-1

maven-project-2

# Npm 工程

npm-project-1

npm-project-2


# 介质关联物料清单

# 手动方式

upload-bom-manual-mode-1

upload-bom-manual-mode-2

# 流水线方式

upload-bom-pipeline-mode-1

upload-bom-pipeline-mode-2

upload-bom-pipeline-mode-3

# 执行结果

正确上传 bom 文件后,可至集成-介质-详情-依赖处查看当前介质的依赖信息列表:

dependencies-1

dependencies-2


# 执行 DT 安全扫描

# 配置平台参数

参数名称 参数说明
DependencyTrack.ApiServerUrl 调用Dependency Track REST APIs的服务器地址
DependencyTrack.ApiKey 调用Dependency Track REST APIs时用的API Key

dependency-track-platform-parameter


# 手动方式

manual-mode-1

manual-mode-2


# 流水线方式

注意: 生成的报告最终与介质关联,因此在 DependencyTrack 介质依赖扫描这个原子任务的前置流程中必须添加介质发布相关原子任务!

原子任务配置说明请参考 Dependency-Track 介质扫描

pipeline-mode-1

pipeline-mode-2

pipeline-mode-3

pipeline-mode-4


# 安全报告

成功执行完 Dependency-Track 安全扫描后,可至以下地方查看介质的风险报告信息:

  • 当前流水线实例详情的安全合规信息 Sheet 页下

report-4

  • 介质详情-安全合规信息

report-1

  • 安全-制品安全-DependencyTrack

report-2

report-3

上次更新: 2023-4-7 11:44:26