在过往发行版的基础上,结合社区用户提供的大量反馈及研发小伙伴的积极探索,项目组对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中的任一种都可以。

使用样例

opensca-cli -token ${token} -path ${filename.cdx.json} -out output.html

报告示例

3、支持生成DSDX格式标准SBOM清单

DSDX(Digital Supply-chain Data Exchange)是OpenSCA社区主导,开源中国、电信研究院、中兴通讯联合发起的中国首个数字供应链SBOM格式,结合了甲方用户SBOM落地实践经验与安全厂商技术应用视角,更能针对性适配中国企业实战化应用场景。

使用样例

opensca-cli -token ${token} -path ${project_path} -out output.dsdx.json

报告示例

4、命令行检出结果树状展示

v3.0.0支持通过命令行交互式浏览依赖树视图,可以使用键盘快捷键展开或折叠依赖树的节点,查看组件信息、漏洞信息以及 License 等信息。

*命令行UI交互需要在配置文件中开启

5、参数优化

细心的朋友可能已经发现,与过去相比,上方的使用样例中少了-url参数

考虑到此前版本的参数相对较多,为了使用起来更加简便,我们对参数设置进行了优化,通过-token、-path和-out三个参数即可快速执行检测(-url参数已默认为OpenSCA云漏洞服务地址https://opensca.xmirror.cn/,如使用其他在线漏洞服务可在配置文件中指定url);如有指定配置文件和日志文件路径的需求,添加-config和-log参数即可。作为补充,其余参数如vul、db、dedup等可在配置文件中做对应设置。

以上就是本次更新的全部内容啦~

版本升级 | v3.0.0卷起来了!多种特殊情况解析轻松拿捏!的更多相关文章

  1. 从 Bootstrap 2.x 版本升级到 3.0 版本

    摘自http://v3.bootcss.com/migration/ Bootstrap 3 版本并不向后兼容 v2.x 版本.下面的章节是一份从 v2.x 版本升级到 v3.0 版本的通用指南.如需 ...

  2. Luminar 3 for Mac(照片编辑工具)v3.1.0中文特别版

    Luminar for Mac是一款多功能照片编辑软件,使用独特的AI工具加快速度,具备AI Sky Enhancer.Accent AI.太阳光线等创新功能.当然也保留了原有的功能,帮助你轻松的修复 ...

  3. FineUIPro v3.5.0发布了,减少 90% 的上行数据量,15行代码全搞定!

    一切为客户着想 一切的一切还得从和一位台湾客户的沟通说起: 客户提到将ViewState保存在服务器端以减少上行数据量,从而加快页面的回发速度. 但是在FineUI中,控件状态都保存在FState中, ...

  4. kubeSphere v3.3.0+kubernetes v1.22.10 集群部署

    概述 KubeSphere 是 GitHub 上的一个开源项目,是成千上万名社区用户的聚集地.很多用户都在使用 KubeSphere 运行工作负载.对于在 Linux 上的安装,KubeSphere ...

  5. FineUI(专业版)v3.2.0 发布(ASP.NET UI控件库)!

    +2016-08-20 v3.2.0 +表格增强. +表格列RenderField增加属性ClientHtmlEncode,用于在客户端进行HTML编码. -增加示例:单元格编辑->杂项-> ...

  6. FineUI(专业版)v3.0.0 发布,手机、平板和桌面全支持!

    FineUI(专业版)v3.0.0 已经正式发布,全面支持手机.平板和桌面!       自 2008 年 4 月发布第一个版本,我们持续更新了 126 个版本,拥有 16000 多位注册用户,130 ...

  7. STM32启动文件详细解析(V3.5.0) 以:startup_stm32f10x_hd.s为例

    我用的是IAR,这个貌似是MDK的,不过很有用,大家可以看一下 ;* 文件名 : startup_stm32f10x_hd.s ;* 库版本 : V3.5.0 ;* 说明: 此文件为STM32F10x ...

  8. Bootstrap(v3.2.0)模态框(modal)垂直居中

    Bootstrap(v3.2.0)模态框(modal)垂直居中方法: 在bootstrap.js文件900行后面添加如下代码,便可以实现垂直居中. that.$element.children().e ...

  9. Android 百度地图 SDK v3.0.0 (四) 引入离线地图功能

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37758097 一直觉得地图应用支持离线地图很重要啊,我等移动2G屌丝,流量不易, ...

  10. Android 百度地图 SDK v3.0.0 (三) 添加覆盖物Marker与InfoWindow的使用

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37737213 上篇博客已经实现了地图的定位以及结合了方向传感器用户路痴定位方向, ...

随机推荐

  1. 【Javaweb】Servlet十 | HttpServletResponse类和HttpServletRequest类

    HttpServletResponse类的作用 HttpServletResponse类和HttpServletRequest类一样.每次请求进来,Tomcat服务器都会创建一个Response对象传 ...

  2. VLOOKUP函数10种经典用法

    VLOOKUP函数是Excel中非常常用的函数之一,可以用于在一个区域或表格中查找某个值,并返回该值所在行的另一个指定列中的数值.以下是VLOOKUP函数的10种经典用法: 基本的VLOOKUP用法: ...

  3. HarmonyOS第一课_构建更加丰富的页面

    管理组件状态 概述 组件内的状态管理:@State 从父组件单向同步状态:@Prop 与父组件双向同步状态:@Link 跨组件层级双向同步状态:@Provide 和@Consume 概述 在应用中,界 ...

  4. 【matlab混沌理论】1.2.洛伦兹吸引子

    ​Lorenz洛伦兹吸引子定义洛伦兹函数组后,通过ode45函数求解此微分方程方程. input: % Lorenz函数的洛伦兹吸引子 % 2.定义模型参数 sigma = 10; beta = 8/ ...

  5. MyBatisPlus简介

    MyBatisPlus特性 国内的一个网站 网站地址简介 | MyBatis-Plus (baomidou.com)

  6. Python+Selenium+Webdriver+unittest 实现登录126邮箱

    第一版:登录 #encoding=utf-8 import unittest import time from selenium import webdriver from selenium.webd ...

  7. Tensorflow2.0实战之Auto-Encoder

    autoencoder可以用于数据压缩.降维,预训练神经网络,生成数据等等 Auto-Encoder架构 需要完成的工作 需要完成Encoder和Decoder的训练 例如,Mnist的一张图片大小为 ...

  8. 28、错误error

    1.是什么? 在实际的项目中,我们希望通过程序的错误信息快速定位问题,但是又不喜欢错误处理:代码就会很冗余又啰嗦.Go语言没有提供类似Java.C#语言中的try...catch异常处理方法,而是通过 ...

  9. C++ Qt开发:TabWidget实现多窗体功能

    Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍TabWidg ...

  10. 用JS实现简单的屏幕录像机

    本文将介绍如何用JS实现简单的屏幕录像机. 一.录制准备 创建一个按钮 <button id="recording-toggle">Start recording< ...