在过往发行版的基础上,结合社区用户提供的大量反馈及研发小伙伴的积极探索,项目组对OpenSCA的解析引擎做了全方位的优化,v3.0.0版本正式发布啦~
感谢所有用户的支持和信任~是很多人的一小步聚在一起带着我们的OpenSCA走出了这一大步。之后,也希望越来越多的朋友可以和我们一起建设开源的开源风险治理方案。
更新内容
①Java及JS解析逻辑更上一层楼
②支持通过SBOM清单直接输出漏洞及许可证清单
③支持生成DSDX格式标准SBOM清单
④新增命令行交互式 UI
⑤参数优化
1、重构解析引擎,解析逻辑大大卷
熟悉mvn依赖的朋友们都知道,尽管mvn相对规整,其中的一些特殊情况还是非常复杂让人头秃。此前,经过多次迭代,OpenSCA的引擎已经足以准确解析常见情况;新引擎特地为14种特殊情况设计了对应的解析逻辑,大大提升了对复杂情况的支持。
研发小伙伴已经将这14种情况及相关说明整理成了测试用例,在 OpenSCA的GitHub和Gitee仓库里就能找到。
欢迎感兴趣的朋友们按需取用,如果能顺便给我们点个Star以示鼓励就更好啦~
2、仅需SBOM清单即可输出漏洞及许可证清单
不方便直接对特征文件执行检测的朋友们有福啦!使用v3.0.0直接检测SBOM清单即可输出依赖信息、漏洞信息及许可证清单。
不过,唯一确定一个组件需要同时有“名称 厂商 版本 语言”信息,严谨起见,推荐使用CDX(有Purl信息协助确定唯一性)及DSDX格式(有语言字段)的标准SBOM清单来输出准确的漏洞信息及许可证清单。如果只需要依赖信息的话,输入SPDX/CDX/DSDX中的任一种都可以。
使用样例
代码语言:javascript复制opensca-cli -token ${token} -path ${filename.cdx.json} -out output.html
报告示例
3、支持生成DSDX格式标准SBOM清单
DSDX(Digital Supply-chain Data Exchange)是OpenSCA社区主导,开源中国、电信研究院、中兴通讯联合发起的中国首个数字供应链SBOM格式,结合了甲方用户SBOM落地实践经验与安全厂商技术应用视角,更能针对性适配中国企业实战化应用场景。
使用样例
代码语言:javascript复制opensca-cli -token ${token} -path ${project_path} -out output.dsdx.json
报告示例
4、 命令行检出结果树状展示
v3.0.0支持通过命令行交互式浏览依赖树视图,可以使用键盘快捷键展开或折叠依赖树的节点,查看组件信息、漏洞信息以及 License 等信息。
5、参数优化
细心的朋友可能已经发现,与过去相比,上方的使用样例中少了-url参数。
考虑到此前版本的参数相对较多,为了使用起来更加简便,我们对参数设置进行了优化,通过-token、-path和-out三个参数即可快速执行检测(-url参数已默认为OpenSCA云漏洞服务地址https://opensca.xmirror.cn/,如使用其他在线漏洞服务可在配置文件中指定url);如有指定配置文件和日志文件路径的需求,添加-config和-log参数即可。作为补充,其余参数如vul、db、dedup等可在配置文件中做对应设置。
以上就是本次更新的全部内容啦~