Skip to content

Commit 90b9fd7

Browse files
committed
udpate, fix unittests
1 parent 9240073 commit 90b9fd7

1 file changed

Lines changed: 18 additions & 20 deletions

File tree

dojo/tools/trivy/parser.py

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)