CVSS2/3/4 library with interactive calculator for Python 2 and Python 3
Project description
This Python package contains CVSS v2, v3 and v4 computation utilities and interactive calculator (for v2 and v3 only) compatible with Python 3. CVSS (Common Vulnerability Scoring System) is an standardized method for rating the severity of security issues on a scale from 0 (no impact) to 10 (critical).
The library is tested on all currently-supported Python versions available via GitHub Actions but it is simple enough to run on even older versions.
Installation
# pip install cvss
Usage
Library
from cvss import CVSS2, CVSS3, CVSS4
vector = 'AV:L/AC:L/Au:M/C:N/I:P/A:C/E:U/RL:W/RC:ND/CDP:L/TD:H/CR:ND/IR:ND/AR:M'
c = CVSS2(vector)
print(vector)
print(c.clean_vector())
print(c.scores())
print(c.severities())
print()
vector = 'CVSS:3.0/S:C/C:H/I:H/A:N/AV:P/AC:H/PR:H/UI:R/E:H/RL:O/RC:R/CR:H/IR:X/AR:X/MAC:H/MPR:X/MUI:X/MC:L/MA:X'
c = CVSS3(vector)
print(vector)
print(c.clean_vector())
print(c.scores())
print(c.severities())
print()
vector = 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:N'
c = CVSS4(vector)
print(vector)
print(c.clean_vector())
print(c.scores())
print(c.severities())
Sample output:
AV:L/AC:L/Au:M/C:N/I:P/A:C/E:U/RL:W/RC:ND/CDP:L/TD:H/CR:ND/IR:ND/AR:M
AV:L/AC:L/Au:M/C:N/I:P/A:C/E:U/RL:W/CDP:L/TD:H/AR:M
(5.0, 4.0, 4.6)
('Medium', 'Medium', 'Medium')
CVSS:3.0/S:C/C:H/I:H/A:N/AV:P/AC:H/PR:H/UI:R/E:H/RL:O/RC:R/CR:H/IR:X/AR:X/MAC:H/MPR:X/MUI:X/MC:L/MA:X
CVSS:3.0/AV:P/AC:H/PR:H/UI:R/S:C/C:H/I:H/A:N/E:H/RL:O/RC:R/CR:H/MAC:H/MC:L
(6.5, 6.0, 5.3)
('Medium', 'Medium', 'Medium')
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:N
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:N
(9.9,)
('Critical',)
Interactive calculator
For interactive calculator run the following:
$ cvss_calculator
For help on the calculator options run:
$ cvss_calculator --help
Testing
For extensive testing, the test vectors were generated using official JavaScript generators and cvsslib.
To run all tests using all supported versions of Python 2 and Python 3 installed:
$ tox $ tox -e py311 # Run tests using a specific version of Python
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cvss-3.6.tar.gz.
File metadata
- Download URL: cvss-3.6.tar.gz
- Upload date:
- Size: 30.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f21d18224efcd3c01b44ff1b37dec2e3208d29a6d0ce6c87a599c73c21ee1a99
|
|
| MD5 |
b1701c16a1dd4b22da0b657e7b7a5f27
|
|
| BLAKE2b-256 |
a5f61f7d315de23f39bbc32b94bb6b33a1b6124856037bfaa3f8bdb1a49584fa
|
File details
Details for the file cvss-3.6-py2.py3-none-any.whl.
File metadata
- Download URL: cvss-3.6-py2.py3-none-any.whl
- Upload date:
- Size: 31.2 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e342c6ad9c7eb69d2aebbbc2768a03cabd57eb947c806e145de5b936219833ea
|
|
| MD5 |
08bf99432caa8fb17ae89f0b812ca872
|
|
| BLAKE2b-256 |
636dfe2c65b94a28ae0481dc254e8cd664b82390069003bea945076d8a445f2b
|