几个查找开源组件CVE的网站和工具

news/2024/7/10 22:32:59 标签: 开源

        有时在使用一个开源组件之前,需要先调查一下这个组件是否有一些比较验证的CVE。同时,对于一些重要的正在使用的组件,例如:Spring Framework,也希望查询一下是否有严重的CVE。 本文就介绍几个曾经用过的查找开源组件还不错的网站和工具。

第一个、https://cve.mitre.org

它是受到the U.S. Department of Homeland Security (DHS) Cybersecurity 和Infrastructure Security Agency (CISA)两家机构资助的,收纳的比较全面和及时。可以通过CVE -Search CVE List查询相关的CVE信息,界面如下:

搜索Spring的结果如下:

不过这个网站用起来不太方便,如果有具体的CVE查找还比较方便,如果查找其他的信息,例如:组件名称和版本以及时间,就不太方便了。

 第二个、阿里云漏洞库

 查询Spring的结果如下:

在列表里可以看到漏洞的披露时间和状态以及PoC。

 第三个、Vulnerability DB | Snyk

 这是一家名叫Snyk'的公司提供的CVE查询网站,查询Spring的URL:Vulnerability DB | Snyk,结果如下:

它的结果里主要是增加了一列TYPE,可以了解一下是什么类型的系统。

第四个、Common Vulnerabilities and Exposures (CVEs) | Tenable®

 搜索Spring的界面如下:

它主要是增加了搜索的过滤条件,可以是CVEID和发布的时间。在级别的显示上会比较一目了然。

 第五个、Security vulnerability, CVE, search

可以根据各种搜索条件进行搜索,搜索界面如下:

搜索spring的结果如下:

 结果中不仅给了严重的级别,还提供了CVSS,最为重要的是它提供了EPSS,EPSS(漏洞利用预测评分系统)是一种利用CVE信息和真实世界的攻击数据来预测漏洞是否以及何时会被利用的系统。它旨在解决安全从业者面临的困境,即淹没在CVE中(包括许多高严重性的CVE),但大多数CVE实际上并不可利用。通过提供可利用性可能性的客观测量,EPSS与其他外部数据点如CVSS(通用漏洞评分系统)和VEX(漏洞可利用性exchange)一起,可以成为漏洞优先级排序的有价值的输入。

有时,系统中含有的漏洞级别比较多,至于先修复哪些,升级到什么版本,可以根据EPSS作为依据,优先修复那些被利用性较高的组件。

第六个、第六个是一个工具、https://github.com/cve-search
它提供了各种搜做CVE的工具,例如:搜索Docker image里的CVE的工具CVE-Search-Docker ,具体使用的信息可以参考网站。

第七个、OWASP Dependency-Check | OWASP Foundation

它是一款由OWASP提供的一款免费的查找整个项目含有哪些组件和CVE的工具,根据可能性提供了可能的CVE列表,显示的结果可以是HTML和JSON。不过,针对输出结果需要进一步解析才能得到最直观的信息。

可以通过下命令进行扫描:

Dependency-Check core --project test-s ./path –symLink –n -f JSON –o outputPath/UUID.JSON

-s 被扫描文件所在路径

-o 结果文件存放路径或者结果文件名

--project 扫描项目的名字

获得Dependency Check的结果文件:UUID.JSON,然后解析此文件。

扫描的JSON中的漏洞如下:

