Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/aatlasis/cve_manager

A python script that a) parses NIST NVD CVEs, b) prcoesses and exports them to CSV files, c) creates a postgres database and imports all the data in it, d) provides query capabilities for this CVEs database.
https://github.com/aatlasis/cve_manager

Last synced: 3 months ago
JSON representation

A python script that a) parses NIST NVD CVEs, b) prcoesses and exports them to CSV files, c) creates a postgres database and imports all the data in it, d) provides query capabilities for this CVEs database.

Awesome Lists containing this project

README

        

# cve_manager
A python script that:

a) parses NIST NVD CVEs,
b) prcoesses and exports them to CSV files,
c) creates a postgres database and imports all the data in it, and
d) provides (basic) query capabilities for this CVEs database.

It requires Python 3 ("psycopg2" and "requests" python libraries)

Usage examples:

- Download, parse and save in CSV files all CVEs from NIST NVD:
./cve_manager.py -d -p -csv

- Create a postgresql database to host the downloaded CVEs:
./cve_manager.py -u host -db -ow -cd

- Create the tables and views at the database:
./cve_manager.py -u -host -db -ct

- Import all data into the created database (requires the download, parse and sdtore as CSV files first, as explained above):
./cve_manager.py -u -host -db -idb -p

- Query for a specific CVE:
./cve_manager.py -u -host -db -cve 2019-2434

- Truncate the contents of all tables (required if you want to repeat the import process so as to update the data):
./cve_manager.py -u -host -db -tr

- Delete the database (remove it completely):
./cve_manager.py -u -host -db -dd

Complete list of supported arguments:

-h, --help show this help message and exit

-v, --version show program's version number and exit

-p, --parse Process downloaded CVEs.

-d, --download Download CVEs.

-y YEAR, --year YEAR The year for which CVEs shall be downloaded (e.g. 2019)

-csv, --cvs_files Create CSVs files.

-idb, --import_to_db Import CVEs into a database.

-i INPUT, --input INPUT
The directory where NVD json files will been downloaded, and the one from where they will be parsed
(default: nvd/)

-o RESULTS, --output RESULTS
The directory where the csv files will be stored (default: results/)

-u USER, --user USER The user to connect to the database.

-ow OWNER, --owner OWNER
The owner of the database (if different from the connected user).

-host HOST, --host HOST
The host or IP of the database server.

-db DATABASE, --database DATABASE
The name of the database.

-cd, --create_database
Create the database

-dd, --drop_database Drop the database

-ct, --create_tables Create the tables of the database

-tr, --truncate_cves_tables
Truncate the CVEs-related tables

-cve CVE, --cvs_number CVE
Print info for a CVE (CVSS score and other)

Please check the CVE Manager pdf file for more capabilities, information, and screenshots.