最近试用北大软件工具的库博-SCA工具,其产品全称是库博软件成分分析与同源漏洞检测工具软件。这个产品名称有点长,至于原因,可能是为了与市场上其它SCA工具进行区分吧。北大库博SCA不是像大多数SCA工具,解析构建文件中的依赖组件进行分析的。而是采用检测精度更高的同源分析技术。通过试用软件就可以看到被指纹化的同源组件代码。
该产品是北京大学控股企业北大软件开发的产品,该产品从2018年开发研发,历经多年积累形成了庞大的代码指纹库。其能够检测工程中的开源组件名称及其版本,包含的已知漏洞、升级建议,许可证传染性分析等。检测速度超过一般依赖构建文件进行分析的同类工具。
登录后,看到下面界面,因为试用账号不是管理员账号,缺少角色和团队管理等功能菜单,但是整个产品主要功能包括,整个界面简洁,更多是采用界面链接进去查看。
现在很多评测机构要求能够出自研率检测,其实就是开发人员编写代码占所有代码行数的比例。
上面页面中,文件匹配数就是被检测项目中的组件中包含的组件中的文件与指纹库中的文件对比的数目。工具默认采用的是文件级别匹配的方式,在产品中还可以配置项目级、代码片段级等其它同源匹配方式。对于有许可证的组件则列出许可证协议,单击协议可以在协议官方网站看到协议的完整解释。
单击进入组件详情页面,可以看到下面页面,这个页面有一个匹配类型,有部分匹配这个字段,因为库博SCA采用独有的技术相似匹配,因为组件有可能被修改或指纹库中的版本与检测的版本不同,则通过相似hash技术,解决了库再大也可能无法涵盖所有版本的问题。
单击部分匹配字段,把被检测项目中的文件与库中对应的文件同步进行展示,让用户可以查看两个的区别。
在上面页面的左上角,可以看到组件的另一个属性外部依赖,就是组件依赖的其它组件,也就是大家所说的间接依赖。另外,根据组件匹配方式,可以切换到匹配文件、函数、代码片段,可以所有匹配文件,单击某个文件,则可以列出库中的文件(生成指纹的文件)和被分析项目中的文件。
还有其它页面,例如组件列表页面,列出组件名称,组件影响的项目、不包含的漏洞等信息。而在安全漏洞列表页面,则把组件中的安全漏洞的CVE编号、CWE编号、CVSS漏洞评分系统给出的严重程度、可利用性、影响项目等列出,后面提供客户进行审计操作功能。
在报告中心,列出生成的检测报告,提供删除报告功能。
通过试用北大软件库博SCA工具,感觉来自于北京大学的研发团队,其工具体现出来的技术清晰可见,是否存在漏洞有代码佐证。而很多SCA工具,无法提供相应的指纹库对应的文件。虽然在管理功能上略显不足,但是核心功能功力很深。特别适合对检测精度高、对检测结果进行深入分析的客户使用,而不是检测完成,给出检测报告,而报告中的内容怎么检测出来的,不得而知。适合做供应链安全整合SCA引擎的企业使用。
如果有朋友想了解更多的工具细节,可以微信(manokle)联系我。
(结束)