@@ -177,13 +177,14 @@ def parse_json(self, json_output):
177177
178178 def get_items (self , tree , test ):
179179 items = {}
180- if "results" in tree :
180+ results = tree .get ("results" ) or []
181+ if results :
181182 # Extract image metadata for impact field (Item 3)
182- result = tree [ " results" ] [0 ]
183+ result = results [0 ]
183184 image_metadata = self .build_image_metadata (result )
184185
185186 # Parse vulnerabilities
186- vulnerabilityTree = result .get ("vulnerabilities" , [])
187+ vulnerabilityTree = result .get ("vulnerabilities" ) or []
187188 for node in vulnerabilityTree :
188189 item = get_item (node , test , image_metadata )
189190 unique_key = node ["id" ] + str (
@@ -194,7 +195,7 @@ def get_items(self, tree, test):
194195 items [unique_key ] = item
195196
196197 # Parse compliance findings
197- complianceTree = result .get ("compliances" , [])
198+ complianceTree = result .get ("compliances" ) or []
198199 for node in complianceTree :
199200 item = get_compliance_item (node , test , image_metadata )
200201 # Create unique key for compliance findings - prefer ID if available
@@ -326,11 +327,14 @@ def get_compliance_item(compliance, test, image_metadata=""):
326327
327328
328329def convert_severity (severity ):
329- if severity .lower () == "important" :
330+ if not severity :
331+ return "Info"
332+ sev_lower = severity .lower ()
333+ if sev_lower == "important" :
330334 return "High"
331- if severity . lower () == "moderate" :
335+ if sev_lower == "moderate" :
332336 return "Medium"
333- if severity . lower () in {"information" , "informational" , "" }:
337+ if sev_lower in {"information" , "informational" , "" }:
334338 return "Info"
335339 return severity .title ()
336340
0 commit comments