@@ -38,20 +38,29 @@ def vulnerability_tree(self, vulnerabilitytree, test):
3838 for node in vulnerabilitytree :
3939 resource = node .get ("resource" )
4040 vulnerabilities = node .get ("vulnerabilities" , [])
41+ sensitive_items = resource .get ("sensitive_items" , [])
4142 if vulnerabilities is None :
4243 vulnerabilities = []
4344 for vuln in vulnerabilities :
4445 item = get_item (resource , vuln , test )
4546 unique_key = resource .get ("cpe" ) + vuln .get ("name" , "None" ) + resource .get ("path" , "None" )
4647 self .items [unique_key ] = item
48+ if sensitive_items is None :
49+ sensitive_items = []
50+ for sensitive_item in sensitive_items :
51+ item = get_item_sensitive_data (resource , sensitive_item , test )
52+ unique_key = resource .get ("cpe" ) + resource .get ("path" , "None" ) + str (sensitive_item )
53+ self .items [unique_key ] = item
4754
4855
4956def get_item (resource , vuln , test ):
5057 resource_name = resource .get ("name" , resource .get ("path" ))
5158 resource_version = resource .get ("version" , "No version" )
5259 vulnerability_id = vuln .get ("name" , "No CVE" )
5360 fix_version = vuln .get ("fix_version" , "None" )
54- description = vuln .get ("description" , "No description." )
61+ description = vuln .get ("description" , "No description." ) + "\n "
62+ if resource .get ("path" ):
63+ description += "**Path:** " + resource .get ("path" ) + "\n "
5564 cvssv3 = None
5665
5766 url = ""
@@ -161,6 +170,32 @@ def get_item_v2(item, test):
161170 return finding
162171
163172
173+ def get_item_sensitive_data (resource , sensitive_item , test ):
174+ resource_name = resource .get ("name" , "None" )
175+ resource_path = resource .get ("path" , "None" )
176+ vulnerability_id = resource_name
177+ description = "**Senstive Item:** " + sensitive_item + "\n "
178+ description += "**Layer:** " + resource .get ("layer" , "None" ) + "\n "
179+ description += "**Layer_Digest:** " + resource .get ("layer_digest" , "None" ) + "\n "
180+ description += "**Path:** " + resource .get ("path" , "None" ) + "\n "
181+ finding = Finding (
182+ title = vulnerability_id
183+ + " - "
184+ + resource_name
185+ + " ("
186+ + resource_path
187+ + ") " ,
188+ test = test ,
189+ severity = "Info" ,
190+ description = description .strip (),
191+ component_name = resource .get ("name" ),
192+ )
193+ if vulnerability_id != "No CVE" :
194+ finding .unsaved_vulnerability_ids = [vulnerability_id ]
195+
196+ return finding
197+
198+
164199def aqua_severity_of (score ):
165200 if score == "high" :
166201 return "High"
0 commit comments