secator 0.10.1a5__py3-none-any.whl → 0.10.1a6__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of secator might be problematic. Click here for more details.
- secator/celery.py +0 -1
- secator/runners/_base.py +11 -34
- secator/runners/scan.py +1 -0
- secator/runners/task.py +2 -1
- {secator-0.10.1a5.dist-info → secator-0.10.1a6.dist-info}/METADATA +1 -1
- {secator-0.10.1a5.dist-info → secator-0.10.1a6.dist-info}/RECORD +9 -9
- {secator-0.10.1a5.dist-info → secator-0.10.1a6.dist-info}/WHEEL +0 -0
- {secator-0.10.1a5.dist-info → secator-0.10.1a6.dist-info}/entry_points.txt +0 -0
- {secator-0.10.1a5.dist-info → secator-0.10.1a6.dist-info}/licenses/LICENSE +0 -0
secator/celery.py
CHANGED
|
@@ -262,7 +262,6 @@ def mark_runner_complete(results, runner):
|
|
|
262
262
|
runner.results = results
|
|
263
263
|
if not runner.no_process:
|
|
264
264
|
runner.mark_duplicates()
|
|
265
|
-
runner.results = runner.filter_results()
|
|
266
265
|
runner.log_results()
|
|
267
266
|
runner.run_hooks('on_end')
|
|
268
267
|
return runner.results
|
secator/runners/_base.py
CHANGED
|
@@ -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
|
|
secator/runners/scan.py
CHANGED
|
@@ -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(
|
secator/runners/task.py
CHANGED
|
@@ -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, {})
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
secator/.gitignore,sha256=da8MUc3hdb6Mo0WjZu2upn5uZMbXcBGvhdhTQ1L89HI,3093
|
|
2
2
|
secator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
|
-
secator/celery.py,sha256=
|
|
3
|
+
secator/celery.py,sha256=PC4l00gLNN9ftxbTqMPgYNsFq5jOlCrEgFPyiWwbJLg,9620
|
|
4
4
|
secator/celery_signals.py,sha256=iumfx7tTeoavAbHijBtij0JzeIqElxQldNZtuZmFY_U,4456
|
|
5
5
|
secator/celery_utils.py,sha256=bW1yzMCjfIiesU4SOVNVuy0I8HukJyh8KmNB4w0woJM,8857
|
|
6
6
|
secator/cli.py,sha256=3_tTTusW12MCejFgtOeYjiedjrJpyQj_gsCK8FkTMJA,43922
|
|
@@ -69,12 +69,12 @@ secator/output_types/user_account.py,sha256=rm10somxyu30JHjj629IkR15Nhahylud_fVO
|
|
|
69
69
|
secator/output_types/vulnerability.py,sha256=nF7OT9zGez8sZvLrkhjBOORjVi8hCqfCYUFq3eZ_ywo,2870
|
|
70
70
|
secator/output_types/warning.py,sha256=47GtmG083GqGPb_R5JDFmARJ9Mqrme58UxwJhgdGPuI,853
|
|
71
71
|
secator/runners/__init__.py,sha256=EBbOk37vkBy9p8Hhrbi-2VtM_rTwQ3b-0ggTyiD22cE,290
|
|
72
|
-
secator/runners/_base.py,sha256=
|
|
72
|
+
secator/runners/_base.py,sha256=FMqUix_6GVe5U2OT1jiQ_zbaWEieBBxtZVQfeGZKWpU,30512
|
|
73
73
|
secator/runners/_helpers.py,sha256=QhJmdmFdu5XSx3LBFf4Q4Hy2EXS6bLGnJUq8G7C6f68,2410
|
|
74
74
|
secator/runners/celery.py,sha256=bqvDTTdoHiGRCt0FRvlgFHQ_nsjKMP5P0PzGbwfCj_0,425
|
|
75
75
|
secator/runners/command.py,sha256=9AvjZgSXctP8D-ffPCtlnXEiGqTeaD2wVGhiGNuROb0,25469
|
|
76
|
-
secator/runners/scan.py,sha256=
|
|
77
|
-
secator/runners/task.py,sha256=
|
|
76
|
+
secator/runners/scan.py,sha256=jKguiqlH4jw0uRGMN6GNsqgexw9T0HBIL7_4mIUo3xA,1530
|
|
77
|
+
secator/runners/task.py,sha256=RXVnNLPflFC7g9u6M8u6cnB7MYVyRALmQsjCCBtk7kA,1876
|
|
78
78
|
secator/runners/workflow.py,sha256=qldnRm7r_SCvRHJFkZ7eaml62RZkOeCdT18PU357grY,2982
|
|
79
79
|
secator/scans/__init__.py,sha256=s4Ojsk5CWwyWqHu_A4zaXUL5Hm5L5nCmCHZn7wdD3Io,623
|
|
80
80
|
secator/serializers/__init__.py,sha256=OP5cmFl77ovgSCW_IDcZ21St2mUt5UK4QHfrsK2KvH8,248
|
|
@@ -110,8 +110,8 @@ secator/tasks/searchsploit.py,sha256=gvtLZbL2hzAZ07Cf0cSj2Qs0GvWK94XyHvoPFsetXu8
|
|
|
110
110
|
secator/tasks/subfinder.py,sha256=C6W5NnXT92OUB1aSS9IYseqdI3wDMAz70TOEl8X-o3U,1213
|
|
111
111
|
secator/tasks/wpscan.py,sha256=036ywiEqZfX_Bt071U7qIm7bi6pNk7vodflmuslJurA,5550
|
|
112
112
|
secator/workflows/__init__.py,sha256=R_TTyjg9f2Ph2_LYiF0lL07IjTrfRE_zqJzy-N7_WCk,675
|
|
113
|
-
secator-0.10.
|
|
114
|
-
secator-0.10.
|
|
115
|
-
secator-0.10.
|
|
116
|
-
secator-0.10.
|
|
117
|
-
secator-0.10.
|
|
113
|
+
secator-0.10.1a6.dist-info/METADATA,sha256=mCzqqxVeSyNqStpurizNJqoDeXE_HbIsabiuxZ48-xE,14726
|
|
114
|
+
secator-0.10.1a6.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
115
|
+
secator-0.10.1a6.dist-info/entry_points.txt,sha256=lPgsqqUXWgiuGSfKy-se5gHdQlAXIwS_A46NYq7Acic,44
|
|
116
|
+
secator-0.10.1a6.dist-info/licenses/LICENSE,sha256=19W5Jsy4WTctNkqmZIqLRV1gTDOp01S3LDj9iSgWaJ0,2867
|
|
117
|
+
secator-0.10.1a6.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|