"vulnerabilities": [
        {
          "source": "NVD",
          "name": "CVE-2016-1000031",   // CVE编号
          "cvssScore": "7.5",				// CVSS分数
          "cvssAccessVector": "NETWORK",
          "cvssAccessComplexity": "LOW",
          "cvssAuthenticationr": "NONE",
          "cvssConfidentialImpact": "PARTIAL",
          "cvssIntegrityImpact": "PARTIAL",
          "cvssAvailabilityImpact": "PARTIAL",
          "severity": "High",				// 严重级别
          "cwe": "CWE-284 Improper Access Control",
          "description": "Apache Commons FileUpload before 1.3.3 DiskFileItem File Manipulation Remote Code Execution",
          "notes": "",
          "references": [
            {
              "source": "CONFIRM",
              "url": "https://issues.apache.org/jira/browse/FILEUPLOAD-279",
              "name": "https://issues.apache.org/jira/browse/FILEUPLOAD-279"
            },
            {
              "source": "MISC",
              "url": "https://www.tenable.com/security/research/tra-2016-23",
              "name": "https://www.tenable.com/security/research/tra-2016-23"
            },
            {
              "source": "MISC",
              "url": "https://www.tenable.com/security/research/tra-2016-12",
              "name": "https://www.tenable.com/security/research/tra-2016-12"
            },
            {
              "source": "MISC",
              "url": "http://www.zerodayinitiative.com/advisories/ZDI-16-570/",
              "name": "http://www.zerodayinitiative.com/advisories/ZDI-16-570/"
            },
            {
              "source": "BID",
              "url": "http://www.securityfocus.com/bid/93604",
              "name": "93604"
            },
            {
              "source": "MISC",
              "url": "https://www.tenable.com/security/research/tra-2016-30",
              "name": "https://www.tenable.com/security/research/tra-2016-30"
            }
          ],
          "vulnerableSoftware": [
            {
              "software": "cpe:/a:apache:commons_fileupload:1.3.2",  // 可以解析此作为漏洞库名和版本号
              "allPreviousVersion": "true"
            }
          ]
        }
      ]
    },

需要根据结果文件解析出具体的组件名称和版本以及相关的CVE和级别等信息。

有时,为了得到一个CVE的比较全的信息,可能需要结合几个工具在一起才能得到比较全的信息。可以根据以上介绍的几个工具的显示结果的不同,结合多个工具得到全面的漏洞信息,为漏洞的修复提供有力的依据。


http://www.niftyadmin.cn/n/5242267.html

相关文章

flask中遇到ImportError: cannot import name ‘url_encode‘ from ‘werkzeug‘

报错信息 Traceback (most recent call last): File “book_management_sys.py”, line 5, in from forms import Login, SearchBookForm, ChangePasswordForm, EditInfoForm, SearchStudentForm, NewStoreForm, StoreForm, BorrowForm File “C:\pythonProject\pythonProject…

Python GUI 新手入门教程:轻松构建图形用户界面

概要 Python 凭借其简单性和多功能性,已经成为最流行的编程语言之一。被广泛应用于从 web 开发到数据科学的各个领域。 在本教程中,我们将探索用于创建图形用户界面(GUIs)的 Python 内置库: Tkinter:无论…

mv视频怎么做成二维码?扫码用流量看视频更方便

mv的视频能做成二维码查看吗?将视频做成二维码查看是很多人会选择使用的一个方法,其他人只需要花费流量就可以浏览视频内容,那么视频二维码是如何生成的呢?最简单的方法就是通过视频二维码生成器工具来制作,使用对应的…

西南科技大学C++程序设计实验四(类与对象三)

一、实验目的 1. 理解类的组合定义、说明与使用 2. 参数化列表的使用 3. 组合类的特例——string类 二、实验任务 重点:掌握组合类的定义与实现,丰富类的数据成员与成员函数,拓展其功能。 阅读分析、完善程序。下面是一个组合类 Teacher的定义,数据成员包括代表姓名的…

传统开发vs低代码vs零代码

目录 一、前言 二、传统开发vs低代码vs零代码 (1)传统开发: (2)低代码开发: (3)零代码开发 三、5种常见的应用场景 四、零代码和低代码 一、前言 随着企业数字化拉开序幕&#xff0c…

微信小程序开发步骤及简单开发案例

开发步骤: 注册开发者账号:前往微信公众平台注册一个小程序开发者账号。创建小程序:登录小程序开发者工具,创建一个新的小程序项目,并填写小程序基本信息。配置开发环境:在小程序开发者工具中配置开发环境,包括开发者工具的设置、调试工具的设置等。设计小程序界面:根据…

Trie 树详解

Trie 树详解 Trie 树(字典树)是一种用于高效存储和搜索字符串集合的树状数据结构。它的主要特点是能够在O(N)时间内实现字符串的插入、删除和搜索操作,其中 N 是字符串的长度。Trie 树的结构适用于敏感词过滤、单词搜索、自动补全等场景。在…

uni-app 获取PAD激光测温方式 (uni-app安卓获取广播内容)

直接在onload执行下列代码 var main plus.android.runtimeMainActivity(); //获取activityvar context plus.android.importClass(android.content.Context); //上下文var receiver plus.android.implements(io.dcloud.feature.internal.reflect.BroadcastReceiver, {onRece…