bbot 2.5.0.6803rc0__py3-none-any.whl → 2.5.0.6817rc0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of bbot might be problematic. Click here for more details.

bbot/__init__.py CHANGED
@@ -1,5 +1,5 @@
1
1
  # version placeholder (replaced by poetry-dynamic-versioning)
2
- __version__ = "v2.5.0.6803rc"
2
+ __version__ = "v2.5.0.6817rc"
3
3
 
4
4
  from .scanner import Scanner, Preset
5
5
 
@@ -223,11 +223,6 @@ class DepsInstaller:
223
223
  success = True
224
224
  preloaded = self.all_modules_preloaded[module]
225
225
 
226
- # ansible tasks
227
- ansible_tasks = preloaded["deps"]["ansible"]
228
- if ansible_tasks:
229
- success &= self.tasks(module, ansible_tasks)
230
-
231
226
  # apt
232
227
  deps_apt = preloaded["deps"]["apt"]
233
228
  if deps_apt:
@@ -258,6 +253,11 @@ class DepsInstaller:
258
253
  self.setup_status[dep_common] = result
259
254
  success &= result
260
255
 
256
+ # ansible tasks
257
+ ansible_tasks = preloaded["deps"]["ansible"]
258
+ if ansible_tasks:
259
+ success &= self.tasks(module, ansible_tasks)
260
+
261
261
  return success
262
262
 
263
263
  async def pip_install(self, packages, constraints=None):
bbot/modules/gowitness.py CHANGED
@@ -16,7 +16,7 @@ class gowitness(BaseModule):
16
16
  flags = ["active", "safe", "web-screenshots"]
17
17
  meta = {"description": "Take screenshots of webpages", "created_date": "2022-07-08", "author": "@TheTechromancer"}
