def get_severity_score(self, vt_aux: dict) -> Optional[float]:
        """Return the severity score for the given oid.
        Arguments:
            vt_aux: VT element from which to get the severity vector
        Returns:
            The calculated cvss base value. None if there is no severity
            vector or severity type is not cvss base version 2.
        """
        if vt_aux:
            severity_type = vt_aux['severities'].get('severity_type')
            severity_vector = vt_aux['severities'].get('severity_base_vector')

            if severity_type == "cvss_base_v2" and severity_vector:
                return CVSS.cvss_base_v2_value(severity_vector)
            elif severity_type == "cvss_base_v3" and severity_vector:
                return CVSS.cvss_base_v3_value(severity_vector)

        return None
Beispiel #2
0
    def get_severity_score(self, oid):
        """ Return the severity score for the given oid.
        Arguments:
            oid (str): VT OID from which to get the severity vector
        Returns:
            The calculated cvss base value. None if there is no severity
            vector or severity type is not cvss base version 2.
        """
        severity_type = (self.vts[oid]['severities'].get('severity_type'))
        severity_vector = (
            self.vts[oid]['severities'].get('severity_base_vector'))

        if severity_type == "cvss_base_v2" and severity_vector:
            return CVSS.cvss_base_v2_value(severity_vector)

        return None
Beispiel #3
0
 def testcvssv3(self):
     vector = 'CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:N'
     cvss_base = CVSS.cvss_base_v3_value(vector)
     self.assertEqual(cvss_base, 3.8)
Beispiel #4
0
 def testcvssv2(self):
     vector = 'AV:A/AC:L/Au:S/C:P/I:P/A:P'
     cvss_base = CVSS.cvss_base_v2_value(vector)
     self.assertEqual(cvss_base, 5.2)