Exemple #1
0
class AvailabilityRequirement(BaseEnum):
    """
    Vector: AR
    """
    NOT_DEFINED = NotDefined(D("1"))
    HIGH = D("1.5")
    MEDIUM = D("1")
    LOW = D("0.5")
Exemple #2
0
class ConfidentialityRequirement(BaseEnum):
    """
    Vector: CR
    """
    NOT_DEFINED = NotDefined(D("1"))
    HIGH = D("1.5")
    MEDIUM = D("1")
    LOW = D("0.5")
Exemple #3
0
class IntegrityRequirement(BaseEnum):
    """
    Vector: IR
    """
    NOT_DEFINED = NotDefined(D("1"))
    HIGH = D("1.5")
    MEDIUM = D("1")
    LOW = D("0.5")
Exemple #4
0
class ReportConfidence(BaseEnum):
    """
    Vector: RC
    """
    NOT_DEFINED = NotDefined(D("1"))
    CONFIRMED = D("1")
    REASONABLE = D("0.96")
    UNKNOWN = D("0.92")
Exemple #5
0
class RemediationLevel(BaseEnum):
    """
    Vector: RL
    """
    NOT_DEFINED = NotDefined(D("1"))
    UNAVAILABLE = D("1")
    WORKAROUND = D("0.97")
    TEMPORARY_FIX = D("0.96")
    OFFICIAL_FIX = D("0.95")
Exemple #6
0
class ExploitCodeMaturity(BaseEnum):
    """
    Vector: E
    """
    NOT_DEFINED = NotDefined(D("1"))
    HIGH = D("1")
    FUNCTIONAL = D("0.97")
    PROOF_OF_CONCEPT = D("0.94")
    UNPROVEN = D("0.91")
Exemple #7
0
class TargetDistribution(BaseEnum):
    """
    Vector: TD
    """
    NONE = D("0")
    LOW = D("0.25")
    MEDIUM = D("0.75")
    HIGH = D("1")
    NOT_DEFINED = NotDefined(D("1"))
Exemple #8
0
class ReportConfidence(BaseEnum):
    """
    Vector: RC
    """
    UNCONFIRMED = D("0.9")
    UNCORROBORATED = D("0.95")
    CONFIRMED = D("1")
    NOT_DEFINED = NotDefined(D("1"))

    _vectors = {"uc": "UNCONFIRMED", "ur": "UNCORROBORATED"}
Exemple #9
0
class RemediationLevel(BaseEnum):
    """
    Vector: RL
    """
    OFFICIAL_FIX = D("0.87")
    TEMPORARY_FIX = D("0.90")
    WORKAROUND = D("0.95")
    UNAVAILABLE = D("1")
    NOT_DEFINED = NotDefined(D("1"))

    _vectors = {"of": "OFFICIAL_FIX", "tf": "TEMPORARY_FIX"}
Exemple #10
0
class Exploitability(BaseEnum):
    """
    Vector: E
    """
    UNPROVEN = D("0.85")
    PROOF_OF_CONCEPT = D("0.9")
    FUNCTIONAL = D("0.95")
    HIGH = D("1")
    NOT_DEFINED = NotDefined(D("1"))

    _vectors = {"poc": "PROOF_OF_CONCEPT"}
Exemple #11
0
class CollateralDamagePotential(BaseEnum):
    """
    Vector: CDP
    """
    NONE = D("0")
    LOW = D("0.1")
    LOW_MEDIUM = D("0.3")
    MEDIUM_HIGH = D("0.4")
    HIGH = D("0.5")
    NOT_DEFINED = NotDefined(D("0"))

    _vectors = {"lm": "LOW_MEDIUM", "mh": "MEDIUM_HIGH"}
Exemple #12
0
class TempEnum(BaseEnum):
    SOME_VALUE = 1
    NOT_DEFINED = NotDefined(1)
Exemple #13
0
    LOW = D("0.5")


class AvailabilityRequirement(BaseEnum):
    """
    Vector: AR
    """

    NOT_DEFINED = NotDefined(D("1"))
    HIGH = D("1.5")
    MEDIUM = D("1")
    LOW = D("0.5")


ModifiedAttackVector = AttackVector.extend(
    "ModifiedAttackVector", {"NOT_DEFINED": NotDefined()}, "Vector: MAV"
)

ModifiedAttackComplexity = AttackComplexity.extend(
    "ModifiedAttackComplexity", {"NOT_DEFINED": NotDefined()}, "Vector: MAC"
)

ModifiedPrivilegesRequired = PrivilegeRequired.extend(
    "ModifiedPrivilegesRequired", {"NOT_DEFINED": NotDefined()}, "Vector: MPR"
)

ModifiedUserInteraction = UserInteraction.extend(
    "ModifiedUserInteraction", {"NOT_DEFINED": NotDefined()}, "Vector: MUI"
)

ModifiedScope = Scope.extend(
Exemple #14
0
    MEDIUM = D("1")
    LOW = D("0.5")


class AvailabilityRequirement(BaseEnum):
    """
    Vector: AR
    """
    NOT_DEFINED = NotDefined(D("1"))
    HIGH = D("1.5")
    MEDIUM = D("1")
    LOW = D("0.5")


ModifiedAttackVector = AttackVector.extend("ModifiedAttackVector",
                                           {"NOT_DEFINED": NotDefined()},
                                           "Vector: MAV")

ModifiedAttackComplexity = AttackComplexity.extend(
    "ModifiedAttackComplexity", {"NOT_DEFINED": NotDefined()}, "Vector: MAC")

ModifiedPrivilegesRequired = PrivilegeRequired.extend(
    "ModifiedPrivilegesRequired", {"NOT_DEFINED": NotDefined()}, "Vector: MPR")

ModifiedUserInteraction = UserInteraction.extend("ModifiedUserInteraction",
                                                 {"NOT_DEFINED": NotDefined()},
                                                 "Vector: MUI")

ModifiedScope = Scope.extend("ModifiedScope", {"NOT_DEFINED": NotDefined()},
                             "Vector: MS")