@@ -255,30 +255,28 @@ def get_result_items(self, test, results, service_name=None, artifact_name=""):
255255 cvssclass = None
256256 cvssv3 = None
257257 cvssv3_score = None
258- # Use severity field if present, otherwise fallback to CVSS
259- if vuln .get ("Severity" ):
260- severity = TRIVY_SEVERITIES [vuln ["Severity" ]]
261- else :
262- # Iterate over the possible severity sources to find the first match
263- for severity_source in [detected_severity_source , * CVSS_SEVERITY_SOURCES ]:
264- cvssclass = cvss .get (severity_source , None )
265- if cvssclass is not None :
266- break
267- # Parse the CVSS class if it is not None
258+ severity = TRIVY_SEVERITIES [vuln ["Severity" ]] if vuln .get ("Severity" ) else None
259+ # Iterate over the possible severity sources tom find the first match
260+ for severity_source in [detected_severity_source , * CVSS_SEVERITY_SOURCES ]:
261+ cvssclass = cvss .get (severity_source , None )
268262 if cvssclass is not None :
269- if cvss_data := parse_cvss_data (cvssclass .get ("V3Vector" , "" )):
270- cvssv3 = cvss_data .get ("cvssv3" )
271- cvssv3_score = cvss_data .get ("cvssv3_score" )
263+ break
264+ # Parse the CVSS class if it is not None
265+ if cvssclass is not None :
266+ if cvss_data := parse_cvss_data (cvssclass .get ("V3Vector" , "" )):
267+ cvssv3 = cvss_data .get ("cvssv3" )
268+ cvssv3_score = cvss_data .get ("cvssv3_score" )
269+ if severity is None :
272270 severity = cvss_data .get ("severity" )
273- elif (cvss_v3_score := cvssclass .get ("V3Score" )) is not None :
274- cvssv3_score = cvss_v3_score
271+ elif (cvss_v3_score := cvssclass .get ("V3Score" )) is not None :
272+ cvssv3_score = cvss_v3_score
273+ if severity is None :
275274 severity = self .convert_cvss_score (cvss_v3_score )
276- elif (cvss_v2_score := cvssclass .get ("V2Score" )) is not None :
275+ elif (cvss_v2_score := cvssclass .get ("V2Score" )) is not None :
276+ if severity is None :
277277 severity = self .convert_cvss_score (cvss_v2_score )
278- else :
279- severity = self .convert_cvss_score (None )
280- else :
281- severity = self .convert_cvss_score (None )
278+ if severity is None :
279+ severity = self .convert_cvss_score (None )
282280 if target_class in {"os-pkgs" , "lang-pkgs" }:
283281 file_path = vuln .get ("PkgPath" )
284282 if file_path is None :
0 commit comments