bbot 2.3.0.5384rc0__tar.gz → 2.3.0.5399rc0__tar.gz

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.

Files changed (420) hide show
  1. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/PKG-INFO +1 -1
  2. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/__init__.py +1 -1
  3. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/helpers/bloom.py +2 -2
  4. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/helpers/diff.py +3 -3
  5. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/helpers/regexes.py +2 -2
  6. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/helpers/web/web.py +1 -1
  7. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/defaults.yml +1 -1
  8. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/deadly/nuclei.py +1 -1
  9. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/dnsbimi.py +1 -1
  10. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/docker_pull.py +1 -1
  11. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/internal/cloudcheck.py +3 -1
  12. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/internal/dnsresolve.py +1 -3
  13. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/output/asset_inventory.py +1 -1
  14. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/portscan.py +1 -1
  15. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/report/asn.py +8 -1
  16. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/telerik.py +1 -1
  17. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/presets/kitchen-sink.yml +0 -2
  18. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/presets/web/dotnet-audit.yml +0 -1
  19. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/scanner/preset/args.py +3 -1
  20. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/scanner/preset/preset.py +1 -1
  21. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_1/test__module__tests.py +0 -1
  22. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_1/test_bbot_fastapi.py +0 -3
  23. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_1/test_bloom_filter.py +0 -1
  24. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_1/test_dns.py +1 -4
  25. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_1/test_engine.py +0 -2
  26. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_1/test_events.py +0 -2
  27. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_1/test_helpers.py +0 -1
  28. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_1/test_presets.py +1 -6
  29. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_1/test_target.py +0 -1
  30. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_1/test_web.py +0 -2
  31. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_baddns_direct.py +3 -3
  32. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_bypass403.py +1 -1
  33. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_dnsdumpster.py +2 -2
  34. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_excavate.py +11 -11
  35. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_gowitness.py +1 -3
  36. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_hunterio.py +1 -1
  37. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_newsletters.py +10 -10
  38. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_ntlm.py +2 -1
  39. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_pgp.py +2 -2
  40. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_smuggler.py +13 -13
  41. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_speculate.py +2 -2
  42. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_telerik.py +1 -1
  43. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_viewdns.py +1 -1
  44. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/wordlists/devops_mutations.txt +1 -1
  45. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/wordlists/ffuf_shortname_candidates.txt +1 -1
  46. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/wordlists/nameservers.txt +1 -1
  47. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/wordlists/paramminer_headers.txt +1 -1
  48. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/wordlists/paramminer_parameters.txt +1 -1
  49. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/wordlists/raft-small-extensions-lowercase_CLEANED.txt +1 -1
  50. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/wordlists/valid_url_schemes.txt +1 -1
  51. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/pyproject.toml +6 -2
  52. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/LICENSE +0 -0
  53. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/README.md +0 -0
  54. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/cli.py +0 -0
  55. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/__init__.py +0 -0
  56. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/config/__init__.py +0 -0
  57. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/config/files.py +0 -0
  58. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/config/logger.py +0 -0
  59. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/core.py +0 -0
  60. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/engine.py +0 -0
  61. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/event/__init__.py +0 -0
  62. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/event/base.py +0 -0
  63. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/event/helpers.py +0 -0
  64. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/flags.py +0 -0
  65. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/helpers/__init__.py +0 -0
  66. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/helpers/async_helpers.py +0 -0
  67. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/helpers/cache.py +0 -0
  68. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/helpers/command.py +0 -0
  69. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/helpers/depsinstaller/__init__.py +0 -0
  70. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/helpers/depsinstaller/installer.py +0 -0
  71. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/helpers/depsinstaller/sudo_askpass.py +0 -0
  72. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/helpers/dns/__init__.py +0 -0
  73. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/helpers/dns/brute.py +0 -0
  74. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/helpers/dns/dns.py +0 -0
  75. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/helpers/dns/engine.py +0 -0
  76. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/helpers/dns/helpers.py +0 -0
  77. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/helpers/dns/mock.py +0 -0
  78. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/helpers/files.py +0 -0
  79. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/helpers/helper.py +0 -0
  80. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/helpers/interactsh.py +0 -0
  81. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/helpers/libmagic.py +0 -0
  82. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/helpers/misc.py +0 -0
  83. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/helpers/names_generator.py +0 -0
  84. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/helpers/ntlm.py +0 -0
  85. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/helpers/process.py +0 -0
  86. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/helpers/ratelimiter.py +0 -0
  87. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/helpers/regex.py +0 -0
  88. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/helpers/url.py +0 -0
  89. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/helpers/validators.py +0 -0
  90. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/helpers/web/__init__.py +0 -0
  91. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/helpers/web/client.py +0 -0
  92. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/helpers/web/engine.py +0 -0
  93. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/helpers/web/ssl_context.py +0 -0
  94. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/helpers/wordcloud.py +0 -0
  95. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/modules.py +0 -0
  96. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/multiprocess.py +0 -0
  97. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/core/shared_deps.py +0 -0
  98. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/db/sql/models.py +0 -0
  99. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/errors.py +0 -0
  100. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/logger.py +0 -0
  101. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/__init__.py +0 -0
  102. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/ajaxpro.py +0 -0
  103. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/anubisdb.py +0 -0
  104. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/apkpure.py +0 -0
  105. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/azure_realm.py +0 -0
  106. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/azure_tenant.py +0 -0
  107. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/baddns.py +0 -0
  108. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/baddns_direct.py +0 -0
  109. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/baddns_zone.py +0 -0
  110. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/badsecrets.py +0 -0
  111. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/base.py +0 -0
  112. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/bevigil.py +0 -0
  113. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/binaryedge.py +0 -0
  114. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/bucket_amazon.py +0 -0
  115. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/bucket_azure.py +0 -0
  116. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/bucket_digitalocean.py +0 -0
  117. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/bucket_file_enum.py +0 -0
  118. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/bucket_firebase.py +0 -0
  119. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/bucket_google.py +0 -0
  120. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/bufferoverrun.py +0 -0
  121. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/builtwith.py +0 -0
  122. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/bypass403.py +0 -0
  123. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/c99.py +0 -0
  124. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/censys.py +0 -0
  125. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/certspotter.py +0 -0
  126. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/chaos.py +0 -0
  127. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/code_repository.py +0 -0
  128. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/columbus.py +0 -0
  129. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/credshed.py +0 -0
  130. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/crt.py +0 -0
  131. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/deadly/dastardly.py +0 -0
  132. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/deadly/ffuf.py +0 -0
  133. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/deadly/vhost.py +0 -0
  134. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/dehashed.py +0 -0
  135. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/digitorus.py +0 -0
  136. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/dnsbrute.py +0 -0
  137. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/dnsbrute_mutations.py +0 -0
  138. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/dnscaa.py +0 -0
  139. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/dnscommonsrv.py +0 -0
  140. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/dnsdumpster.py +0 -0
  141. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/dnstlsrpt.py +0 -0
  142. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/dockerhub.py +0 -0
  143. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/dotnetnuke.py +0 -0
  144. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/emailformat.py +0 -0
  145. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/extractous.py +0 -0
  146. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/ffuf_shortnames.py +0 -0
  147. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/filedownload.py +0 -0
  148. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/fingerprintx.py +0 -0
  149. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/fullhunt.py +0 -0
  150. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/generic_ssrf.py +0 -0
  151. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/git.py +0 -0
  152. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/git_clone.py +0 -0
  153. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/github_codesearch.py +0 -0
  154. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/github_org.py +0 -0
  155. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/github_workflows.py +0 -0
  156. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/gitlab.py +0 -0
  157. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/google_playstore.py +0 -0
  158. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/gowitness.py +0 -0
  159. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/hackertarget.py +0 -0
  160. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/host_header.py +0 -0
  161. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/httpx.py +0 -0
  162. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/hunt.py +0 -0
  163. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/hunterio.py +0 -0
  164. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/iis_shortnames.py +0 -0
  165. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/internal/__init__.py +0 -0
  166. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/internal/aggregate.py +0 -0
  167. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/internal/base.py +0 -0
  168. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/internal/excavate.py +0 -0
  169. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/internal/speculate.py +0 -0
  170. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/internetdb.py +0 -0
  171. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/ip2location.py +0 -0
  172. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/ipneighbor.py +0 -0
  173. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/ipstack.py +0 -0
  174. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/jadx.py +0 -0
  175. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/leakix.py +0 -0
  176. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/myssl.py +0 -0
  177. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/newsletters.py +0 -0
  178. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/ntlm.py +0 -0
  179. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/oauth.py +0 -0
  180. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/otx.py +0 -0
  181. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/output/__init__.py +0 -0
  182. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/output/base.py +0 -0
  183. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/output/csv.py +0 -0
  184. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/output/discord.py +0 -0
  185. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/output/emails.py +0 -0
  186. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/output/http.py +0 -0
  187. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/output/json.py +0 -0
  188. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/output/mysql.py +0 -0
  189. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/output/neo4j.py +0 -0
  190. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/output/postgres.py +0 -0
  191. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/output/python.py +0 -0
  192. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/output/slack.py +0 -0
  193. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/output/splunk.py +0 -0
  194. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/output/sqlite.py +0 -0
  195. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/output/stdout.py +0 -0
  196. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/output/subdomains.py +0 -0
  197. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/output/teams.py +0 -0
  198. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/output/txt.py +0 -0
  199. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/output/web_report.py +0 -0
  200. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/output/websocket.py +0 -0
  201. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/paramminer_cookies.py +0 -0
  202. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/paramminer_getparams.py +0 -0
  203. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/paramminer_headers.py +0 -0
  204. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/passivetotal.py +0 -0
  205. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/pgp.py +0 -0
  206. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/postman.py +0 -0
  207. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/postman_download.py +0 -0
  208. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/rapiddns.py +0 -0
  209. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/report/affiliates.py +0 -0
  210. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/report/base.py +0 -0
  211. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/robots.py +0 -0
  212. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/secretsdb.py +0 -0
  213. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/securitytrails.py +0 -0
  214. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/securitytxt.py +0 -0
  215. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/shodan_dns.py +0 -0
  216. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/sitedossier.py +0 -0
  217. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/skymem.py +0 -0
  218. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/smuggler.py +0 -0
  219. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/social.py +0 -0
  220. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/sslcert.py +0 -0
  221. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/subdomaincenter.py +0 -0
  222. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/subdomainradar.py +0 -0
  223. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/templates/bucket.py +0 -0
  224. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/templates/github.py +0 -0
  225. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/templates/postman.py +0 -0
  226. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/templates/shodan.py +0 -0
  227. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/templates/sql.py +0 -0
  228. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/templates/subdomain_enum.py +0 -0
  229. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/templates/webhook.py +0 -0
  230. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/trickest.py +0 -0
  231. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/trufflehog.py +0 -0
  232. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/url_manipulation.py +0 -0
  233. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/urlscan.py +0 -0
  234. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/viewdns.py +0 -0
  235. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/virustotal.py +0 -0
  236. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/wafw00f.py +0 -0
  237. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/wappalyzer.py +0 -0
  238. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/wayback.py +0 -0
  239. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/wpscan.py +0 -0
  240. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/modules/zoomeye.py +0 -0
  241. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/presets/baddns-thorough.yml +0 -0
  242. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/presets/cloud-enum.yml +0 -0
  243. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/presets/code-enum.yml +0 -0
  244. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/presets/email-enum.yml +0 -0
  245. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/presets/fast.yml +0 -0
  246. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/presets/spider.yml +0 -0
  247. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/presets/subdomain-enum.yml +0 -0
  248. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/presets/web/dirbust-heavy.yml +0 -0
  249. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/presets/web/dirbust-light.yml +0 -0
  250. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/presets/web/iis-shortnames.yml +0 -0
  251. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/presets/web/paramminer.yml +0 -0
  252. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/presets/web-basic.yml +0 -0
  253. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/presets/web-screenshots.yml +0 -0
  254. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/presets/web-thorough.yml +0 -0
  255. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/scanner/__init__.py +0 -0
  256. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/scanner/dispatcher.py +0 -0
  257. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/scanner/manager.py +0 -0
  258. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/scanner/preset/__init__.py +0 -0
  259. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/scanner/preset/conditions.py +0 -0
  260. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/scanner/preset/environ.py +0 -0
  261. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/scanner/preset/path.py +0 -0
  262. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/scanner/scanner.py +0 -0
  263. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/scanner/stats.py +0 -0
  264. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/scanner/target.py +0 -0
  265. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/scripts/docs.py +0 -0
  266. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/__init__.py +0 -0
  267. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/bbot_fixtures.py +0 -0
  268. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/conftest.py +0 -0
  269. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/coverage.cfg +0 -0
  270. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/fastapi_test.py +0 -0
  271. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/owasp_mastg.apk +0 -0
  272. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/run_tests.sh +0 -0
  273. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test.conf +0 -0
  274. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_output.ndjson +0 -0
  275. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_1/__init__.py +0 -0
  276. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_1/test_cli.py +0 -0
  277. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_1/test_command.py +0 -0
  278. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_1/test_config.py +0 -0
  279. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_1/test_depsinstaller.py +0 -0
  280. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_1/test_docs.py +0 -0
  281. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_1/test_files.py +0 -0
  282. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_1/test_manager_deduplication.py +0 -0
  283. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_1/test_manager_scope_accuracy.py +0 -0
  284. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_1/test_modules_basic.py +0 -0
  285. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_1/test_python_api.py +0 -0
  286. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_1/test_regexes.py +0 -0
  287. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_1/test_scan.py +0 -0
  288. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_1/test_scope.py +0 -0
  289. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/__init__.py +0 -0
  290. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/__init__.py +0 -0
  291. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/base.py +0 -0
  292. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_affiliates.py +0 -0
  293. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_aggregate.py +0 -0
  294. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_ajaxpro.py +0 -0
  295. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_anubisdb.py +0 -0
  296. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_apkpure.py +0 -0
  297. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_asn.py +0 -0
  298. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_asset_inventory.py +0 -0
  299. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_azure_realm.py +0 -0
  300. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_azure_tenant.py +0 -0
  301. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_baddns.py +0 -0
  302. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_baddns_zone.py +0 -0
  303. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_badsecrets.py +0 -0
  304. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_bevigil.py +0 -0
  305. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_binaryedge.py +0 -0
  306. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_bucket_amazon.py +0 -0
  307. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_bucket_azure.py +0 -0
  308. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_bucket_digitalocean.py +0 -0
  309. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_bucket_file_enum.py +0 -0
  310. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_bucket_firebase.py +0 -0
  311. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_bucket_google.py +0 -0
  312. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_bufferoverrun.py +0 -0
  313. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_builtwith.py +0 -0
  314. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_c99.py +0 -0
  315. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_censys.py +0 -0
  316. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_certspotter.py +0 -0
  317. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_chaos.py +0 -0
  318. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_cloudcheck.py +0 -0
  319. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_code_repository.py +0 -0
  320. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_columbus.py +0 -0
  321. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_credshed.py +0 -0
  322. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_crt.py +0 -0
  323. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_csv.py +0 -0
  324. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_dastardly.py +0 -0
  325. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_dehashed.py +0 -0
  326. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_digitorus.py +0 -0
  327. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_discord.py +0 -0
  328. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_dnsbimi.py +0 -0
  329. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_dnsbrute.py +0 -0
  330. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_dnsbrute_mutations.py +0 -0
  331. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_dnscaa.py +0 -0
  332. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_dnscommonsrv.py +0 -0
  333. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_dnsresolve.py +0 -0
  334. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_dnstlsrpt.py +0 -0
  335. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_docker_pull.py +0 -0
  336. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_dockerhub.py +0 -0
  337. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_dotnetnuke.py +0 -0
  338. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_emailformat.py +0 -0
  339. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_emails.py +0 -0
  340. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_extractous.py +0 -0
  341. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_ffuf.py +0 -0
  342. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_ffuf_shortnames.py +0 -0
  343. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_filedownload.py +0 -0
  344. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_fingerprintx.py +0 -0
  345. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_fullhunt.py +0 -0
  346. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_generic_ssrf.py +0 -0
  347. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_git.py +0 -0
  348. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_git_clone.py +0 -0
  349. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_github_codesearch.py +0 -0
  350. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_github_org.py +0 -0
  351. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_github_workflows.py +0 -0
  352. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_gitlab.py +0 -0
  353. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_google_playstore.py +0 -0
  354. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_hackertarget.py +0 -0
  355. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_host_header.py +0 -0
  356. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_http.py +0 -0
  357. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_httpx.py +0 -0
  358. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_hunt.py +0 -0
  359. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_iis_shortnames.py +0 -0
  360. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_internetdb.py +0 -0
  361. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_ip2location.py +0 -0
  362. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_ipneighbor.py +0 -0
  363. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_ipstack.py +0 -0
  364. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_jadx.py +0 -0
  365. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_json.py +0 -0
  366. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_leakix.py +0 -0
  367. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_mysql.py +0 -0
  368. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_myssl.py +0 -0
  369. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_neo4j.py +0 -0
  370. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_nuclei.py +0 -0
  371. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_oauth.py +0 -0
  372. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_otx.py +0 -0
  373. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_paramminer_cookies.py +0 -0
  374. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_paramminer_getparams.py +0 -0
  375. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_paramminer_headers.py +0 -0
  376. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_passivetotal.py +0 -0
  377. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_portscan.py +0 -0
  378. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_postgres.py +0 -0
  379. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_postman.py +0 -0
  380. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_postman_download.py +0 -0
  381. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_python.py +0 -0
  382. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_rapiddns.py +0 -0
  383. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_robots.py +0 -0
  384. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_secretsdb.py +0 -0
  385. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_securitytrails.py +0 -0
  386. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_securitytxt.py +0 -0
  387. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_shodan_dns.py +0 -0
  388. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_sitedossier.py +0 -0
  389. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_skymem.py +0 -0
  390. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_slack.py +0 -0
  391. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_social.py +0 -0
  392. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_splunk.py +0 -0
  393. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_sqlite.py +0 -0
  394. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_sslcert.py +0 -0
  395. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_stdout.py +0 -0
  396. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_subdomaincenter.py +0 -0
  397. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_subdomainradar.py +0 -0
  398. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_subdomains.py +0 -0
  399. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_teams.py +0 -0
  400. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_trickest.py +0 -0
  401. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_trufflehog.py +0 -0
  402. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_txt.py +0 -0
  403. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_url_manipulation.py +0 -0
  404. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_urlscan.py +0 -0
  405. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_vhost.py +0 -0
  406. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_virustotal.py +0 -0
  407. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_wafw00f.py +0 -0
  408. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_wappalyzer.py +0 -0
  409. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_wayback.py +0 -0
  410. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_web_report.py +0 -0
  411. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_websocket.py +0 -0
  412. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_wpscan.py +0 -0
  413. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/module_tests/test_module_zoomeye.py +0 -0
  414. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/template_tests/__init__.py +0 -0
  415. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/test_step_2/template_tests/test_template_subdomain_enum.py +0 -0
  416. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/testsslcert.pem +0 -0
  417. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/test/testsslkey.pem +0 -0
  418. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/wordlists/ms_on_prem_subdomains.txt +0 -0
  419. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/wordlists/top_open_ports_nmap.txt +0 -0
  420. {bbot-2.3.0.5384rc0 → bbot-2.3.0.5399rc0}/bbot/wordlists/wordninja_dns.txt.gz +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: bbot
