dependency-track 初始化源码解析
因項(xiàng)目的關(guān)鍵因素,需查看dependency-check源碼流程。個(gè)人學(xué)習(xí)用。自己讀代碼可以根據(jù)web.xml的幾個(gè)listener來(lái)debug。
1、org.dependencytrack.RequirementsVerifier 校驗(yàn)java版本,內(nèi)存等運(yùn)行時(shí)環(huán)境。
2、org.dependencytrack.upgrade.UpgradeInitializer作用 create 數(shù)據(jù)庫(kù)并生成表結(jié)構(gòu),并將db文件放置在指定或者默認(rèn)的目錄下,默認(rèn)的目錄(~/.dependency-track),然后檢驗(yàn)當(dāng)前機(jī)器H2數(shù)據(jù)庫(kù)的版本,根據(jù)不同的版本進(jìn)行升級(jí)操作。
3、org.dependencytrack.event.EventSubsystemInitializer 為不同的事件注冊(cè)不同的定時(shí)器,然后初始化org.dependencytrack.tasks.TaskScheduler,定義調(diào)用頻率和延遲時(shí)間后執(zhí)行若干個(gè)event。
4、org.dependencytrack.persistence.DefaultObjectGenerator,執(zhí)行IndexEvent,NistEvent等,在服務(wù)器的bin目錄下生成~/.dependency-track/index文件夾,并下載生成對(duì)應(yīng)文件。
然后初始化H2默認(rèn)數(shù)據(jù)(Permissions,Personas(用戶密碼和team,admin,admin),License(遍歷解析resources目錄下的license-list-data.json的details目錄和exception目錄),Repositories(一些庫(kù)的url等配置信息),NotificationPublisher(模板格式),ConfigProperties(代碼中的常量配置信息),解析resources/nist/cwec_v3.3.xml,并將解析的cwe信息(共1188條)保存(cweId和name))
?
Task解析:
NistMirrorTask : 下載cve.json到服務(wù)器的默認(rèn)nist目錄下
MetricsUpdateTask :
1、更新project的Metric信息,比如組件的數(shù)量,license的數(shù)量等(1小時(shí)1次)
2、更新Vulnerabilities的Metric信息,按年月日統(tǒng)計(jì)的Vulnerabilities的數(shù)量等(1小時(shí)1次)
?
VulnerabilityAnalysisTask :
1、更新漏洞信息,來(lái)源cpe,Npm,Oss,VulnDb(6小時(shí)1次)
總結(jié)
以上是生活随笔為你收集整理的dependency-track 初始化源码解析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【python】os模块 递归删除文件夹
- 下一篇: php导出excel 繁体,php导出e