diff --git a/bbot/modules/gowitness.py b/bbot/modules/gowitness.py index d3cb6a54e8..0e515b48ce 100644 --- a/bbot/modules/gowitness.py +++ b/bbot/modules/gowitness.py @@ -197,8 +197,11 @@ async def handle_batch(self, *events): tags = [f"status-{status_code}", f"ip-{ip}", "spider-danger"] _id = row["result_id"] - parent_url = self.screenshots_taken[_id] - parent_event = event_dict[parent_url] + parent_url = self.helpers.clean_url(self.screenshots_taken[_id]).geturl() + parent_event = event_dict.get(parent_url) + if parent_event is None: + self.warning(f"Could not correlate network log to parent event for URL: {self.screenshots_taken[_id]}") + continue if url and url.startswith("http"): await self.emit_event( url, @@ -212,8 +215,13 @@ async def handle_batch(self, *events): new_technologies = await self.get_new_technologies() for row in new_technologies.values(): parent_id = row["result_id"] - parent_url = self.screenshots_taken[parent_id] - parent_event = event_dict[parent_url] + parent_url = self.helpers.clean_url(self.screenshots_taken[parent_id]).geturl() + parent_event = event_dict.get(parent_url) + if parent_event is None: + self.warning( + f"Could not correlate technology to parent event for URL: {self.screenshots_taken[parent_id]}" + ) + continue technology = row["value"] tech_data = {"technology": technology, "url": parent_url, "host": str(parent_event.host)} await self.emit_event(