3
- Version: 2.3.0.5384rc0
3
+ Version: 2.3.0.5399rc0
4
4
  Summary: OSINT automation for hackers.
5
5
  Home-page: https://github.com/blacklanternsecurity/bbot
6
6
  License: GPL-3.0
@@ -1,4 +1,4 @@
1
1
  # version placeholder (replaced by poetry-dynamic-versioning)
2
- __version__ = "v2.3.0.5384rc"
2
+ __version__ = "v2.3.0.5399rc"
3
3
 
4
4
  from .scanner import Scanner, Preset
@@ -5,14 +5,14 @@ import mmap
5
5
 
6
6
  class BloomFilter:
7
7
  """
8
- Simple bloom filter implementation capable of rougly 400K lookups/s.
8
+ Simple bloom filter implementation capable of roughly 400K lookups/s.
9
9
 
10
10
  BBOT uses bloom filters in scenarios like DNS brute-forcing, where it's useful to keep track
11
11
  of which mutations have been tried so far.
12
12
 
13
13
  A 100-megabyte bloom filter (800M bits) can store 10M entries with a .01% false-positive rate.
14
14
  A python hash is 36 bytes. So if you wanted to store these in a set, this would take up
15
- 36 * 10M * 2 (key+value) == 720 megabytes. So we save rougly 7 times the space.
15
+ 36 * 10M * 2 (key+value) == 720 megabytes. So we save roughly 7 times the space.
16
16
  """