18
18
  options = {
19
- "version": "2.4.2",
19
+ "version": "3.0.5",
20
20
  "threads": 0,
21
21
  "timeout": 10,
22
22
  "resolution_x": 1440,
@@ -161,6 +161,7 @@ class gowitness(BaseModule):
161
161
  key = e.data["url"]
162
162
  event_dict[key] = e
163
163
  stdin = "\n".join(list(event_dict))
164
+ self.hugeinfo(f"Gowitness input: {stdin}")
164
165
 
165
166
  try:
166
167
  async for line in self.run_process_live(self.command, input=stdin, idle_timeout=self.idle_timeout):
@@ -174,12 +175,14 @@ class gowitness(BaseModule):
174
175
  new_screenshots = await self.get_new_screenshots()
175
176
  for filename, screenshot in new_screenshots.items():
176
177
  url = screenshot["url"]
178
+ url = self.helpers.clean_url(url).geturl()
177
179
  final_url = screenshot["final_url"]
178
180
  filename = self.screenshot_path / screenshot["filename"]
179
181
  filename = filename.relative_to(self.scan.home)
180
182
  # NOTE: this prevents long filenames from causing problems in BBOT, but gowitness will still fail to save it.
181
183
  filename = self.helpers.truncate_filename(filename)
182
184
  webscreenshot_data = {"path": str(filename), "url": final_url}
185
+ self.hugewarning(event_dict)
183
186
  parent_event = event_dict[url]
184
187
  await self.emit_event(
185
188
  webscreenshot_data,
@@ -191,11 +194,11 @@ class gowitness(BaseModule):
191
194
  # emit URLs
192
195
  new_network_logs = await self.get_new_network_logs()
193
196
  for url, row in new_network_logs.items():
194
- ip = row["ip"]
197
+ ip = row["remote_ip"]
195
198
  status_code = row["status_code"]
196
199
  tags = [f"status-{status_code}", f"ip-{ip}", "spider-danger"]
197
200
 
198
- _id = row["url_id"]
201
+ _id = row["result_id"]
199
202
  parent_url = self.screenshots_taken[_id]
200
203
  parent_event = event_dict[parent_url]
201
204
  if url and url.startswith("http"):
@@ -210,7 +213,7 @@ class gowitness(BaseModule):
210
213
  # emit technologies
211
214
  new_technologies = await self.get_new_technologies()
212
215
  for row in new_technologies.values():
213
- parent_id = row["url_id"]
216
+ parent_id = row["result_id"]
214
217
  parent_url = self.screenshots_taken[parent_id]
215
218
  parent_event = event_dict[parent_url]
216
219
  technology = row["value"]
@@ -224,28 +227,29 @@ class gowitness(BaseModule):
224
227
 
225
228
  def construct_command(self):
226
229
  # base executable
227
- command = ["gowitness"]
230
+ command = ["gowitness", "scan"]
228
231
  # chrome path
229
232
  if self.chrome_path is not None:
230
233
  command += ["--chrome-path", str(self.chrome_path)]
231
234
  # db path
232
- command += ["--db-path", str(self.db_path)]
235
+ command += ["--write-db"]
236
+ command += ["--write-db-uri", f"sqlite://{self.db_path}"]
233
237
  # screenshot path
234
238
  command += ["--screenshot-path", str(self.screenshot_path)]
235
239
  # user agent
236
- command += ["--user-agent", f"{self.scan.useragent}"]
240
+ command += ["--chrome-user-agent", f"{self.scan.useragent}"]
237
241
  # proxy
238
242
  if self.proxy:
239
- command += ["--proxy", str(self.proxy)]
243
+ command += ["--chrome-proxy", str(self.proxy)]
240
244
  # resolution
241
- command += ["--resolution-x", str(self.resolution_x)]
242
- command += ["--resolution-y", str(self.resolution_y)]
243
- # input
244
- command += ["file", "-f", "-"]
245
+ command += ["--chrome-window-x", str(self.resolution_x)]
246
+ command += ["--chrome-window-y", str(self.resolution_y)]
245
247
  # threads
246
248
  command += ["--threads", str(self.threads)]
247
249
  # timeout
248
250
  command += ["--timeout", str(self.timeout)]
251
+ # input
252
+ command += ["file", "-f", "-"]
249
253
  return command
250
254
 
251
255
  async def get_new_screenshots(self):
@@ -254,8 +258,10 @@ class gowitness(BaseModule):
254
258
  async with aiosqlite.connect(str(self.db_path)) as con:
255
259
  con.row_factory = aiosqlite.Row
256
260
  con.text_factory = self.helpers.smart_decode
257
- async with con.execute("SELECT * FROM urls") as cur:
261
+ async with con.execute("SELECT * FROM results") as cur:
262
+ self.critical(f"CUR: {cur}")
258
263
  async for row in cur:
264
+ self.critical(f"SCREENSHOT: {row}")
259
265
  row = dict(row)
260
266
  _id = row["id"]
261
267
  if _id not in self.screenshots_taken:
@@ -270,8 +276,9 @@ class gowitness(BaseModule):
270
276
  con.row_factory = aiosqlite.Row
271
277
  async with con.execute("SELECT * FROM network_logs") as cur:
272
278
  async for row in cur:
279
+ self.critical(f"NETWORK LOG: {row}")
273
280
  row = dict(row)
274
- url = row["final_url"]
281
+ url = row["url"]
275
282
  if url not in self.connections_logged:
276
283
  self.connections_logged.add(url)
277
284
  network_logs[url] = row
@@ -284,6 +291,7 @@ class gowitness(BaseModule):
284
291
  con.row_factory = aiosqlite.Row
285
292
  async with con.execute("SELECT * FROM technologies") as cur:
286
293
  async for row in cur:
294
+ self.critical(f"TECHNOLOGY: {row}")
287
295
  _id = row["id"]
288
296
  if _id not in self.technologies_found:
289
297
  self.technologies_found.add(_id)
bbot/test/conftest.py CHANGED
@@ -1,8 +1,8 @@
1
1
  import os
2
2
  import ssl
3
3
  import time
4
- import shutil
5
4
  import pytest
5
+ import shutil
6
6
  import asyncio
7
7
  import logging
8
8
  from pathlib import Path
@@ -51,9 +51,9 @@ class TestGowitness(ModuleTestBase):
51
51
  )
52
52
 
53
53
  screenshots_path = self.home_dir / "scans" / module_test.scan.name / "gowitness" / "screenshots"
54
- screenshots = list(screenshots_path.glob("*.png"))
54
+ screenshots = list(screenshots_path.glob("*.jpeg"))
55
55
  assert len(screenshots) == 1, (
56
- f"{len(screenshots):,} .png files found at {screenshots_path}, should have been 1"
56
+ f"{len(screenshots):,} .jpeg files found at {screenshots_path}, should have been 1"
57
57
  )
58
58
  assert 1 == len([e for e in events if e.type == "URL" and e.data == "http://127.0.0.1:8888/"])
59
59
  assert 1 == len(
@@ -74,9 +74,9 @@ class TestGowitness_Social(TestGowitness):
74
74
 
75
75
  def check(self, module_test, events):
76
76
  screenshots_path = self.home_dir / "scans" / module_test.scan.name / "gowitness" / "screenshots"
77
- screenshots = list(screenshots_path.glob("*.png"))
77
+ screenshots = list(screenshots_path.glob("*.jpeg"))
78
78
  assert len(screenshots) == 2, (
79
- f"{len(screenshots):,} .png files found at {screenshots_path}, should have been 2"
79
+ f"{len(screenshots):,} .jpeg files found at {screenshots_path}, should have been 2"
80
80
  )
81
81
  assert 2 == len([e for e in events if e.type == "WEBSCREENSHOT"])
82
82
  assert 1 == len(
@@ -86,7 +86,7 @@ class TestGowitness_Social(TestGowitness):
86
86
  if e.type == "WEBSCREENSHOT" and e.data["url"] == "http://127.0.0.1:8888/blacklanternsecurity"
87
87
  ]
88
88
  )
89
- assert 1 == len(
89
+ assert len(
90
90
  [
91
91
  e
92
92
  for e in events
@@ -67,21 +67,24 @@ class TestNucleiSevere(TestNucleiManual):
67
67
  "nuclei": {
68
68
  "mode": "severe",
69
69
  "concurrency": 1,
70
- "templates": "/tmp/.bbot_test/tools/nuclei-templates/vulnerabilities/generic/generic-linux-lfi.yaml",
70
+ "templates": "/tmp/.bbot_test/tools/nuclei-templates/vulnerabilities/generic/generic-env.yaml",
71
71
  }
72
72
  },
73
73
  "interactsh_disable": True,
74
74
  }
75
75
 
76
76
  async def setup_after_prep(self, module_test):
77
- expect_args = {"method": "GET", "uri": "/etc/passwd"}
78
- respond_args = {"response_data": "<html>root:.*:0:0:</html>"}
77
+ expect_args = {"method": "GET", "uri": "/.env"}
78
+ respond_args = {"response_data": "AAAKEYBBB="}
79
+ module_test.set_expect_requests(expect_args=expect_args, respond_args=respond_args)
80
+
81
+ expect_args = {"method": "GET", "uri": "/"}
82
+ respond_args = {"response_data": "<html>alive</html>"}
79
83
  module_test.set_expect_requests(expect_args=expect_args, respond_args=respond_args)
80
84
 
81
85
  def check(self, module_test, events):
82
86
  assert any(
83
- e.type == "VULNERABILITY" and "Generic Linux - Local File Inclusion" in e.data["description"]
84
- for e in events
87
+ e.type == "VULNERABILITY" and "Generic Env File Disclosure" in e.data["description"] for e in events
85
88
  )
86
89
 
87
90
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: bbot
3
- Version: 2.5.0.6803rc0
3
+ Version: 2.5.0.6817rc0
4
4
  Summary: OSINT automation for hackers.
5
5
  License: GPL-3.0
6
6
  Keywords: python,cli,automation,osint,threat-intel,intelligence,neo4j,scanner,python-library,hacking,recursion,pentesting,recon,command-line-tool,bugbounty,subdomains,security-tools,subdomain-scanner,osint-framework,attack-surface,subdomain-enumeration,osint-tool
@@ -25,7 +25,7 @@ Requires-Dist: dnspython (>=2.4.2,<3.0.0)
25
25
  Requires-Dist: httpx (>=0.28.1,<0.29.0)
26
26
  Requires-Dist: idna (>=3.4,<4.0)
27
27
  Requires-Dist: jinja2 (>=3.1.3,<4.0.0)
28
- Requires-Dist: lxml (>=4.9.2,<6.0.0)
28
+ Requires-Dist: lxml (>=4.9.2,<7.0.0)
29
29
  Requires-Dist: mmh3 (>=4.1,<6.0)
30
30
  Requires-Dist: omegaconf (>=2.3.0,<3.0.0)
31
31
  Requires-Dist: orjson (>=3.10.12,<4.0.0)
@@ -1,4 +1,4 @@
1
- bbot/__init__.py,sha256=psvZSLfHy5t3AIe_f5WcJGV67hsBRzebgolsC2TQ89Y,163
1
+ bbot/__init__.py,sha256=gN2toq1nimFZuUZGxs9gIO8QLgfQGPXFrAaDoz2U9zQ,163
2
2
  bbot/cli.py,sha256=1QJbANVw9Q3GFM92H2QRV2ds5756ulm08CDZwzwPpeI,11888
3
3
  bbot/core/__init__.py,sha256=l255GJE_DvUnWvrRb0J5lG-iMztJ8zVvoweDOfegGtI,46
4
4
  bbot/core/config/__init__.py,sha256=zYNw2Me6tsEr8hOOkLb4BQ97GB7Kis2k--G81S8vofU,342
@@ -16,7 +16,7 @@ bbot/core/helpers/bloom.py,sha256=gk02rO6x3F5MICa7ZUDsinRudwoGAifsbiyiMCwd0Gs,27
16
16
  bbot/core/helpers/cache.py,sha256=1aMr3HVD45cDtHEG5xlznDUCywRgO9oRFidscrs_5sA,1537
17
17
  bbot/core/helpers/command.py,sha256=ZiLp71iEEcnnHLkvyD_TVeBKl9Uz9PGpTcpl9EHLCgQ,12938
18
18
  bbot/core/helpers/depsinstaller/__init__.py,sha256=C2jF_ymSPIO68F649csYQql37ppPfUjFc8eq8LhgDkQ,66
19
- bbot/core/helpers/depsinstaller/installer.py,sha256=eos-Q9KUPHQRUU8iRiT5pVJccuHaLouMxxFvjPgR_1s,22154
19
+ bbot/core/helpers/depsinstaller/installer.py,sha256=6_7SehcsYRVoU9gYzve85Y5PIzJQUBCgf8THCsqjaAM,22154
20
20
  bbot/core/helpers/depsinstaller/sudo_askpass.py,sha256=yGa2OQv30RO75QkMuG1iruKqb7amQxRVRRcHmvIeGhk,1276
21
21
  bbot/core/helpers/diff.py,sha256=X9MnHfz3IjWhD2grYTHzVPYoiWI9ZqjJul2Bp_BRGcE,10841
22
22
  bbot/core/helpers/dns/__init__.py,sha256=SboBeh4o81Xd4mAKhV10QzoRPDH4g28xC5PZVqVmJ28,35
@@ -83,7 +83,6 @@ bbot/modules/code_repository.py,sha256=x70Z45VnNNMF8BPkHfGWZXsZXw_fStGB3y0-8jbP1
83
83
  bbot/modules/credshed.py,sha256=HAF5wgRGKIIpdMAe4mIAtkZRLmFYjMFyXtjjst6RJ20,4203
84
84
  bbot/modules/crt.py,sha256=6Zm90VKXwYYN6Sab0gwwhTARrtnQIqALJTVtFWMMTGk,1369
85
85
  bbot/modules/crt_db.py,sha256=xaIm2457_xGJjnKss73l1HpPn7pLPHksVzejsimTfZA,2198
86
- bbot/modules/deadly/medusa.py,sha256=44psluRg9VFo6WNLKlnTtH66afqhrOF0STBbLhFkHCE,8859
87
86
  bbot/modules/dehashed.py,sha256=0lzcqMEgwRmprwurZ2-8Y8aOO4KTueJgpY_vh0DWQwA,5155
88
87
  bbot/modules/digitorus.py,sha256=XQY0eAQrA7yo8S57tGncP1ARud-yG4LiWxx5VBYID34,1027
89
88
  bbot/modules/dnsbimi.py,sha256=A4cqhvhytmEEd-tY4CgFwMLbsVtMjkRY9238Aj8aVtU,6921
@@ -113,7 +112,7 @@ bbot/modules/github_usersearch.py,sha256=G8knkQBJsn7EKcMhcEaFPiB_Y5S96e2VaseBubs
113
112
  bbot/modules/github_workflows.py,sha256=xKntAFDeGuE4MqbEmhJyYXKbzoSh9tWYlHNlnF37PYA,10040
114
113
  bbot/modules/gitlab.py,sha256=9oWWpBijeHCjuFBfWW4HvNqt7bvJvrBgBjaaz_UPPnE,5964
115
114
  bbot/modules/google_playstore.py,sha256=N4QjzQag_bgDXfX17rytBiiWA-SQtYI2N0J_ZNEOdv0,3701
116
- bbot/modules/gowitness.py,sha256=o4nIBbHVX9tYVW9CpwTsaftWDZu41nhxS0KEp4FoiBs,13003
115
+ bbot/modules/gowitness.py,sha256=ioh66xQEQ3dz7FfZzR5dPNFdELhJrwiOIm3nGvYl8n8,13466
117
116
  bbot/modules/graphql_introspection.py,sha256=-BAzNhBegup2sIYQdJ0jcafZFTGTZl3WoMygilyvfVA,4144
118
117
  bbot/modules/hackertarget.py,sha256=IsKs9PtxUHdLJKZydlRdW_loBE2KphQYi3lKDAd4odc,1029
119
118
  bbot/modules/host_header.py,sha256=uDjwidMdeNPMRfzQ2YW4REEGsZqnGOZHbOS6GgdNd9s,7686
@@ -144,6 +143,7 @@ bbot/modules/lightfuzz/submodules/serial.py,sha256=Vry3J0Bs3QJqgVPzxhDFmEZQt4FYz
144
143
  bbot/modules/lightfuzz/submodules/sqli.py,sha256=HX0wP-aVn02zzBDujpLgzXPos7w_eiSiALTNCN2O_Bo,8597
145
144
  bbot/modules/lightfuzz/submodules/ssti.py,sha256=Pib49rXFuf567msnlec-A1Tnvolw4aILjqn7INLWQTY,1413
146
145
  bbot/modules/lightfuzz/submodules/xss.py,sha256=BZz1_nqzV8dqJptpoqZEMdVBdtZHmRae3HWo3S9yzIc,9507
146
+ bbot/modules/medusa.py,sha256=44psluRg9VFo6WNLKlnTtH66afqhrOF0STBbLhFkHCE,8859
147
147
  bbot/modules/myssl.py,sha256=DoMF7o6MxIrcglCrC-W3nM-GPcyJRM4PlGdKfnOlIvs,942
148
148
  bbot/modules/newsletters.py,sha256=1Q4JjShPsxHJ-by2CbGfCvEt80blUGPX0hxQIzB_a9M,2630
149
149
  bbot/modules/ntlm.py,sha256=EGmb4k3YC_ZuHIU3mGUZ4yaMjE35wVQQSv8HwTsQJzY,4391
@@ -261,7 +261,7 @@ bbot/scanner/target.py,sha256=lI0Tn5prQiPiJE3WW-ZLx_l6EFqzAVabtyL-nfXJ8cE,10636
261
261
  bbot/scripts/docs.py,sha256=aYAHlcHtMAhM-XGTDiSpzccnX1dh0Xi_WxmC2bgylQ4,11373
262
262
  bbot/test/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
263
263
  bbot/test/bbot_fixtures.py,sha256=XrCQDLVe80BG3QTUDnXb0y-cWnBpJJoRh2Z3J3xJn_w,9961
264
- bbot/test/conftest.py,sha256=OacpJ98g00HqCoHpEnuzzMK47LkbZdJWr25Pm0SbTM0,11783
264
+ bbot/test/conftest.py,sha256=194ckIxGs5EUp2wa1VOIFwClavFSlIPOKU5tKjAaN4k,11783
265
265
  bbot/test/coverage.cfg,sha256=ko9RacAYsJxWJCL8aEuNtkAOtP9lexYiDbeFWe8Tp8Y,31
266
266
  bbot/test/fastapi_test.py,sha256=9OhOFRyagXTshMsnuzuKIcR4uzS6VW65m7h9KgB4jSA,381
267
267
  bbot/test/owasp_mastg.apk,sha256=Hai_V9JmEJ-aB8Ab9xEaGXXOAfGQudkUvNOuPb75byE,66651
@@ -364,7 +364,7 @@ bbot/test/test_step_2/module_tests/test_module_github_usersearch.py,sha256=IIQ0t
364
364
  bbot/test/test_step_2/module_tests/test_module_github_workflows.py,sha256=o_teEaskm3H22QEKod5KJayFvvcgOQoG4eItGWv8C8E,38006
365
365
  bbot/test/test_step_2/module_tests/test_module_gitlab.py,sha256=fnwE7BWTU6EQquKdGLCiaX_LwVwvzOLev3Y9GheTLSY,11859
366
366
  bbot/test/test_step_2/module_tests/test_module_google_playstore.py,sha256=uTRqpAGI9HI-rOk_6jdV44OoSqi0QQQ3aTVzvuV0dtc,3034
367
- bbot/test/test_step_2/module_tests/test_module_gowitness.py,sha256=EH3NIMDA3XgZz1yffu-PnRCrlZJODakGPfzgnU7Ls_s,6501
367
+ bbot/test/test_step_2/module_tests/test_module_gowitness.py,sha256=8kSeBowX4eejMW791mIaFqP9SDn1l2EDRJatvmZVWug,6500
368
368
  bbot/test/test_step_2/module_tests/test_module_graphql_introspection.py,sha256=qac8DJ_exe6Ra4UgRvVMSdgBhLIZP9lmXyKhi9RPOK8,1241
369
369
  bbot/test/test_step_2/module_tests/test_module_hackertarget.py,sha256=ldhNKxGk5fwq87zVptQDyfQ-cn3FzbWvpadKEO3h4ic,609
370
370
  bbot/test/test_step_2/module_tests/test_module_host_header.py,sha256=w1x0MyKNiUol4hlw7CijhMwEMEL5aBddbZZjOcEgv_k,2672
@@ -387,7 +387,7 @@ bbot/test/test_step_2/module_tests/test_module_neo4j.py,sha256=pUUaqxBsF6s11dEDh
387
387
  bbot/test/test_step_2/module_tests/test_module_newsletters.py,sha256=uf5t2oRqxhNToPjEfkY9vMdOUzrSocvx8w5itS6HUaM,2295
388
388
  bbot/test/test_step_2/module_tests/test_module_nmap_xml.py,sha256=KbUAjhARvtERv7Jx666n2hkuLOmK8Zah8RpLZqNyAuE,3548
389
389
  bbot/test/test_step_2/module_tests/test_module_ntlm.py,sha256=tPUrsOnq8iV0l_qiD_4xkqp0-o_T2uI1e-yH22oNveA,1132
390
- bbot/test/test_step_2/module_tests/test_module_nuclei.py,sha256=2hJXnr40AO5o5xeapxX-YToNxdkSmlQ4JkSorsMkbxw,7005
390
+ bbot/test/test_step_2/module_tests/test_module_nuclei.py,sha256=2eOfcHYIZPoFFCyWEa7V2D8pXdIv3vMuySUTWMKwqwM,7165
391
391
  bbot/test/test_step_2/module_tests/test_module_oauth.py,sha256=pN1o0DmcwGCa985FrIhUuX1jIGriDjaxMzWozuv8pR0,9481
392
392
  bbot/test/test_step_2/module_tests/test_module_otx.py,sha256=-fHX5zNnke21lOQUnTfAj1KIoQXuLLYO_QunDRGkj8o,1159
393
393
  bbot/test/test_step_2/module_tests/test_module_paramminer_cookies.py,sha256=wFGJjP1LvD04BTX822uNH30VRKr7b7DnFNjiBN1uJx0,2375
@@ -453,8 +453,8 @@ bbot/wordlists/raft-small-extensions-lowercase_CLEANED.txt,sha256=ZSIVebs7ptMvHx
453
453
  bbot/wordlists/top_open_ports_nmap.txt,sha256=LmdFYkfapSxn1pVuQC2LkOIY2hMLgG-Xts7DVtYzweM,42727
454
454
  bbot/wordlists/valid_url_schemes.txt,sha256=0B_VAr9Dv7aYhwi6JSBDU-3M76vNtzN0qEC_RNLo7HE,3310
455
455
  bbot/wordlists/wordninja_dns.txt.gz,sha256=DYHvvfW0TvzrVwyprqODAk4tGOxv5ezNmCPSdPuDUnQ,570241
456
- bbot-2.5.0.6803rc0.dist-info/LICENSE,sha256=GzeCzK17hhQQDNow0_r0L8OfLpeTKQjFQwBQU7ZUymg,32473
457
- bbot-2.5.0.6803rc0.dist-info/METADATA,sha256=RafoLsvxll-6fDNfVENz3dKWCZBy4nwrtx3qVZfkjw0,18308
458
- bbot-2.5.0.6803rc0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
459
- bbot-2.5.0.6803rc0.dist-info/entry_points.txt,sha256=cWjvcU_lLrzzJgjcjF7yeGuRA_eDS8pQ-kmPUAyOBfo,38
460
- bbot-2.5.0.6803rc0.dist-info/RECORD,,
456
+ bbot-2.5.0.6817rc0.dist-info/LICENSE,sha256=GzeCzK17hhQQDNow0_r0L8OfLpeTKQjFQwBQU7ZUymg,32473
457
+ bbot-2.5.0.6817rc0.dist-info/METADATA,sha256=3jKU0pEmQbdVHj48x7HnIo51Lwz1iPrOKtdOh5m8St8,18308
458
+ bbot-2.5.0.6817rc0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
459
+ bbot-2.5.0.6817rc0.dist-info/entry_points.txt,sha256=cWjvcU_lLrzzJgjcjF7yeGuRA_eDS8pQ-kmPUAyOBfo,38
460
+ bbot-2.5.0.6817rc0.dist-info/RECORD,,
File without changes