管理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本机方法的源代码可用吗?   java如何使父方法抛出异常?   java Android以编程方式设置不同屏幕大小/密度的布局   java如何使用一个变量来管理所有客户端请求   java输入一个txt文件,每行有一组数字   json java从jsonobject获取jsonarray错误   java将一个(WAV)写入一个文件只会说一个单词(最后一个单词)   java Telnet忽略原始字节   proguard java。运行桌面应用程序时出现lang.VerifyError   java用左键移动JLabel?   java如何在jText区域验证选项卡?   文件服务器客户端Javasocket编程中的字符串搜索   java省略了JSTL中的最后一个逗号<c:out>   java如何找到if或else代码已执行的次数?   java JavaScript WebSocket send()方法未执行   浮点数声明上的java标识符预期错误   java这是指二进制搜索算法吗?   编译mod at:reobfJar java时的minecraft问题。util。拉链ZipException:重复条目   java检测特定的震动运动(如图所示:D)