17
17
 
18
18
  def __init__(self, size=8000000):
@@ -94,7 +94,7 @@ class HttpCompare:
94
94
  baseline_1_json = xmltodict.parse(baseline_1.text)
95
95
  baseline_2_json = xmltodict.parse(baseline_2.text)
96
96
  except ExpatError:
97
- log.debug(f"Cant HTML parse for {self.baseline_url}. Switching to text parsing as a backup")
97
+ log.debug(f"Can't HTML parse for {self.baseline_url}. Switching to text parsing as a backup")
98
98
  baseline_1_json = baseline_1.text.split("\n")
99
99
  baseline_2_json = baseline_2.text.split("\n")
100
100
 
@@ -203,7 +203,7 @@ class HttpCompare:
203
203
  )
204
204
 
205
205
  if subject_response is None:
206
- # this can be caused by a WAF not liking the header, so we really arent interested in it
206
+ # this can be caused by a WAF not liking the header, so we really aren't interested in it
207
207
  return (True, "403", reflection, subject_response)
208
208
 
209
209
  if check_reflection:
@@ -225,7 +225,7 @@ class HttpCompare:
225
225
  subject_json = xmltodict.parse(subject_response.text)
226
226
 
227
227
  except ExpatError:
228
- log.debug(f"Cant HTML parse for {subject.split('?')[0]}. Switching to text parsing as a backup")
228
+ log.debug(f"Can't HTML parse for {subject.split('?')[0]}. Switching to text parsing as a backup")
229
229
  subject_json = subject_response.text.split("\n")
