MCPcopy
hub / github.com/smicallef/spiderfoot / handleEvent

Method handleEvent

modules/sfp_tool_testsslsh.py:80–212  ·  view source on GitHub ↗
(self, event)

Source from the content-addressed store, hash-verified

78 ]
79
80 def handleEvent(self, event):
81 eventName = event.eventType
82 srcModuleName = event.module
83 eventData = event.data
84
85 self.debug(f"Received event, {eventName}, from {srcModuleName}")
86
87 if self.errorState:
88 return
89
90 if srcModuleName == "sfp_tool_testsslsh":
91 self.debug("Skipping event from myself.")
92 return
93
94 if not self.opts['testsslsh_path']:
95 self.error("You enabled sfp_tool_testsslsh but did not set a path to the tool!")
96 self.errorState = True
97 return
98
99 exe = self.opts['testsslsh_path']
100 if self.opts['testsslsh_path'].endswith('/'):
101 exe = f"{exe}testssl.sh"
102
103 if not os.path.isfile(exe):
104 self.error(f"File does not exist: {exe}")
105 self.errorState = True
106 return
107
108 if not SpiderFootHelpers.sanitiseInput(eventData, extra=['/']):
109 self.debug("Invalid input, skipping.")
110 return
111
112 targets = list()
113 try:
114 if eventName == "NETBLOCK_OWNER" and self.opts['netblockscan']:
115 net = IPNetwork(eventData)
116 if net.prefixlen < self.opts['netblockscanmax']:
117 self.debug("Skipping scanning of " + eventData + ", too big.")
118 return
119 for addr in net.iter_hosts():
120 targets.append(str(addr))
121 except BaseException as e:
122 self.error(f"Strange netblock identified, unable to parse: {eventData} ({e})")
123 return
124
125 # Don't look up stuff twice, check IP == IP here
126 if eventData in self.results:
127 self.debug(f"Skipping {eventData} as already scanned.")
128 return
129 else:
130 if eventName != "INTERNET_NAME":
131 # Might be a subnet within a subnet or IP within a subnet
132 for addr in self.results:
133 try:
134 if IPNetwork(eventData) in IPNetwork(addr):
135 self.debug(f"Skipping {eventData} as already within a scanned range.")
136 return
137 except BaseException:

Callers

nothing calls this directly

Calls 6

SpiderFootEventClass · 0.90
sanitiseInputMethod · 0.80
cveInfoMethod · 0.80
notifyListenersMethod · 0.80
debugMethod · 0.45
errorMethod · 0.45

Tested by

no test coverage detected