当前位置: 首页 > news >正文

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

相关文章:

  • 疗愈服务预约小程序源码介绍
  • cesium之自定义地图与地图叠加
  • 卷积神经网络基础(五)
  • MySQL 表的内外连接
  • 数学复习笔记 3
  • 空间内任意点到直线和平面的距离推导
  • [Survey]Remote Sensing Temporal Vision-Language Models: A Comprehensive Survey
  • vue+tsc+noEmit导致打包报TS类型错误问题及解决方法
  • 【IP101】图像处理进阶:从直方图均衡化到伽马变换,全面掌握图像增强技术
  • Redis面试 实战贴 后面持续更新链接
  • Linux系统之shell脚本基础:条件测试、正整数字符串比较与if、case语句
  • C# Winforms 本地化 多语言支持 字符串资源
  • 如何管理两个Git账户
  • Android第六次面试总结之Java设计模式篇(一)
  • 使用VMware Workstation pro 17.5.1在Windows上安装Ubuntu 24.04.2的 详细步骤
  • 结合Hutool 突增突降检测的算法
  • javascript Map 和对象使用
  • 安卓基础(点击按钮动态添加视图到容器)
  • 单片机-STM32部分:5、STM32CubeMX实现HAL点灯
  • Leetcode Hot 100字母异位词分词
  • 两次蹚入同一条河,巴萨这一晚被命运抛弃
  • “鱼米之乡”江苏兴化的产业哲学:以融合与创新重构价值链条
  • 工人日报关注跟着演出去旅游:票根经济新模式兴起,让过路客变过夜客
  • 景点变回监狱,特朗普下令重新启用“恶魔岛”
  • 云南禄丰一尾矿干堆场坍塌致5人被埋
  • 建邦高科赴港上市,大股东陈子淳系山东建邦集团董事长陈箭之子