@@ -100,39 +100,10 @@ class LicenseCoverageGapRule(PackageBaseRule):
100100 package_filter = {"license_expression" : "" }
101101
102102
103- class VulnerabilityDetectedRule (BaseRule ):
104- rule_type = "vulnerability_detected"
105- label = "Vulnerability Detected"
106- severity = "error"
107- description = "Detects packages with at least one known vulnerability (non-null risk score)."
108- parameters_schema = {
109- "min_risk_score" : "Minimum risk score (0.0-10.0). Default: any vulnerability." ,
110- }
111-
112- def get_package_filter (self ):
113- return {"package__risk_score__isnull" : False }
114-
115- def count_violations (self , product , threshold , parameters ):
116- Package = apps .get_model ("component_catalog" , "package" )
117-
118- packages = Package .objects .filter (
119- productpackages__product = product ,
120- risk_score__isnull = False ,
121- )
122-
123- min_risk_score = parameters .get ("min_risk_score" )
124- if min_risk_score is not None :
125- packages = packages .filter (risk_score__gte = min_risk_score )
126-
127- count = packages .count ()
128- return count if count > threshold else 0
129-
130-
131103RULE_REGISTRY = {
132104 UsagePolicyErrorRule .rule_type : UsagePolicyErrorRule (),
133105 UsagePolicyWarningRule .rule_type : UsagePolicyWarningRule (),
134106 LicensePolicyErrorRule .rule_type : LicensePolicyErrorRule (),
135107 LicensePolicyWarningRule .rule_type : LicensePolicyWarningRule (),
136108 LicenseCoverageGapRule .rule_type : LicenseCoverageGapRule (),
137- VulnerabilityDetectedRule .rule_type : VulnerabilityDetectedRule (),
138109}
0 commit comments