随着安全越来越重要,日常中我们对于自己开发的软件进行安全扫描同时作为一个常规化的任务是比较重要的,对于依赖组件
基于sbom+ dependencytrack 是一个很不错的选择,而且成本比较低,管理上比较强大,我们需要做的就是基于ci 工具,或者
通过cli 生成sbom,然后基于dependencytrack 提供的api 能力,将sbom 上传到dependencytrack 中,之后对应的安全预警以及
统计分析就都是自动化的了,简单高效,而且还是免费开源的,我们可以自己进行定制开发
参考图
集成简单说明
语句maven 以及npm 项目我们可以使用不同的工具,生成sbom,对于maven 可以直接结合cyclonedx-maven-plugin 插件,通过ci/cd 上直接可以结合dependencytrack
jenkins 插件,然后就可以自动将sbom 上传到dependencytrack 中了,对于npm 项目我们可以结合插件cyclonedx-node-npm 工具,然后再结合dependencytrack jenkins 插件将sbom 上传到dependencytrack中
参考效果
- npm 项目的
- java maven 项目
- jenkins 效果
说明
对于npm 注意生成的是否使用短地址,参考命令cyclonedx-npm --output-file bom.json --short-PURLs
. 否则会有提示超过255 长度的问题,当然github 上也有人提了类似问题,基于sbom +dependencytrack 是一个很不错的集成模式,简单方便,成本低
参考资料
https://docs.dependencytrack.org/
https://github.com/google/osv-scanner
https://www.npmjs.com/package/%40cyclonedx/cyclonedx-npm
https://github.com/CycloneDX/cyclonedx-node-npm
标签:npm,插件,dependencytrack,maven,sbom,组件,cyclonedx From: https://blog.51cto.com/rongfengliang/6144631