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包列表

相关推荐
小赖同学啊2 小时前
基于区块链的物联网(IoT)安全通信与数据共享的典型实例
物联网·安全·区块链
安全系统学习9 小时前
网络安全之SQL RCE漏洞
安全·web安全·网络安全·渗透测试
hanniuniu1315 小时前
AI时代API挑战加剧,API安全厂商F5护航企业数字未来
人工智能·安全
zhulangfly15 小时前
API接口安全-1:身份认证之传统Token VS JWT
安全
时时三省17 小时前
【时时三省】vectorcast使用教程
安全·安全架构
galaxylove17 小时前
Gartner发布最新指南:企业要构建防御性强且敏捷的网络安全计划以平衡安全保障与业务运营
网络·安全·web安全
PeterJXL18 小时前
Chrome 下载文件时总是提示“已阻止不安全的下载”的解决方案
前端·chrome·安全
BenSmith1 天前
CVE-2025-6554漏洞复现
安全
BenSmith1 天前
CVE-2018-17463复现
安全
lsec1 天前
内存加载带有TLS的DLL的问题分析
windows·安全