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

相关推荐
烟雨书信12 小时前
安全运维和系统安全
运维·安全
深盾科技14 小时前
鸿蒙ABC开发中的名称混淆与反射处理策略:安全与效率的平衡
安全·华为·harmonyos
Zero_Era16 小时前
LKT4202UGM重新定义物联网设备安全标准
物联网·安全·嵌入式
中科固源16 小时前
低空飞行安全“把关人”,MH/T 4055.3-2022 测试标准深度解读
安全·低空安全
老马啸西风16 小时前
sensitive-word 敏感词性能提升14倍优化全过程 v0.28.0
安全·开源·nlp·word·敏感词·sensitive-word
DreamLife☼20 小时前
工业领域 ACP 协议全解析:从入门到实战案例
网络·安全·ai·工业·行为·acp·管控
久绊A21 小时前
如何在Kali Linux官网下载历史版本
安全·web安全
代码的余温21 小时前
SQL Server全链路安全防护
数据库·安全·sqlserver
数据库安全21 小时前
实力登榜!美创科技荣膺数说安全《2025中国网络安全企业100强》
科技·安全·数据安全
三味神风1 天前
Linux系统安全加固:构建云计算安全的第一道防线
安全·云计算·系统安全