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

相关推荐
一切皆是因缘际会1 小时前
AI技术新风口:边缘计算与智能体协同,解锁产业落地新范式
大数据·人工智能·安全·ai·架构·语音识别
JiaWen技术圈1 小时前
网站开发中登录与注册安全防范完整指南
安全
mzhan0172 小时前
Linux: config: CRYPTO_USER_API_AEAD
linux·安全·module
想你依然心痛2 小时前
HarmonyOS 6(API 23)实战:基于悬浮导航、沉浸光感与HMAF的“代码哨兵“——AI智能体代码安全审计平台
人工智能·安全·harmonyos·智能体
ze^03 小时前
Day01 Web应用&架构搭建&域名源码&站库分离&MVC模型&解析受限&对应路径
安全·web安全·架构·mvc·安全架构
轻口味3 小时前
HarmonyOS 6.1 全栈实战录 - 09 极光底座:ArkWeb 6.1 性能、安全与视觉插帧全特性深度实战
pytorch·安全·harmonyos
Paranoid-up3 小时前
安全启动和安全固件更新(SBSFU)11:保护链:开发 / 量产 / SECURE_LOCK 三种模式
安全·iap·安全启动·安全升级·sbsfu
TOWE technology4 小时前
同为科技雷电防护产品,构筑全场景电气安全防线
网络·科技·安全·防雷产品·防雷工程·防雷施工·防雷设计
2601_957787584 小时前
短视频矩阵风控对抗技术:星链引擎的账号安全防护体系深度解析
线性代数·安全·矩阵
@insist1235 小时前
信息安全工程师-测评核心知识框架与关键流程(下篇)
网络·安全·软考·信息安全工程师·软件水平考试