CVSS2/3 library with interactive calculator for Python 2 and Python 3
… image:: https://img.shields.io/travis/skontar/cvss/master.svg
:target: https://travis-ci.org/skontar/cvss/
:alt: Travis CI test status
This Python package contains CVSS v2 and v3 computation utilities and
interactive calculator compatible with both Python 2 and Python 3.
It is tested on Python versions supported by Travis, but it is simple
enough to run on even older versions.
::
# pip install cvss
Library
.. code-block:: python
from cvss import CVSS2, CVSS3
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()
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())
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)
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')
Interactive calculator
For interactive calculator run the following:
::
$ cvss_calculator
For help on the calculator options run:
::
$ cvss_calculator --help
For extensive testing, the test vectors were generated using official
JavaScript generators and cvsslib <https://github.com/ctxis/cvsslib>_.