欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

dependency-track 初始化源码解析

发布时间:2023/12/20 46 豆豆
生活随笔 收集整理的这篇文章主要介绍了 dependency-track 初始化源码解析 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

因项目的关键因素,需查看dependency-check源码流程。个人学习用。自己读代码可以根据web.xml的几个listener来debug。

1、org.dependencytrack.RequirementsVerifier 校验java版本,内存等运行时环境。

2、org.dependencytrack.upgrade.UpgradeInitializer作用 create 数据库并生成表结构,并将db文件放置在指定或者默认的目录下,默认的目录(~/.dependency-track),然后检验当前机器H2数据库的版本,根据不同的版本进行升级操作。

3、org.dependencytrack.event.EventSubsystemInitializer 为不同的事件注册不同的定时器,然后初始化org.dependencytrack.tasks.TaskScheduler,定义调用频率和延迟时间后执行若干个event。

4、org.dependencytrack.persistence.DefaultObjectGenerator,执行IndexEvent,NistEvent等,在服务器的bin目录下生成~/.dependency-track/index文件夹,并下载生成对应文件。

然后初始化H2默认数据(Permissions,Personas(用户密码和team,admin,admin),License(遍历解析resources目录下的license-list-data.json的details目录和exception目录),Repositories(一些库的url等配置信息),NotificationPublisher(模板格式),ConfigProperties(代码中的常量配置信息),解析resources/nist/cwec_v3.3.xml,并将解析的cwe信息(共1188条)保存(cweId和name))

 

Task解析:

NistMirrorTask : 下载cve.json到服务器的默认nist目录下

MetricsUpdateTask :

1、更新project的Metric信息,比如组件的数量,license的数量等(1小时1次)

2、更新Vulnerabilities的Metric信息,按年月日统计的Vulnerabilities的数量等(1小时1次)

 

VulnerabilityAnalysisTask :

1、更新漏洞信息,来源cpe,Npm,Oss,VulnDb(6小时1次)

总结

以上是生活随笔为你收集整理的dependency-track 初始化源码解析的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。