管理CVE的脚本

cvemanager的Python项目详细描述


Build Status

cve_经理

python脚本:

a)解析NIST NVD CVE, b) 打印并导出到CSV文件, c) 创建一个postgres数据库并导入其中的所有数据,然后 d) 提供此CVEs数据库的查询功能。在

它需要Python2.7.x(即将迁移到Python3)

使用示例:

  • 从NIST NVD下载、解析并保存在CSV文件中: ./cve公司_经理.py-d-p-csv

  • 创建postgresql数据库以托管下载的CVE: ./cve公司_经理.py-u<;myuser>;-ps<;mypassword>;-host<;主机名或IP>;-db<;database_name>;-ow<;new_owner of database>;-cd

  • 在数据库中创建表和视图: ./cve公司_经理.py-u<;myuser>;-ps<;mypassword>;-host<;主机名或IP>;-db<;database_name>;-ct

  • 将所有数据导入创建的数据库(需要先将下载、解析和sdtore作为CSV文件,如上所述): ./cve公司_经理.py-lt&myu;用户名lt>;lt&myu;gt;用户名

  • 查询特定CVE: ./cve公司_经理.py-u<;myuser>;-ps<;mypassword>;-host<;主机名或IP>;-db<;database_name>;-cve 2019-2434

  • 查询与产品相关的所有CVE(如windows),基本指标得分大于某个值(例如9,即临界值),发布日期等于或晚于特定年份(如2018年): ./cve公司_经理.py-u<;myuser>;-ps<;mypassword>;-host<;主机名或IP>;-db<;database_name>;-pr radar-sc 9-dt 2018

  • 查询基本指标得分大于某个值(例如9,即临界值)且发布日期等于或晚于特定年份(例如2019年)的所有CVE: ./cve公司_经理.py-u<;myuser>;-ps<;mypassword>;-host<;主机名或IP>;-db<;database_name>;-sc 9-2019年版

  • 截断所有表的内容(如果要重复导入过程以更新数据,则必需): ./cve公司_经理.py-lt&myu;用户名lt>;lt>;用户名

  • 删除数据库(完全删除): ./cve公司_经理.py-u<;myuser>;-ps<;mypassword>;-host<;主机名或IP>;-db<;database_name>;-dd

支持参数的完整列表:

-h,--help显示此帮助消息并退出

-v,--version显示程序的版本号并退出

-p,--parse进程下载了CVEs。在

-d,--下载CVEs。在

-y年,--年CVE下载年份(如2019年)

-csv,--cvs_文件创建CSVs文件。在

-idb,--import-to-u db将CVEs导入数据库。在

-i输入,--输入输入 下载NVD json文件的目录,以及解析这些文件的目录 (默认值:nvd/)

-o结果,--输出结果 存储csv文件的目录(默认值:results/)

-u USER,--USER USER要连接到数据库的用户。在

-ow所有者,--所有者所有者 数据库的所有者(如果与连接的用户不同)。在

-ps密码,--密码密码 连接到数据库的密码。在

-主机主机,--主机主机 数据库服务器的主机或IP。在

-db数据库,--数据库数据库 数据库的名称。在

-cd,--创建\u数据库 创建数据库

-dd,--drop_database删除数据库

-ct,--create_tables创建数据库的表

-tr,--截断\u cves_表 截断CVEs相关表

-cve-cve,--cv_编号cve 打印CVE信息(CVSS分数和其他)

-sc分数,--分数 使用基本分数作为选择标准

-日期,--日期E 使用发布日期作为选择标准

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Android Studio:我的短信应用程序不是默认短信应用程序的选项之一   java处理字符串问题   java为什么我的程序打印“null”而不是字符串?   java为什么要创建一个无限循环?   java循环在一段时间后将布尔值更改为false?   java Android Rest Api Post 400错误请求   java调用另一个方法以获取resultset并正确关闭连接?   java我想在2d数组中添加一行   Java:我需要从outputstream中获取字节数组   C语言中Java元注释的等价物#   java如何在从web下载图像时保持原始图像的dpi?   java中基于输入值的spring boot动态值   java从请求中获取主机名   java可以复制Swing代码并在intelliJ中的designer中查看它吗   spring如何使用java配置多个ldap   安卓如何在Java中使用具有多个类似参数的JSON请求/响应循环?   java LIbGDX如何在语言更改时翻译所有文本?