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
elif Severity.HIGH == candidate.severity:
return 0.75
elif Severity.MEDIUM == candidate.severity:
return 0.5
elif Severity.LOW == candidate.severity:
return 0.25
elif Severity.INFO == candidate.severity:
return 0.0
else:
raise ValueError(f"Unknown type of severity: {candidate.severity}")