secator 0.10.1a5__tar.gz → 0.10.1a7__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.
- {secator-0.10.1a5 → secator-0.10.1a7}/PKG-INFO +1 -1
- {secator-0.10.1a5 → secator-0.10.1a7}/pyproject.toml +1 -1
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/celery.py +8 -3
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/runners/_base.py +11 -34
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/runners/scan.py +1 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/runners/task.py +2 -1
- {secator-0.10.1a5 → secator-0.10.1a7}/.docker/Dockerfile.alpine +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/.docker/Dockerfile.arch +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/.docker/Dockerfile.debian +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/.docker/Dockerfile.kali +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/.docker/Dockerfile.osx +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/.docker/Dockerfile.ubuntu +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/.docker/build_all.sh +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/.dockerignore +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/.flake8 +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/.gitignore +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/CHANGELOG.md +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/CONTRIBUTING.md +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/Dockerfile +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/LICENSE +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/README.md +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/SECURITY.md +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/cloudbuild.yaml +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/helm/.helmignore +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/helm/Chart.yaml +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/helm/templates/redis-service.yaml +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/helm/templates/redis.yaml +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/helm/templates/secator-manager.yaml +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/helm/templates/secator-worker.yaml +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/helm/values.yaml +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/scripts/download_cves.sh +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/scripts/install.sh +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/scripts/install_asciinema.sh +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/scripts/install_go.sh +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/scripts/install_ruby.sh +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/scripts/msf/exploit_cve.rc +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/scripts/msf/ftp_anonymous.rc +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/scripts/msf/ftp_version.rc +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/scripts/msf/ftp_vsftpd_234_backdoor.rc +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/scripts/msf/redis.rc +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/scripts/stories/STORY.md +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/scripts/stories/aliases.sh +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/scripts/stories/demo.sh +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/scripts/stories/fmt.sh +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/scripts/stories/input.sh +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/scripts/stories/pipe.sh +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/scripts/stories/short_demo.sh +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/.gitignore +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/__init__.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/celery_signals.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/celery_utils.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/cli.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/config.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/configs/__init__.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/configs/profiles/__init__.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/configs/profiles/aggressive.yaml +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/configs/profiles/default.yaml +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/configs/profiles/stealth.yaml +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/configs/scans/__init__.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/configs/scans/domain.yaml +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/configs/scans/host.yaml +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/configs/scans/network.yaml +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/configs/scans/subdomain.yaml +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/configs/scans/url.yaml +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/configs/workflows/__init__.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/configs/workflows/cidr_recon.yaml +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/configs/workflows/code_scan.yaml +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/configs/workflows/host_recon.yaml +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/configs/workflows/port_scan.yaml +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/configs/workflows/subdomain_recon.yaml +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/configs/workflows/url_bypass.yaml +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/configs/workflows/url_crawl.yaml +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/configs/workflows/url_dirsearch.yaml +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/configs/workflows/url_fuzz.yaml +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/configs/workflows/url_nuclei.yaml +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/configs/workflows/url_vuln.yaml +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/configs/workflows/user_hunt.yaml +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/configs/workflows/wordpress.yaml +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/decorators.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/definitions.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/exporters/__init__.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/exporters/_base.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/exporters/console.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/exporters/csv.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/exporters/gdrive.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/exporters/json.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/exporters/table.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/exporters/txt.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/hooks/__init__.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/hooks/gcs.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/hooks/mongodb.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/installer.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/output_types/__init__.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/output_types/_base.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/output_types/error.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/output_types/exploit.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/output_types/info.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/output_types/ip.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/output_types/port.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/output_types/progress.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/output_types/record.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/output_types/stat.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/output_types/state.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/output_types/subdomain.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/output_types/tag.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/output_types/target.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/output_types/url.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/output_types/user_account.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/output_types/vulnerability.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/output_types/warning.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/report.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/rich.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/runners/__init__.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/runners/_helpers.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/runners/celery.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/runners/command.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/runners/workflow.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/scans/__init__.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/serializers/__init__.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/serializers/dataclass.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/serializers/json.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/serializers/regex.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/tasks/__init__.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/tasks/_categories.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/tasks/bbot.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/tasks/bup.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/tasks/cariddi.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/tasks/dalfox.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/tasks/dirsearch.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/tasks/dnsx.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/tasks/dnsxbrute.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/tasks/feroxbuster.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/tasks/ffuf.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/tasks/fping.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/tasks/gau.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/tasks/gf.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/tasks/gospider.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/tasks/grype.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/tasks/h8mail.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/tasks/httpx.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/tasks/katana.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/tasks/maigret.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/tasks/mapcidr.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/tasks/msfconsole.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/tasks/naabu.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/tasks/nmap.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/tasks/nuclei.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/tasks/searchsploit.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/tasks/subfinder.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/tasks/wpscan.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/template.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/thread.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/utils.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/utils_test.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/secator/workflows/__init__.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/tests/__init__.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/tests/fixtures/h8mail_breach.txt +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/tests/fixtures/ls.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/tests/fixtures/msfconsole_input.rc +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/tests/fixtures/nmap_output.xml +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/tests/integration/__init__.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/tests/integration/inputs.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/tests/integration/outputs.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/tests/integration/setup.sh +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/tests/integration/teardown.sh +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/tests/integration/test_addons.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/tests/integration/test_celery.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/tests/integration/test_scans.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/tests/integration/test_tasks.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/tests/integration/test_tasks_categories.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/tests/integration/test_worker.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/tests/integration/test_workflows.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/tests/integration/wordlist.txt +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/tests/integration/wordlist_dns.txt +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/tests/integration/wordpress_toolbox/Dockerfile +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/tests/integration/wordpress_toolbox/Makefile +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/tests/performance/__init__.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/tests/performance/loadtester.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/tests/performance/test_worker.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/tests/unit/__init__.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/tests/unit/test_celery.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/tests/unit/test_cli.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/tests/unit/test_config.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/tests/unit/test_offline.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/tests/unit/test_runners.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/tests/unit/test_scans.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/tests/unit/test_serializers.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/tests/unit/test_tasks.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/tests/unit/test_tasks_categories.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/tests/unit/test_template.py +0 -0
- {secator-0.10.1a5 → secator-0.10.1a7}/tests/unit/test_utils.py +0 -0
|
@@ -235,6 +235,8 @@ def mark_runner_started(runner):
|
|
|
235
235
|
Returns:
|
|
236
236
|
list: Runner results
|
|
237
237
|
"""
|
|
238
|
+
if IN_CELERY_WORKER_PROCESS:
|
|
239
|
+
console.print(Info(message=f'Marking runner {runner.unique_name} as started'))
|
|
238
240
|
runner.started = True
|
|
239
241
|
# runner.start_time = time()
|
|
240
242
|
runner.run_hooks('on_start')
|
|
@@ -252,17 +254,20 @@ def mark_runner_complete(results, runner):
|
|
|
252
254
|
Returns:
|
|
253
255
|
list: Final results
|
|
254
256
|
"""
|
|
257
|
+
if IN_CELERY_WORKER_PROCESS:
|
|
258
|
+
console.print(Info(message=f'Marking runner {runner.unique_name} as completed'))
|
|
255
259
|
results = forward_results(results)
|
|
256
260
|
|
|
257
261
|
# If sync mode, don't update the runner as it's already done
|
|
258
262
|
if runner.sync:
|
|
263
|
+
if IN_CELERY_WORKER_PROCESS:
|
|
264
|
+
console.print(Info(message=f'Runner {runner.unique_name} is in sync mode, skipping final processing'))
|
|
259
265
|
return results
|
|
260
266
|
|
|
261
267
|
# Run final processing
|
|
262
268
|
runner.results = results
|
|
263
|
-
if not runner.no_process:
|
|
264
|
-
runner.mark_duplicates()
|
|
265
|
-
runner.results = runner.filter_results()
|
|
269
|
+
# if not runner.no_process:
|
|
270
|
+
# runner.mark_duplicates()
|
|
266
271
|
runner.log_results()
|
|
267
272
|
runner.run_hooks('on_end')
|
|
268
273
|
return runner.results
|
|
@@ -15,8 +15,8 @@ from secator.config import CONFIG
|
|
|
15
15
|
from secator.output_types import FINDING_TYPES, OutputType, Progress, Info, Warning, Error, Target, State
|
|
16
16
|
from secator.report import Report
|
|
17
17
|
from secator.rich import console, console_stdout
|
|
18
|
-
from secator.runners._helpers import (get_task_folder_id,
|
|
19
|
-
from secator.utils import (debug, import_dynamic,
|
|
18
|
+
from secator.runners._helpers import (get_task_folder_id, run_extractors)
|
|
19
|
+
from secator.utils import (debug, import_dynamic, rich_to_ansi, should_update)
|
|
20
20
|
|
|
21
21
|
logger = logging.getLogger(__name__)
|
|
22
22
|
|
|
@@ -281,6 +281,8 @@ class Runner:
|
|
|
281
281
|
# If any errors happened during valid ation, exit
|
|
282
282
|
if self.errors:
|
|
283
283
|
yield from self.errors
|
|
284
|
+
if self.no_process:
|
|
285
|
+
return
|
|
284
286
|
self.log_results()
|
|
285
287
|
self.run_hooks('on_end')
|
|
286
288
|
return
|
|
@@ -303,14 +305,12 @@ class Runner:
|
|
|
303
305
|
yield from self.join_threads()
|
|
304
306
|
yield error
|
|
305
307
|
|
|
306
|
-
|
|
307
|
-
|
|
308
|
+
finally:
|
|
309
|
+
if self.no_process:
|
|
310
|
+
return
|
|
308
311
|
self.mark_duplicates()
|
|
309
|
-
self.
|
|
310
|
-
|
|
311
|
-
# Finalize run
|
|
312
|
-
self.log_results()
|
|
313
|
-
self.run_hooks('on_end')
|
|
312
|
+
self.log_results()
|
|
313
|
+
self.run_hooks('on_end')
|
|
314
314
|
|
|
315
315
|
def join_threads(self):
|
|
316
316
|
"""Wait for all running threads to complete."""
|
|
@@ -507,6 +507,8 @@ class Runner:
|
|
|
507
507
|
task_id=self.celery_result.id
|
|
508
508
|
)
|
|
509
509
|
if self.no_poll:
|
|
510
|
+
self.enable_hooks = False
|
|
511
|
+
self.no_process = True
|
|
510
512
|
return
|
|
511
513
|
results = CeleryData.iter_results(
|
|
512
514
|
self.celery_result,
|
|
@@ -713,31 +715,6 @@ class Runner:
|
|
|
713
715
|
name = self.celery_ids_map.get(task_id, {}).get('full_name')
|
|
714
716
|
revoke_task(task_id, name)
|
|
715
717
|
|
|
716
|
-
def filter_results(self):
|
|
717
|
-
"""Filter runner results using extractors defined in config."""
|
|
718
|
-
extractors = self.config.results
|
|
719
|
-
results = []
|
|
720
|
-
if extractors:
|
|
721
|
-
# Keep results based on extractors
|
|
722
|
-
opts = merge_opts(self.config.options, self.run_opts)
|
|
723
|
-
for extractor in extractors:
|
|
724
|
-
tmp = process_extractor(self.results, extractor, ctx=opts)
|
|
725
|
-
results.extend(tmp)
|
|
726
|
-
|
|
727
|
-
# Keep the field types in results not specified in the extractors.
|
|
728
|
-
extract_fields = [e['type'] for e in extractors]
|
|
729
|
-
keep_fields = [
|
|
730
|
-
_type for _type in FINDING_TYPES
|
|
731
|
-
if _type not in extract_fields
|
|
732
|
-
]
|
|
733
|
-
results.extend([
|
|
734
|
-
item for item in self.results
|
|
735
|
-
if item._type in keep_fields
|
|
736
|
-
])
|
|
737
|
-
else:
|
|
738
|
-
results = self.results
|
|
739
|
-
return results
|
|
740
|
-
|
|
741
718
|
def _convert_item_schema(self, item):
|
|
742
719
|
"""Convert dict item to a secator output type.
|
|
743
720
|
|
|
@@ -33,6 +33,7 @@ class Scan(Runner):
|
|
|
33
33
|
sigs = []
|
|
34
34
|
for name, workflow_opts in self.config.workflows.items():
|
|
35
35
|
run_opts = self.run_opts.copy()
|
|
36
|
+
run_opts['no_poll'] = True
|
|
36
37
|
opts = merge_opts(scan_opts, workflow_opts, run_opts)
|
|
37
38
|
config = TemplateLoader(name=f'workflows/{name}')
|
|
38
39
|
workflow = Workflow(
|
|
@@ -6,8 +6,8 @@ from celery import chain
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
class Task(Runner):
|
|
9
|
+
|
|
9
10
|
default_exporters = CONFIG.tasks.exporters
|
|
10
|
-
enable_hooks = False
|
|
11
11
|
|
|
12
12
|
@classmethod
|
|
13
13
|
def delay(cls, *args, **kwargs):
|
|
@@ -37,6 +37,7 @@ class Task(Runner):
|
|
|
37
37
|
# Set task output types
|
|
38
38
|
self.output_types = task_cls.output_types
|
|
39
39
|
self.enable_duplicate_check = False
|
|
40
|
+
self.enable_hooks = False
|
|
40
41
|
|
|
41
42
|
# Get hooks
|
|
42
43
|
hooks = self._hooks.get(Task, {})
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|