freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

软件供应链安全工具DependencyTrack的使用
2021-06-09 17:25:21

*本工具仅供技术分享、交流讨论,严禁用于非法用途。

DependencyTrack 是一个开源的软件供应链组件分析平台,使组织能够识别和减少使用第三方和开源组件的风险。它通过利用软件物料清单(SBOM,Software Bill-of-Materials)的功能采取了独特方法。这种方法提供了传统软件组成分析(SCA)解决方案无法实现的功能。Dependency-Track 监视产品组合中每个应用程序所有版本的组件使用情况,以便主动识别整个组织的风险。该平台采用API优先设计,非常适合在持续集成和持续交付(CI/CD)环境中使用。

DependencyTrack 官方地址:https://dependencytrack.org/

安装部署

DependencyTrack支持Docker方式部署,可以快速搭建使用环境。

初始化启动

首次启动 Dependency-Track 时,会发生多项任务,包括:

生成默认对象,例如用户,团队和权限。

生成用于 JWT 令牌创建和验证的密钥。

填充 CWE 和 SPDX 许可证数据。

初始化镜像所有受支持的漏洞数据源。

初始化镜像可能需要 10 到 30 分钟或更长时间。不要中断该过程。在关闭系统之前,请等待所有镜像任务的完成。可以通过查看 “dependency-track.log” 来监视这些任务。初始化完成后查看_data/.dependency-track/目录,已经生成数据库文件(*.db)和一些漏洞库文件(nist/*.json)。

1623226875_60c079fb5e328ef00461a.png!small

Dependency-Track使用

1. 检查软件依赖的基本步骤

1)生成SBOM(软件物料清单)

2)提交SBOM到DependencyTrack

3)在DependencyTrack中查看分析结果

2. 生成SBOM(软件物料清单)

以json-iterator项目为例(Java和Go中可用的快速灵活的JSON解析器 )根据官方的推荐使用CycloneDX BOMs,本次实验使用cyclonedx-maven-plugin 插件生成bom.xml文件。

1)json-iterator目录结构如下,使用pom.xml(项目对象模型)生成Bom.xml.

1623227180_60c07b2ca99993279f2cc.png!small

2)在pom.xml中<plugins>标签中添加cyclonedx-maven-plugin 插件。内容如下:

<plugin>

<groupId>org.cyclonedx</groupId>

<artifactId>cyclonedx-maven-plugin</artifactId>

<version>2.5.1</version>

<executions>

<execution>

<phase>package</phase>

<goals>

<goal>makeAggregateBom</goal>

</goals>

</execution>

</executions>

<configuration>

<projectType>library</projectType>

<schemaVersion>1.3</schemaVersion>

<includeBomSerialNumber>true</includeBomSerialNumber>

<includeCompileScope>true</includeCompileScope>

<includeProvidedScope>true</includeProvidedScope>

<includeRuntimeScope>true</includeRuntimeScope>

<includeSystemScope>true</includeSystemScope>

<includeTestScope>false</includeTestScope>

<includeLicenseText>false</includeLicenseText>

<outputFormat>all</outputFormat>

<outputName>bom</outputName>

</configuration>

</plugin>

3)mvn命令生成bom.xml

1623227513_60c07c794b2b9fb3e6598.png!small

3. 提交SBOM到DependencyTrack

1)创建项目

1623227770_60c07d7a0dba2aacec76b.png!small

2). 上传bom.xml

1623227908_60c07e04ef4d683fb568c.png!small

4. DependencyTrack中查看分析结果

通过Audit Vulnerabilities查看分析结果,严重:22个,高危35个,中危3个,低危0个。

1623228048_60c07e9029bb3c347ac33.png!small

# web安全 # 软件供应链 # 开源组件安全 # DependencyTrack
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录