@@ -170,7 +170,17 @@ def custom_security_group_inbound_rule_info(self, raw_rule, remote, remote_type,
170170
171171 protocol_display = raw_rule .get ("protocol_display" )
172172
173- raw_rule .update ({"vulnerable_ports" : self ._get_vulnerable_ports (protocol_display , raw_rule , vulnerable_ports )})
173+ ports = self ._get_vulnerable_ports (protocol_display , raw_rule , vulnerable_ports )
174+
175+ raw_rule .update (
176+ {
177+ "vulnerable_ports" : ports ,
178+ "has_vulnerable_ports" : "true" if ports else "false"
179+ }
180+ )
181+
182+ print (raw_rule .get ("vulnerable_ports" ))
183+ print (raw_rule .get ("has_vulnerable_ports" ))
174184
175185 return raw_rule
176186
@@ -303,24 +313,6 @@ def get_instance_name_from_tags(instance):
303313
304314 @staticmethod
305315 def _get_vulnerable_ports (protocol_display : str , raw_rule : dict , vulnerable_ports : str ):
306- # try:
307- # ports = [int(port.strip()) for port in vulnerable_ports.split(',')]
308- #
309- # if protocol_display == "ALL":
310- # return ports
311- #
312- # to_port = raw_rule.get("ToPort")
313- # from_port = raw_rule.get("FromPort")
314- #
315- # if to_port is None or from_port is None:
316- # return None
317- #
318- # filtered_ports = [str(port) for port in ports if from_port <= port <= to_port]
319- #
320- # return filtered_ports if filtered_ports else None
321- # except ValueError:
322- # raise ERROR_VULNERABLE_PORTS(vulnerable_ports)
323-
324316 try :
325317 ports = []
326318
@@ -337,6 +329,7 @@ def _get_vulnerable_ports(protocol_display: str, raw_rule: dict, vulnerable_port
337329 ports .append (port )
338330 elif from_port <= target_port <= to_port :
339331 ports .append (port )
340- return ports if ports else None
332+
333+ return "," .join (ports )
341334 except ValueError :
342335 raise ERROR_VULNERABLE_PORTS (vulnerable_ports )
0 commit comments