secator 0.16.2__tar.gz → 0.16.3__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 secator might be problematic. Click here for more details.

Files changed (213) hide show
  1. {secator-0.16.2 → secator-0.16.3}/CHANGELOG.md +12 -0
  2. {secator-0.16.2 → secator-0.16.3}/PKG-INFO +1 -1
  3. {secator-0.16.2 → secator-0.16.3}/pyproject.toml +1 -1
  4. {secator-0.16.2 → secator-0.16.3}/secator/celery.py +14 -0
  5. {secator-0.16.2 → secator-0.16.3}/secator/configs/workflows/url_crawl.yaml +9 -12
  6. {secator-0.16.2 → secator-0.16.3}/secator/hooks/mongodb.py +3 -3
  7. {secator-0.16.2 → secator-0.16.3}/secator/runners/_base.py +1 -0
  8. {secator-0.16.2 → secator-0.16.3}/secator/tasks/bup.py +1 -0
  9. {secator-0.16.2 → secator-0.16.3}/secator/tasks/dalfox.py +1 -6
  10. {secator-0.16.2 → secator-0.16.3}/.coderabbit.yaml +0 -0
  11. {secator-0.16.2 → secator-0.16.3}/.docker/Dockerfile.alpine +0 -0
  12. {secator-0.16.2 → secator-0.16.3}/.docker/Dockerfile.arch +0 -0
  13. {secator-0.16.2 → secator-0.16.3}/.docker/Dockerfile.debian +0 -0
  14. {secator-0.16.2 → secator-0.16.3}/.docker/Dockerfile.kali +0 -0
  15. {secator-0.16.2 → secator-0.16.3}/.docker/Dockerfile.osx +0 -0
  16. {secator-0.16.2 → secator-0.16.3}/.docker/Dockerfile.ubuntu +0 -0
  17. {secator-0.16.2 → secator-0.16.3}/.docker/build_all.sh +0 -0
  18. {secator-0.16.2 → secator-0.16.3}/.dockerignore +0 -0
  19. {secator-0.16.2 → secator-0.16.3}/.flake8 +0 -0
  20. {secator-0.16.2 → secator-0.16.3}/.gitignore +0 -0
  21. {secator-0.16.2 → secator-0.16.3}/CONTRIBUTING.md +0 -0
  22. {secator-0.16.2 → secator-0.16.3}/Dockerfile +0 -0
  23. {secator-0.16.2 → secator-0.16.3}/LICENSE +0 -0
  24. {secator-0.16.2 → secator-0.16.3}/README.md +0 -0
  25. {secator-0.16.2 → secator-0.16.3}/SECURITY.md +0 -0
  26. {secator-0.16.2 → secator-0.16.3}/cloudbuild.yaml +0 -0
  27. {secator-0.16.2 → secator-0.16.3}/helm/.helmignore +0 -0
  28. {secator-0.16.2 → secator-0.16.3}/helm/Chart.yaml +0 -0
  29. {secator-0.16.2 → secator-0.16.3}/helm/templates/redis-service.yaml +0 -0
  30. {secator-0.16.2 → secator-0.16.3}/helm/templates/redis.yaml +0 -0
  31. {secator-0.16.2 → secator-0.16.3}/helm/templates/secator-manager.yaml +0 -0
  32. {secator-0.16.2 → secator-0.16.3}/helm/templates/secator-worker.yaml +0 -0
  33. {secator-0.16.2 → secator-0.16.3}/helm/values.yaml +0 -0
  34. {secator-0.16.2 → secator-0.16.3}/scripts/download_cves.sh +0 -0
  35. {secator-0.16.2 → secator-0.16.3}/scripts/generate_tools_md_table.py +0 -0
  36. {secator-0.16.2 → secator-0.16.3}/scripts/install.sh +0 -0
  37. {secator-0.16.2 → secator-0.16.3}/scripts/install_asciinema.sh +0 -0
  38. {secator-0.16.2 → secator-0.16.3}/scripts/install_go.sh +0 -0
  39. {secator-0.16.2 → secator-0.16.3}/scripts/install_ruby.sh +0 -0
  40. {secator-0.16.2 → secator-0.16.3}/scripts/msf/exploit_cve.rc +0 -0
  41. {secator-0.16.2 → secator-0.16.3}/scripts/msf/ftp_anonymous.rc +0 -0
  42. {secator-0.16.2 → secator-0.16.3}/scripts/msf/ftp_version.rc +0 -0
  43. {secator-0.16.2 → secator-0.16.3}/scripts/msf/ftp_vsftpd_234_backdoor.rc +0 -0
  44. {secator-0.16.2 → secator-0.16.3}/scripts/msf/redis.rc +0 -0
  45. {secator-0.16.2 → secator-0.16.3}/scripts/stories/STORY.md +0 -0
  46. {secator-0.16.2 → secator-0.16.3}/scripts/stories/aliases.sh +0 -0
  47. {secator-0.16.2 → secator-0.16.3}/scripts/stories/demo.sh +0 -0
  48. {secator-0.16.2 → secator-0.16.3}/scripts/stories/fmt.sh +0 -0
  49. {secator-0.16.2 → secator-0.16.3}/scripts/stories/input.sh +0 -0
  50. {secator-0.16.2 → secator-0.16.3}/scripts/stories/pipe.sh +0 -0
  51. {secator-0.16.2 → secator-0.16.3}/scripts/stories/short_demo.sh +0 -0
  52. {secator-0.16.2 → secator-0.16.3}/scripts/update_tools.sh +0 -0
  53. {secator-0.16.2 → secator-0.16.3}/secator/.gitignore +0 -0
  54. {secator-0.16.2 → secator-0.16.3}/secator/__init__.py +0 -0
  55. {secator-0.16.2 → secator-0.16.3}/secator/celery_signals.py +0 -0
  56. {secator-0.16.2 → secator-0.16.3}/secator/celery_utils.py +0 -0
  57. {secator-0.16.2 → secator-0.16.3}/secator/cli.py +0 -0
  58. {secator-0.16.2 → secator-0.16.3}/secator/cli_helper.py +0 -0
  59. {secator-0.16.2 → secator-0.16.3}/secator/click.py +0 -0
  60. {secator-0.16.2 → secator-0.16.3}/secator/config.py +0 -0
  61. {secator-0.16.2 → secator-0.16.3}/secator/configs/__init__.py +0 -0
  62. {secator-0.16.2 → secator-0.16.3}/secator/configs/profiles/__init__.py +0 -0
  63. {secator-0.16.2 → secator-0.16.3}/secator/configs/profiles/aggressive.yaml +0 -0
  64. {secator-0.16.2 → secator-0.16.3}/secator/configs/profiles/http_headless.yaml +0 -0
  65. {secator-0.16.2 → secator-0.16.3}/secator/configs/profiles/http_record.yaml +0 -0
  66. {secator-0.16.2 → secator-0.16.3}/secator/configs/profiles/insane.yaml +0 -0
  67. {secator-0.16.2 → secator-0.16.3}/secator/configs/profiles/paranoid.yaml +0 -0
  68. {secator-0.16.2 → secator-0.16.3}/secator/configs/profiles/polite.yaml +0 -0
  69. {secator-0.16.2 → secator-0.16.3}/secator/configs/profiles/sneaky.yaml +0 -0
  70. {secator-0.16.2 → secator-0.16.3}/secator/configs/profiles/tor.yaml +0 -0
  71. {secator-0.16.2 → secator-0.16.3}/secator/configs/scans/__init__.py +0 -0
  72. {secator-0.16.2 → secator-0.16.3}/secator/configs/scans/domain.yaml +0 -0
  73. {secator-0.16.2 → secator-0.16.3}/secator/configs/scans/host.yaml +0 -0
  74. {secator-0.16.2 → secator-0.16.3}/secator/configs/scans/network.yaml +0 -0
  75. {secator-0.16.2 → secator-0.16.3}/secator/configs/scans/subdomain.yaml +0 -0
  76. {secator-0.16.2 → secator-0.16.3}/secator/configs/scans/url.yaml +0 -0
  77. {secator-0.16.2 → secator-0.16.3}/secator/configs/workflows/__init__.py +0 -0
  78. {secator-0.16.2 → secator-0.16.3}/secator/configs/workflows/cidr_recon.yaml +0 -0
  79. {secator-0.16.2 → secator-0.16.3}/secator/configs/workflows/code_scan.yaml +0 -0
  80. {secator-0.16.2 → secator-0.16.3}/secator/configs/workflows/host_recon.yaml +0 -0
  81. {secator-0.16.2 → secator-0.16.3}/secator/configs/workflows/subdomain_recon.yaml +0 -0
  82. {secator-0.16.2 → secator-0.16.3}/secator/configs/workflows/url_bypass.yaml +0 -0
  83. {secator-0.16.2 → secator-0.16.3}/secator/configs/workflows/url_dirsearch.yaml +0 -0
  84. {secator-0.16.2 → secator-0.16.3}/secator/configs/workflows/url_fuzz.yaml +0 -0
  85. {secator-0.16.2 → secator-0.16.3}/secator/configs/workflows/url_params_fuzz.yaml +0 -0
  86. {secator-0.16.2 → secator-0.16.3}/secator/configs/workflows/url_vuln.yaml +0 -0
  87. {secator-0.16.2 → secator-0.16.3}/secator/configs/workflows/user_hunt.yaml +0 -0
  88. {secator-0.16.2 → secator-0.16.3}/secator/configs/workflows/wordpress.yaml +0 -0
  89. {secator-0.16.2 → secator-0.16.3}/secator/cve.py +0 -0
  90. {secator-0.16.2 → secator-0.16.3}/secator/decorators.py +0 -0
  91. {secator-0.16.2 → secator-0.16.3}/secator/definitions.py +0 -0
  92. {secator-0.16.2 → secator-0.16.3}/secator/exporters/__init__.py +0 -0
  93. {secator-0.16.2 → secator-0.16.3}/secator/exporters/_base.py +0 -0
  94. {secator-0.16.2 → secator-0.16.3}/secator/exporters/console.py +0 -0
  95. {secator-0.16.2 → secator-0.16.3}/secator/exporters/csv.py +0 -0
  96. {secator-0.16.2 → secator-0.16.3}/secator/exporters/gdrive.py +0 -0
  97. {secator-0.16.2 → secator-0.16.3}/secator/exporters/json.py +0 -0
  98. {secator-0.16.2 → secator-0.16.3}/secator/exporters/table.py +0 -0
  99. {secator-0.16.2 → secator-0.16.3}/secator/exporters/txt.py +0 -0
  100. {secator-0.16.2 → secator-0.16.3}/secator/hooks/__init__.py +0 -0
  101. {secator-0.16.2 → secator-0.16.3}/secator/hooks/gcs.py +0 -0
  102. {secator-0.16.2 → secator-0.16.3}/secator/installer.py +0 -0
  103. {secator-0.16.2 → secator-0.16.3}/secator/loader.py +0 -0
  104. {secator-0.16.2 → secator-0.16.3}/secator/output_types/__init__.py +0 -0
  105. {secator-0.16.2 → secator-0.16.3}/secator/output_types/_base.py +0 -0
  106. {secator-0.16.2 → secator-0.16.3}/secator/output_types/certificate.py +0 -0
  107. {secator-0.16.2 → secator-0.16.3}/secator/output_types/error.py +0 -0
  108. {secator-0.16.2 → secator-0.16.3}/secator/output_types/exploit.py +0 -0
  109. {secator-0.16.2 → secator-0.16.3}/secator/output_types/info.py +0 -0
  110. {secator-0.16.2 → secator-0.16.3}/secator/output_types/ip.py +0 -0
  111. {secator-0.16.2 → secator-0.16.3}/secator/output_types/port.py +0 -0
  112. {secator-0.16.2 → secator-0.16.3}/secator/output_types/progress.py +0 -0
  113. {secator-0.16.2 → secator-0.16.3}/secator/output_types/record.py +0 -0
  114. {secator-0.16.2 → secator-0.16.3}/secator/output_types/stat.py +0 -0
  115. {secator-0.16.2 → secator-0.16.3}/secator/output_types/state.py +0 -0
  116. {secator-0.16.2 → secator-0.16.3}/secator/output_types/subdomain.py +0 -0
  117. {secator-0.16.2 → secator-0.16.3}/secator/output_types/tag.py +0 -0
  118. {secator-0.16.2 → secator-0.16.3}/secator/output_types/target.py +0 -0
  119. {secator-0.16.2 → secator-0.16.3}/secator/output_types/url.py +0 -0
  120. {secator-0.16.2 → secator-0.16.3}/secator/output_types/user_account.py +0 -0
  121. {secator-0.16.2 → secator-0.16.3}/secator/output_types/vulnerability.py +0 -0
  122. {secator-0.16.2 → secator-0.16.3}/secator/output_types/warning.py +0 -0
  123. {secator-0.16.2 → secator-0.16.3}/secator/report.py +0 -0
  124. {secator-0.16.2 → secator-0.16.3}/secator/rich.py +0 -0
  125. {secator-0.16.2 → secator-0.16.3}/secator/runners/__init__.py +0 -0
  126. {secator-0.16.2 → secator-0.16.3}/secator/runners/_helpers.py +0 -0
  127. {secator-0.16.2 → secator-0.16.3}/secator/runners/celery.py +0 -0
  128. {secator-0.16.2 → secator-0.16.3}/secator/runners/command.py +0 -0
  129. {secator-0.16.2 → secator-0.16.3}/secator/runners/scan.py +0 -0
  130. {secator-0.16.2 → secator-0.16.3}/secator/runners/task.py +0 -0
  131. {secator-0.16.2 → secator-0.16.3}/secator/runners/workflow.py +0 -0
  132. {secator-0.16.2 → secator-0.16.3}/secator/scans/__init__.py +0 -0
  133. {secator-0.16.2 → secator-0.16.3}/secator/serializers/__init__.py +0 -0
  134. {secator-0.16.2 → secator-0.16.3}/secator/serializers/dataclass.py +0 -0
  135. {secator-0.16.2 → secator-0.16.3}/secator/serializers/json.py +0 -0
  136. {secator-0.16.2 → secator-0.16.3}/secator/serializers/regex.py +0 -0
  137. {secator-0.16.2 → secator-0.16.3}/secator/tasks/__init__.py +0 -0
  138. {secator-0.16.2 → secator-0.16.3}/secator/tasks/_categories.py +0 -0
  139. {secator-0.16.2 → secator-0.16.3}/secator/tasks/arjun.py +0 -0
  140. {secator-0.16.2 → secator-0.16.3}/secator/tasks/bbot.py +0 -0
  141. {secator-0.16.2 → secator-0.16.3}/secator/tasks/cariddi.py +0 -0
  142. {secator-0.16.2 → secator-0.16.3}/secator/tasks/dirsearch.py +0 -0
  143. {secator-0.16.2 → secator-0.16.3}/secator/tasks/dnsx.py +0 -0
  144. {secator-0.16.2 → secator-0.16.3}/secator/tasks/feroxbuster.py +0 -0
  145. {secator-0.16.2 → secator-0.16.3}/secator/tasks/ffuf.py +0 -0
  146. {secator-0.16.2 → secator-0.16.3}/secator/tasks/fping.py +0 -0
  147. {secator-0.16.2 → secator-0.16.3}/secator/tasks/gau.py +0 -0
  148. {secator-0.16.2 → secator-0.16.3}/secator/tasks/gf.py +0 -0
  149. {secator-0.16.2 → secator-0.16.3}/secator/tasks/gitleaks.py +0 -0
  150. {secator-0.16.2 → secator-0.16.3}/secator/tasks/gospider.py +0 -0
  151. {secator-0.16.2 → secator-0.16.3}/secator/tasks/grype.py +0 -0
  152. {secator-0.16.2 → secator-0.16.3}/secator/tasks/h8mail.py +0 -0
  153. {secator-0.16.2 → secator-0.16.3}/secator/tasks/httpx.py +0 -0
  154. {secator-0.16.2 → secator-0.16.3}/secator/tasks/katana.py +0 -0
  155. {secator-0.16.2 → secator-0.16.3}/secator/tasks/maigret.py +0 -0
  156. {secator-0.16.2 → secator-0.16.3}/secator/tasks/mapcidr.py +0 -0
  157. {secator-0.16.2 → secator-0.16.3}/secator/tasks/msfconsole.py +0 -0
  158. {secator-0.16.2 → secator-0.16.3}/secator/tasks/naabu.py +0 -0
  159. {secator-0.16.2 → secator-0.16.3}/secator/tasks/nmap.py +0 -0
  160. {secator-0.16.2 → secator-0.16.3}/secator/tasks/nuclei.py +0 -0
  161. {secator-0.16.2 → secator-0.16.3}/secator/tasks/searchsploit.py +0 -0
  162. {secator-0.16.2 → secator-0.16.3}/secator/tasks/subfinder.py +0 -0
  163. {secator-0.16.2 → secator-0.16.3}/secator/tasks/testssl.py +0 -0
  164. {secator-0.16.2 → secator-0.16.3}/secator/tasks/trivy.py +0 -0
  165. {secator-0.16.2 → secator-0.16.3}/secator/tasks/wafw00f.py +0 -0
  166. {secator-0.16.2 → secator-0.16.3}/secator/tasks/wpprobe.py +0 -0
  167. {secator-0.16.2 → secator-0.16.3}/secator/tasks/wpscan.py +0 -0
  168. {secator-0.16.2 → secator-0.16.3}/secator/template.py +0 -0
  169. {secator-0.16.2 → secator-0.16.3}/secator/thread.py +0 -0
  170. {secator-0.16.2 → secator-0.16.3}/secator/tree.py +0 -0
  171. {secator-0.16.2 → secator-0.16.3}/secator/utils.py +0 -0
  172. {secator-0.16.2 → secator-0.16.3}/secator/utils_test.py +0 -0
  173. {secator-0.16.2 → secator-0.16.3}/secator/workflows/__init__.py +0 -0
  174. {secator-0.16.2 → secator-0.16.3}/tests/__init__.py +0 -0
  175. {secator-0.16.2 → secator-0.16.3}/tests/fixtures/h8mail_breach.txt +0 -0
  176. {secator-0.16.2 → secator-0.16.3}/tests/fixtures/ls.py +0 -0
  177. {secator-0.16.2 → secator-0.16.3}/tests/fixtures/msfconsole_input.rc +0 -0
  178. {secator-0.16.2 → secator-0.16.3}/tests/fixtures/nmap_output.xml +0 -0
  179. {secator-0.16.2 → secator-0.16.3}/tests/integration/__init__.py +0 -0
  180. {secator-0.16.2 → secator-0.16.3}/tests/integration/all.yaml +0 -0
  181. {secator-0.16.2 → secator-0.16.3}/tests/integration/inputs.py +0 -0
  182. {secator-0.16.2 → secator-0.16.3}/tests/integration/outputs.py +0 -0
  183. {secator-0.16.2 → secator-0.16.3}/tests/integration/setup.sh +0 -0
  184. {secator-0.16.2 → secator-0.16.3}/tests/integration/teardown.sh +0 -0
  185. {secator-0.16.2 → secator-0.16.3}/tests/integration/test_addons.py +0 -0
  186. {secator-0.16.2 → secator-0.16.3}/tests/integration/test_celery.py +0 -0
  187. {secator-0.16.2 → secator-0.16.3}/tests/integration/test_scans.py +0 -0
  188. {secator-0.16.2 → secator-0.16.3}/tests/integration/test_tasks.py +0 -0
  189. {secator-0.16.2 → secator-0.16.3}/tests/integration/test_tasks_categories.py +0 -0
  190. {secator-0.16.2 → secator-0.16.3}/tests/integration/test_worker.py +0 -0
  191. {secator-0.16.2 → secator-0.16.3}/tests/integration/test_workflows.py +0 -0
  192. {secator-0.16.2 → secator-0.16.3}/tests/integration/wordlist.txt +0 -0
  193. {secator-0.16.2 → secator-0.16.3}/tests/integration/wordlist_dns.txt +0 -0
  194. {secator-0.16.2 → secator-0.16.3}/tests/integration/wordpress_toolbox/Dockerfile +0 -0
  195. {secator-0.16.2 → secator-0.16.3}/tests/integration/wordpress_toolbox/Makefile +0 -0
  196. {secator-0.16.2 → secator-0.16.3}/tests/performance/__init__.py +0 -0
  197. {secator-0.16.2 → secator-0.16.3}/tests/performance/loadtester.py +0 -0
  198. {secator-0.16.2 → secator-0.16.3}/tests/performance/test_worker.py +0 -0
  199. {secator-0.16.2 → secator-0.16.3}/tests/template/test_templates.py +0 -0
  200. {secator-0.16.2 → secator-0.16.3}/tests/unit/__init__.py +0 -0
  201. {secator-0.16.2 → secator-0.16.3}/tests/unit/test_celery.py +0 -0
  202. {secator-0.16.2 → secator-0.16.3}/tests/unit/test_cli.py +0 -0
  203. {secator-0.16.2 → secator-0.16.3}/tests/unit/test_command.py +0 -0
  204. {secator-0.16.2 → secator-0.16.3}/tests/unit/test_config.py +0 -0
  205. {secator-0.16.2 → secator-0.16.3}/tests/unit/test_offline.py +0 -0
  206. {secator-0.16.2 → secator-0.16.3}/tests/unit/test_runners.py +0 -0
  207. {secator-0.16.2 → secator-0.16.3}/tests/unit/test_runners_helpers.py +0 -0
  208. {secator-0.16.2 → secator-0.16.3}/tests/unit/test_scans.py +0 -0
  209. {secator-0.16.2 → secator-0.16.3}/tests/unit/test_serializers.py +0 -0
  210. {secator-0.16.2 → secator-0.16.3}/tests/unit/test_tasks.py +0 -0
  211. {secator-0.16.2 → secator-0.16.3}/tests/unit/test_tasks_categories.py +0 -0
  212. {secator-0.16.2 → secator-0.16.3}/tests/unit/test_template.py +0 -0
  213. {secator-0.16.2 → secator-0.16.3}/tests/unit/test_utils.py +0 -0
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.16.3](https://github.com/freelabz/secator/compare/v0.16.2...v0.16.3) (2025-06-11)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * bup file flag ([#690](https://github.com/freelabz/secator/issues/690)) ([83d83d7](https://github.com/freelabz/secator/commit/83d83d72c5c523ea44dcc3cb78f478c935ed4127))
9
+ * **celery:** add no_live_updates to skip backend updates ([#695](https://github.com/freelabz/secator/issues/695)) ([c99599c](https://github.com/freelabz/secator/commit/c99599caa219312e8ca2e190d8353960ca4f2633))
10
+ * **dalfox:** use jsonl option instead of json ([#692](https://github.com/freelabz/secator/issues/692)) ([c406e34](https://github.com/freelabz/secator/commit/c406e346a4011b0c57efd7b6d5e518ee6d7953e6))
11
+ * **mongodb:** add all output types ([#696](https://github.com/freelabz/secator/issues/696)) ([af98935](https://github.com/freelabz/secator/commit/af989352662f53903768c268347e6046db9dd8fd))
12
+ * show info message for mark_runner_started / mark_runner_completed ([#694](https://github.com/freelabz/secator/issues/694)) ([ed0f6cb](https://github.com/freelabz/secator/commit/ed0f6cb1464c962fc6f65381762fd23330f9aa85))
13
+ * **workflow:** put cariddi in crawlers group ([#693](https://github.com/freelabz/secator/issues/693)) ([a9e1afd](https://github.com/freelabz/secator/commit/a9e1afd97256aefc33d179d9e3d4091f24b332b2))
14
+
3
15
  ## [0.16.2](https://github.com/freelabz/secator/compare/v0.16.1...v0.16.2) (2025-06-06)
4
16
 
5
17
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: secator
3
- Version: 0.16.2
3
+ Version: 0.16.3
4
4
  Summary: The pentester's swiss knife.
5
5
  Project-URL: Homepage, https://github.com/freelabz/secator
6
6
  Project-URL: Issues, https://github.com/freelabz/secator/issues
@@ -4,7 +4,7 @@ build-backend = 'hatchling.build'
4
4
 
5
5
  [project]
6
6
  name = 'secator'
7
- version = "0.16.2"
7
+ version = "0.16.3"
8
8
  authors = [{ name = 'FreeLabz', email = 'sales@freelabz.com' }]
9
9
  readme = 'README.md'
10
10
  description = "The pentester's swiss knife."
@@ -100,6 +100,8 @@ def update_state(celery_task, task, force=False):
100
100
  """Update task state to add metadata information."""
101
101
  if not IN_CELERY_WORKER_PROCESS:
102
102
  return
103
+ if task.no_live_updates:
104
+ return
103
105
  if not force and not should_update(CONFIG.runners.backend_update_frequency, task.last_updated_celery):
104
106
  return
105
107
  task.last_updated_celery = time()
@@ -223,8 +225,16 @@ def forward_results(results):
223
225
  results[ix] = item['results']
224
226
  elif 'results' in results:
225
227
  results = results['results']
228
+
229
+ if IN_CELERY_WORKER_PROCESS:
230
+ console.print(Info(message=f'Forwarding {len(results)} results'))
231
+
226
232
  results = flatten(results)
227
233
  results = deduplicate(results, attr='_uuid')
234
+
235
+ if IN_CELERY_WORKER_PROCESS:
236
+ console.print(Info(message=f'Forwarded {len(results)} flattened and deduplicated results'))
237
+
228
238
  return results
229
239
 
230
240
 
@@ -240,6 +250,8 @@ def mark_runner_started(results, runner, enable_hooks=True):
240
250
  Returns:
241
251
  list: Runner results
242
252
  """
253
+ if IN_CELERY_WORKER_PROCESS:
254
+ console.print(Info(message=f'Runner {runner.unique_name} has started, running mark_started'))
243
255
  debug(f'Runner {runner.unique_name} has started, running mark_started', sub='celery')
244
256
  if results:
245
257
  runner.results = forward_results(results)
@@ -260,6 +272,8 @@ def mark_runner_completed(results, runner, enable_hooks=True):
260
272
  Returns:
261
273
  list: Final results
262
274
  """
275
+ if IN_CELERY_WORKER_PROCESS:
276
+ console.print(Info(message=f'Runner {runner.unique_name} has finished, running mark_completed'))
263
277
  debug(f'Runner {runner.unique_name} has finished, running mark_completed', sub='celery')
264
278
  results = forward_results(results)
265
279
  runner.enable_hooks = enable_hooks
@@ -9,7 +9,7 @@ input_types:
9
9
  options:
10
10
  crawlers:
11
11
  type: list
12
- help: Crawlers to use (katana, gospider)
12
+ help: Crawlers to use
13
13
  default: ['gau', 'katana']
14
14
  internal: True
15
15
 
@@ -36,17 +36,14 @@ tasks:
36
36
  description: Crawl URLs
37
37
  if: "'gospider' in opts.crawlers"
38
38
 
39
- cariddi:
40
- description: Hunt URLs patterns
41
- info: True
42
- secrets: True
43
- errors: True
44
- juicy_extensions: 1
45
- juicy_endpoints: True
46
- targets_:
47
- - target.name
48
- - url.url
49
- if: opts.hunt_patterns
39
+ cariddi:
40
+ description: Hunt URLs patterns
41
+ info: True
42
+ secrets: True
43
+ errors: True
44
+ juicy_extensions: 1
45
+ juicy_endpoints: True
46
+ if: opts.hunt_patterns
50
47
 
51
48
  httpx:
52
49
  description: Run HTTP probes on crawled URLs
@@ -6,7 +6,7 @@ from bson.objectid import ObjectId
6
6
  from celery import shared_task
7
7
 
8
8
  from secator.config import CONFIG
9
- from secator.output_types import FINDING_TYPES
9
+ from secator.output_types import OUTPUT_TYPES
10
10
  from secator.runners import Scan, Task, Workflow
11
11
  from secator.utils import debug, escape_mongodb_url
12
12
 
@@ -78,7 +78,7 @@ def update_runner(self):
78
78
 
79
79
 
80
80
  def update_finding(self, item):
81
- if type(item) not in FINDING_TYPES:
81
+ if type(item) not in OUTPUT_TYPES:
82
82
  return item
83
83
  start_time = time.time()
84
84
  client = get_mongodb_client()
@@ -120,7 +120,7 @@ def find_duplicates(self):
120
120
  def load_finding(obj):
121
121
  finding_type = obj['_type']
122
122
  klass = None
123
- for otype in FINDING_TYPES:
123
+ for otype in OUTPUT_TYPES:
124
124
  if finding_type == otype.get_name():
125
125
  klass = otype
126
126
  item = klass.load(obj)
@@ -117,6 +117,7 @@ class Runner:
117
117
 
118
118
  # Runner process options
119
119
  self.no_poll = self.run_opts.get('no_poll', False)
120
+ self.no_live_updates = self.run_opts.get('no_live_updates', False)
120
121
  self.no_process = not self.run_opts.get('process', True)
121
122
  self.piped_input = self.run_opts.get('piped_input', False)
122
123
  self.piped_output = self.run_opts.get('piped_output', False)
@@ -20,6 +20,7 @@ class bup(Http):
20
20
  output_types = [Url, Progress]
21
21
  tags = ['url', 'bypass']
22
22
  input_flag = '-u'
23
+ file_flag = '-R'
23
24
  json_flag = '--jsonl'
24
25
  opt_prefix = '--'
25
26
  opts = {
@@ -27,7 +27,7 @@ class dalfox(VulnHttp):
27
27
  input_flag = 'url'
28
28
  file_flag = 'file'
29
29
  # input_chunk_size = 1
30
- json_flag = '--format json'
30
+ json_flag = '--format jsonl'
31
31
  version_flag = 'version'
32
32
  opt_prefix = '--'
33
33
  opt_key_map = {
@@ -65,11 +65,6 @@ class dalfox(VulnHttp):
65
65
  proxy_http = True
66
66
  profile = 'cpu'
67
67
 
68
- @staticmethod
69
- def on_line(self, line):
70
- line = line.rstrip(',')
71
- return line
72
-
73
68
  @staticmethod
74
69
  def on_json_loaded(self, item):
75
70
  if item.get('type', '') == 'V':
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes