cvss

CVSS2/3 library with interactive calculator for Python 2 and Python 3

0
0
0
Python
public
Forked

CVSS

… 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.

Installation

::

# pip install cvss

Usage

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

Testing

For extensive testing, the test vectors were generated using official
JavaScript generators and cvsslib <https://github.com/ctxis/cvsslib>_.

v0.3.3[beta]