Dependency Track使用

前言

Dependency-Track 是 OWASP(开放网络应用安全项目)推出的 ​开源组件分析平台 ,专注于 ​软件供应链安全治理。它通过分析软件物料清单(SBOM)识别第三方组件中的漏洞、许可证风险等问题,帮助组织降低因依赖项带来的安全风险。以下是其核心功能和应用场景的详细说明:

  • 组件分析与漏洞管理

​SBOM 驱动分析:Dependency-Track 通过解析 CycloneDX 或 SPDX 格式的 SBOM 文件,自动识别项目使用的所有第三方组件(包括直接依赖和间接依赖),并比对 ​多个漏洞数据库​(如 NVD、Snyk、Sonatype OSS Index、VulnDB 等)以发现已知漏洞。

​优先级排序:结合漏洞利用预测评分系统(EPSS),帮助团队优先修复高风险漏洞。

  • 许可证合规性监控

自动检测组件许可证类型(如 GPL、MIT 等),识别潜在的合规风险(如传染性许可证),并提供合规建议。

  • 全局风险趋势追踪

提供可视化仪表盘,展示 ​跨项目的组件安全状态,例如漏洞数量趋势、高风险组件分布、许可证违规统计等,帮助安全团队制定全局治理策略。

  • 策略引擎与自动化治理

支持定义 ​安全策略​(如禁止使用特定许可证的组件、强制组件版本更新),并与 CI/CD 流程集成,在构建阶段自动拦截不合规的依赖项。

  • 集成与扩展能力

​API 优先设计:支持与 Jenkins、GitLab、Jira 等工具集成,实现自动化 SBOM 上传和漏洞通知。

​ 多语言支持:覆盖 Java、Python、JavaScript、.NET 等主流语言的依赖分析。

搭建Dependency Track:

下载地址如下:

复制代码
https://github.com/DependencyTrack/dependency-track?tab=readme-ov-file

其安装有两个方法,一个是本地部署,一个是docker

docker的很简单,几条命令就行

复制代码
# Pull the image from the Docker Hub OWASP repo
docker pull dependencytrack/bundled

# Creates a dedicated volume where data can be stored outside the container
docker volume create --name dependency-track

# Run the bundled container with 8GB RAM on port 8080
docker run -d -m 8192m -p 8080:8080 --name dependency-track -v dependency-track:/data dependencytrack/bundled

本地部署需要下载对应的jar文件

两个的区别如下

1. dependency-track-bundled.jar

dependency-track-bundled.jar 是一个包含所有依赖项的独立 JAR 文件,适合在没有额外依赖的情况下运行 Dependency Track。这个文件通常用于开发环境或简单的部署场景。

2. dependency-track-apiserver.jar

dependency-track-apiserver.jar 是 Dependency Track 的 API 服务器部分,通常用于生产环境。它需要与一个数据库(如 PostgreSQL)一起运行,并且可以配置为使用外部数据库。

我们使用dependency-track-bundled.jar即可

这里需要注意dependency-track-bundled.jar对应的jdk版本,我这里使用的版本如下

dependency-track-bundled.jar:4.13.1

jdk:jdk-24

命令如下:

复制代码
java -jar dependency-track-bundled.jar

运行后访问如下地址即可

复制代码
http://localhost:8080/login?redirect=%2Fprojects

默认初始密码是admin admin,第一次登录要修改密码

生成SBOM清单:

使用cdxgen生成对应的SBOM清单,cdxgen有多个版本可以使用

这里我使用如下版本的cdxgen-CycloneDX CLI

复制代码
https://github.com/CycloneDX/cdxgen

可以下载源码本地使用,也可以使用Node.js

复制代码
npm install -g @cyclonedx/cdxgen
cdxgen --version

安装成功可以看到

然后使用如下命令生成 SBOM

复制代码
cdxgen -r D:\input -o D:\output\bom.json --spec-version 1.6

执行成功后会生成bom.json

导入bom.json

生成成功后导入到Dependency-Track,新建项目处新建项目

然后选择Upload BOM即可上传之前生成的bom.json

上传成功后即可看到对应的jar包列表

相关推荐
用户962377954481 天前
DVWA 靶场实验报告 (High Level)
安全
数据智能老司机1 天前
用于进攻性网络安全的智能体 AI——在 n8n 中构建你的第一个 AI 工作流
人工智能·安全·agent
数据智能老司机1 天前
用于进攻性网络安全的智能体 AI——智能体 AI 入门
人工智能·安全·agent
用户962377954481 天前
DVWA 靶场实验报告 (Medium Level)
安全
red1giant_star1 天前
S2-067 漏洞复现:Struts2 S2-067 文件上传路径穿越漏洞
安全
用户962377954482 天前
DVWA Weak Session IDs High 的 Cookie dvwaSession 为什么刷新不出来?
安全
cipher3 天前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
一次旅行6 天前
网络安全总结
安全·web安全
red1giant_star6 天前
手把手教你用Vulhub复现ecshop collection_list-sqli漏洞(附完整POC)
安全
ZeroNews内网穿透6 天前
谷歌封杀OpenClaw背后:本地部署或是出路
运维·服务器·数据库·安全