Source code for credsweeper.ml_model.features.rule_severity
from credsweeper.common.constants import Severity
from credsweeper.credentials.candidate import Candidate
from credsweeper.ml_model.features.feature import Feature
[docs]
class RuleSeverity(Feature):
"""Categorical feature that corresponds to rule name."""
[docs]
def extract(self, candidate: Candidate) -> float:
if Severity.CRITICAL == candidate.severity:
return 1.0
if Severity.HIGH == candidate.severity:
return 0.75
if Severity.MEDIUM == candidate.severity:
return 0.5
if Severity.LOW == candidate.severity:
return 0.25
if Severity.INFO == candidate.severity:
return 0.0
raise ValueError(f"Unknown type of severity: {candidate.severity}")