230
230
 
231
231
  diff_reasons = []
@@ -23,7 +23,7 @@ num_regex = re.compile(r"\d+")
23
23
  _ipv4_regex = r"(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(?:\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}"
24
24
  ipv4_regex = re.compile(_ipv4_regex, re.I)
25
25
 
26
- # IPv6 is complicated, so we have accomodate alternative patterns,
26
+ # IPv6 is complicated, so we have accommodate alternative patterns,
27
27
  # :(:[A-F0-9]{1,4}){1,7} == ::1, ::ffff:1
28
28
  # ([A-F0-9]{1,4}:){1,7}: == 2001::, 2001:db8::, 2001:db8:0:1:2:3::
29
29
  # ([A-F0-9]{1,4}:){1,6}:([A-F0-9]{1,4}) == 2001::1, 2001:db8::1, 2001:db8:0:1:2:3::1
@@ -118,7 +118,7 @@ event_type_regexes = OrderedDict(
118
118
  scan_name_regex = re.compile(r"[a-z]{3,20}_[a-z]{3,20}")
119
119
 
120
120
 
121
- # For use with excavate paramaters extractor
121
+ # For use with excavate parameters extractor
122
122
  input_tag_regex = re.compile(
123
123
  r"<input[^>]+?name=[\"\']?([\.$\w]+)[\"\']?(?:[^>]*?value=[\"\']([=+\/\w]*)[\"\'])?[^>]*>"
124
124
  )
@@ -451,7 +451,7 @@ class WebHelper(EngineClient):
451
451
  Perform an html parse of the 'markup' argument and return a soup instance
452
452
 
453
453
  >>> email_type = soup.find(type="email")
454
- Searches the soup instance for all occurances of the passed in argument
454
+ Searches the soup instance for all occurrences of the passed in argument
455
455
  """
456
456
  try:
457
457
  soup = BeautifulSoup(
@@ -74,7 +74,7 @@ dns:
74
74
 
75
75
  web:
76
76
  # HTTP proxy
77
- http_proxy:
77
+ http_proxy:
78
78
  # Web user-agent
79
79
  user_agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.2151.97
80
80
  # Set the maximum number of HTTP links that can be followed in a row (0 == no spidering allowed)
@@ -227,7 +227,7 @@ class nuclei(BaseModule):
227
227
  command.append(option)
228
228
 
229
229
  if self.scan.config.get("interactsh_disable") is True:
230
- self.info("Disbling interactsh in accordance with global settings")
230
+ self.info("Disabling interactsh in accordance with global settings")
231
231
  command.append("-no-interactsh")
232
232
 
233
233
  if self.mode == "technology":
@@ -19,7 +19,7 @@
19
19
  #
20
20
  # NOTE: .svg file extensions are filtered from inclusion by default, modify "url_extension_blacklist" appropriately if you want the .svg image to be considered for download.
21
21
  #
22
- # NOTE: use the "filedownload" module if you to download .svg and .pem files. .pem will be downloaded by defaut, .svg will require a customised configuration for that module.
22
+ # NOTE: use the "filedownload" module if you to download .svg and .pem files. .pem will be downloaded by default, .svg will require a customised configuration for that module.
23
23
  #
24
24
  # The domain portion of any URL_UNVERIFIED's will be extracted by the various internal modules if .svg is not filtered.
25
25
  #
@@ -102,7 +102,7 @@ class docker_pull(BaseModule):
102
102
  url = f"{registry}/v2/{repository}/tags/list"
103
103
  r = await self.docker_api_request(url)
104
104
  if r is None or r.status_code != 200:
105
- self.log.warning(f"Could not retrieve all tags for {repository} asuming tag:latest only.")
105
+ self.log.warning(f"Could not retrieve all tags for {repository} assuming tag:latest only.")
106
106
  self.log.debug(f"Response: {r}")
107
107
  return ["latest"]
108
108
  try:
@@ -57,7 +57,9 @@ class CloudCheck(BaseInterceptModule):
57
57
  for provider in self.helpers.cloud.providers.values():
58
58
  provider_name = provider.name.lower()
59
59
  base_kwargs = {
60
- "parent": event, "tags": [f"{provider.provider_type}-{provider_name}"], "_provider": provider_name
60
+ "parent": event,
61
+ "tags": [f"{provider.provider_type}-{provider_name}"],
62
+ "_provider": provider_name,
61
63
  }
62
64
  # loop through the provider's regex signatures, if any
63
65
  for event_type, sigs in provider.signatures.items():
@@ -306,9 +306,7 @@ class DNSResolve(BaseInterceptModule):
306
306
  @property
307
307
  def emit_raw_records(self):
308
308
  if self._emit_raw_records is None:
309
- watching_raw_records = any(
310
- "RAW_DNS_RECORD" in m.get_watched_events() for m in self.scan.modules.values()
311
- )
309
+ watching_raw_records = any("RAW_DNS_RECORD" in m.get_watched_events() for m in self.scan.modules.values())
312
310
  omitted_event_types = self.scan.config.get("omit_event_types", [])
313
311
  omit_raw_records = "RAW_DNS_RECORD" in omitted_event_types
314
312
  self._emit_raw_records = watching_raw_records or not omit_raw_records
@@ -259,7 +259,7 @@ class Asset:
259
259
  # ips
260
260
  self.ip_addresses = set(_make_ip_list(row.get("IP (External)", "")))
261
261
  self.ip_addresses.update(set(_make_ip_list(row.get("IP (Internal)", ""))))
262
- # If user reqests a recheck dont import the following fields to force them to be rechecked
262
+ # If user requests a recheck dont import the following fields to force them to be rechecked
263
263
  if not self.recheck:
264
264
  # ports
265
265
  ports = [i.strip() for i in row.get("Open Ports", "").split(",")]
@@ -104,7 +104,7 @@ class portscan(BaseModule):
104
104
  return True
105
105
 
106
106
  async def handle_batch(self, *events):
107
- # on our first run, we automatically include all our intial scan targets
107
+ # on our first run, we automatically include all our initial scan targets
108
108
  if not self.scanned_initial_targets:
109
109
  self.scanned_initial_targets = True
110
110
  events = set(events)
@@ -207,7 +207,14 @@ class asn(BaseReportModule):
207
207
  return False
208
208
  asns_tried.add(asn)
209
209
  asns.append(
210
- {"asn": asn, "subnet": subnet, "name": name, "description": description, "country": country, "emails": emails}
210
+ {
211
+ "asn": asn,
212
+ "subnet": subnet,
213
+ "name": name,
214
+ "description": description,
215
+ "country": country,
216
+ "emails": emails,
217
+ }
211
218
  )
212
219
  if not asns:
213
220
  self.debug(f'No results for "{ip}"')
@@ -173,7 +173,7 @@ class telerik(BaseModule):
173
173
  webresource = "Telerik.Web.UI.WebResource.axd?type=rau"
174
174
  result, _ = await self.test_detector(event.data, webresource)
175
175
  if result:
176
- if "RadAsyncUpload handler is registered succesfully" in result.text:
176
+ if "RadAsyncUpload handler is registered successfully" in result.text:
177
177
  self.debug("Detected Telerik instance (Telerik.Web.UI.WebResource.axd?type=rau)")
178
178
 
179
179
  probe_data = {
@@ -16,5 +16,3 @@ config:
16
16
  modules:
17
17
  baddns:
18
18
  enable_references: True
19
-
20
-
@@ -19,4 +19,3 @@ config:
19
19
  extensions: asp,aspx,ashx,asmx,ascx
20
20
  telerik:
21
21
  exploit_RAU_crypto: True
22
-
@@ -175,7 +175,9 @@ class BBOTArgs:
175
175
  def create_parser(self, *args, **kwargs):
176
176
  kwargs.update(
177
177
  {
178
- "description": "Bighuge BLS OSINT Tool", "formatter_class": argparse.RawTextHelpFormatter, "epilog": self.epilog
178
+ "description": "Bighuge BLS OSINT Tool",
179
+ "formatter_class": argparse.RawTextHelpFormatter,
180
+ "epilog": self.epilog,
179
181
  }
180
182
  )
181
183
  p = argparse.ArgumentParser(*args, **kwargs)
@@ -967,7 +967,7 @@ class Preset:
967
967
  header = ["Preset", "Category", "Description", "# Modules"]
968
968
  if include_modules:
969
969
  header.append("Modules")
970
- for (loaded_preset, category, preset_path, original_file) in self.all_presets.values():
970
+ for loaded_preset, category, preset_path, original_file in self.all_presets.values():
971
971
  loaded_preset = loaded_preset.bake()
972
972
  num_modules = f"{len(loaded_preset.scan_modules):,}"
973
973
  row = [loaded_preset.name, category, loaded_preset.description, num_modules]
@@ -15,7 +15,6 @@ module_test_files = [m.name.split("test_module_")[-1].split(".")[0] for m in _mo
15
15
 
16
16
 
17
17
  def test__module__tests():
18
-
19
18
  preset = Preset()
20
19
 
21
20
  # make sure each module has a .py file
@@ -17,7 +17,6 @@ def run_bbot_multiprocess(queue):
17
17
 
18
18
 
19
19
  def test_bbot_multiprocess(bbot_httpserver):
20
-
21
20
  bbot_httpserver.expect_request("/").respond_with_data("test@blacklanternsecurity.com")
22
21
 
23
22
  queue = multiprocessing.Queue()
@@ -32,12 +31,10 @@ def test_bbot_multiprocess(bbot_httpserver):
32
31
 
33
32
 
34
33
  def test_bbot_fastapi(bbot_httpserver):
35
-
36
34
  bbot_httpserver.expect_request("/").respond_with_data("test@blacklanternsecurity.com")
37
35
  fastapi_process = start_fastapi_server()
38
36
 
39
37
  try:
40
-
41
38
  # wait for the server to start with a timeout of 60 seconds
42
39
  start_time = time.time()
43
40
  while True:
@@ -6,7 +6,6 @@ import random
6
6
 
7
7
  @pytest.mark.asyncio
8
8
  async def test_bloom_filter():
9
-
10
9
  def generate_random_strings(n, length=10):
11
10
  """Generate a list of n random strings."""
12
11
  return ["".join(random.choices(string.ascii_letters + string.digits, k=length)) for _ in range(n)]
@@ -185,7 +185,6 @@ async def test_dns_resolution(bbot_scanner):
185
185
 
186
186
  @pytest.mark.asyncio
187
187
  async def test_wildcards(bbot_scanner):
188
-
189
188
  scan = bbot_scanner("1.1.1.1")
190
189
  helpers = scan.helpers
191
190
 
@@ -634,7 +633,6 @@ def custom_lookup(query, rdtype):
634
633
 
635
634
  @pytest.mark.asyncio
636
635
  async def test_wildcard_deduplication(bbot_scanner):
637
-
638
636
  custom_lookup = """
639
637
  def custom_lookup(query, rdtype):
640
638
  if rdtype == "TXT" and query.strip(".").endswith("evilcorp.com"):
@@ -670,7 +668,6 @@ def custom_lookup(query, rdtype):
670
668
 
671
669
  @pytest.mark.asyncio
672
670
  async def test_dns_raw_records(bbot_scanner):
673
-
674
671
  from bbot.modules.base import BaseModule
675
672
 
676
673
  class DummyModule(BaseModule):
@@ -733,7 +730,7 @@ async def test_dns_raw_records(bbot_scanner):
733
730
  dummy_module = DummyModule(scan)
734
731
  scan.modules["dummy_module"] = dummy_module
735
732
  events = [e async for e in scan.async_start()]
736
- # no raw records should be ouptut
733
+ # no raw records should be output
737
734
  assert 0 == len([e for e in events if e.type == "RAW_DNS_RECORD"])
738
735
  # but they should still make it to the module
739
736
  assert 1 == len(
@@ -14,7 +14,6 @@ async def test_engine():
14
14
  return_errored = False
15
15
 
16
16
  class TestEngineServer(EngineServer):
17
-
18
17
  CMDS = {
19
18
  0: "return_thing",
20
19
  1: "yield_stuff",
@@ -54,7 +53,6 @@ async def test_engine():
54
53
  raise
55
54
 
56
55
  class TestEngineClient(EngineClient):
57
-
58
56
  SERVER_CLASS = TestEngineServer
59
57
 
60
58
  async def return_thing(self, n):
@@ -9,7 +9,6 @@ from bbot.core.helpers.regexes import event_uuid_regex
9
9
 
10
10
  @pytest.mark.asyncio
11
11
  async def test_events(events, helpers):
12
-
13
12
  scan = Scanner()
14
13
  await scan._prep()
15
14
 
@@ -617,7 +616,6 @@ async def test_events(events, helpers):
617
616
 
618
617
  @pytest.mark.asyncio
619
618
  async def test_event_discovery_context():
620
-
621
619
  from bbot.modules.base import BaseModule
622
620
 
623
621
  scan = Scanner("evilcorp.com")
@@ -857,7 +857,6 @@ def test_liststring_invalidfnchars(helpers):
857
857
  # test parameter validation
858
858
  @pytest.mark.asyncio
859
859
  async def test_parameter_validation(helpers):
860
-
861
860
  getparam_valid_params = {
862
861
  "name",
863
862
  "age",
@@ -16,7 +16,7 @@ from bbot.scanner import Scanner, Preset
16
16
  def test_preset_descriptions():
17
17
  # ensure very preset has a description
18
18
  preset = Preset()
19
- for (loaded_preset, category, preset_path, original_filename) in preset.all_presets.values():
19
+ for loaded_preset, category, preset_path, original_filename in preset.all_presets.values():
20
20
  assert (
21
21
  loaded_preset.description
22
22
  ), f'Preset "{loaded_preset.name}" at {original_filename} does not have a description.'
@@ -68,7 +68,6 @@ def test_core():
68
68
 
69
69
 
70
70
  def test_preset_yaml(clean_default_config):
71
-
72
71
  import yaml
73
72
 
74
73
  preset1 = Preset(
@@ -171,7 +170,6 @@ exclude_flags:
171
170
 
172
171
 
173
172
  def test_preset_scope():
174
-
175
173
  # test target merging
176
174
  scan = Scanner("1.2.3.4", preset=Preset.from_dict({"target": ["evilcorp.com"]}))
177
175
  assert {str(h) for h in scan.preset.target.seeds.hosts} == {"1.2.3.4/32", "evilcorp.com"}
@@ -378,7 +376,6 @@ def test_preset_scope():
378
376
 
379
377
  @pytest.mark.asyncio
380
378
  async def test_preset_logging():
381
-
382
379
  scan = Scanner()
383
380
 
384
381
  # test individual verbosity levels
@@ -711,7 +708,6 @@ modules:
711
708
 
712
709
 
713
710
  def test_preset_include():
714
-
715
711
  # test recursive preset inclusion
716
712
 
717
713
  custom_preset_dir_1 = bbot_test_dir / "custom_preset_dir"
@@ -883,7 +879,6 @@ def test_preset_module_disablement(clean_default_config):
883
879
 
884
880
 
885
881
  def test_preset_require_exclude():
886
-
887
882
  def get_module_flags(p):
888
883
  for m in p.scan_modules:
889
884
  preloaded = p.preloaded_module(m)
@@ -337,7 +337,6 @@ async def test_target(bbot_scanner):
337
337
 
338
338
  @pytest.mark.asyncio
339
339
  async def test_blacklist_regex(bbot_scanner, bbot_httpserver):
340
-
341
340
  from bbot.scanner.target import ScanBlacklist
342
341
 
343
342
  blacklist = ScanBlacklist("evilcorp.com")
@@ -6,7 +6,6 @@ from ..bbot_fixtures import *
6
6
 
7
7
  @pytest.mark.asyncio
8
8
  async def test_web_engine(bbot_scanner, bbot_httpserver, httpx_mock):
9
-
10
9
  from werkzeug.wrappers import Response
11
10
 
12
11
  def server_handler(request):
@@ -134,7 +133,6 @@ async def test_request_batch_cancellation(bbot_scanner, bbot_httpserver, httpx_m
134
133
 
135
134
  @pytest.mark.asyncio
136
135
  async def test_web_helpers(bbot_scanner, bbot_httpserver, httpx_mock):
137
-
138
136
  # json conversion
139
137
  scan = bbot_scanner("evilcorp.com")
140
138
  url = "http://www.evilcorp.com/json_test?a=b"
@@ -55,8 +55,8 @@ class TestBaddns_direct_cloudflare(BaseTestBaddns):
55
55
  def check(self, module_test, events):
56
56
  assert any(
57
57
  e.type == "FINDING"
58
- and "Possible [AWS Bucket Takeover Detection] via direct BadDNS analysis. Indicator: [[Words: The specified bucket does not exist | Condition: and | Part: body] Matchers-Condition: and] Trigger: [self] baddns Module: [CNAME]"
59
- in e.data["description"]
60
- for e in events
58
+ and "Possible [AWS Bucket Takeover Detection] via direct BadDNS analysis. Indicator: [[Words: The specified bucket does not exist | Condition: and | Part: body] Matchers-Condition: and] Trigger: [self] baddns Module: [CNAME]"
59
+ in e.data["description"]
60
+ for e in events
61
61
  ), "Failed to emit FINDING"
62
62
  assert any("baddns-cname" in e.tags for e in events), "Failed to add baddns tag"
@@ -26,7 +26,7 @@ class TestBypass403_collapsethreshold(ModuleTestBase):
26
26
  async def setup_after_prep(self, module_test):
27
27
  respond_args = {"response_data": "alive"}
28
28
 
29
- # some of these wont work outside of the module because of the complex logic. This doesn't matter, we just need to get more alerts than the threshold.
29
+ # some of these won't work outside of the module because of the complex logic. This doesn't matter, we just need to get more alerts than the threshold.
30
30
 
31
31
  query_payloads = [
32
32
  "%09",