secator 0.10.1a4__py3-none-any.whl → 0.10.1a5__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 CHANGED
@@ -260,8 +260,6 @@ def mark_runner_complete(results, runner):
260
260
 
261
261
  # Run final processing
262
262
  runner.results = results
263
- runner.done = True
264
- runner.progress = 100
265
263
  if not runner.no_process:
266
264
  runner.mark_duplicates()
267
265
  runner.results = runner.filter_results()
secator/report.py CHANGED
@@ -38,7 +38,7 @@ class Report:
38
38
  exporters (list): List of exporter classes.
39
39
  """
40
40
  def __init__(self, runner, title=None, exporters=[]):
41
- self.title = title or f'{runner.__class__.__name__.lower()}_{runner.config.name}'
41
+ self.title = title or f'{runner.config.type}_{runner.config.name}'
42
42
  self.runner = runner
43
43
  self.timestamp = get_file_timestamp()
44
44
  self.exporters = exporters
secator/runners/_base.py CHANGED
@@ -686,8 +686,6 @@ class Runner:
686
686
 
687
687
  def log_results(self):
688
688
  """Log runner results."""
689
- if self.no_poll:
690
- return
691
689
  self.started = True
692
690
  self.done = True
693
691
  self.progress = 100
secator/scans/__init__.py CHANGED
@@ -1,28 +1,29 @@
1
1
  from secator.cli import ALL_SCANS
2
+ from secator.runners import Scan
2
3
 
3
4
 
4
- def generate_class(config):
5
- from secator.runners import Scan
5
+ class DynamicScan(Scan):
6
+ def __init__(self, config):
7
+ self.config = config
6
8
 
7
- class scan(Scan):
8
- def __init__(self, inputs=[], **run_opts):
9
- hooks = run_opts.pop('hooks', {})
10
- results = run_opts.pop('results', [])
11
- context = run_opts.pop('context', {})
12
- super().__init__(
13
- config=config,
14
- inputs=inputs,
15
- results=results,
16
- run_opts=run_opts,
17
- hooks=hooks,
18
- context=context)
19
- return scan, config.name
9
+ def __call__(self, targets, **kwargs):
10
+ hooks = kwargs.pop('hooks', {})
11
+ results = kwargs.pop('results', [])
12
+ context = kwargs.pop('context', {})
13
+ super().__init__(
14
+ config=self.config,
15
+ inputs=targets,
16
+ results=results,
17
+ hooks=hooks,
18
+ context=context,
19
+ run_opts=kwargs)
20
+ return self
20
21
 
21
22
 
22
23
  DYNAMIC_SCANS = {}
23
24
  for scan in ALL_SCANS:
24
- cls, name = generate_class(scan)
25
- DYNAMIC_SCANS[name] = cls
25
+ instance = DynamicScan(scan)
26
+ DYNAMIC_SCANS[scan.name] = instance
26
27
 
27
28
  globals().update(DYNAMIC_SCANS)
28
29
  __all__ = list(DYNAMIC_SCANS)
@@ -1,28 +1,29 @@
1
1
  from secator.cli import ALL_WORKFLOWS
2
+ from secator.runners import Workflow
2
3
 
3
4
 
4
- def generate_class(config):
5
- from secator.runners import Workflow
5
+ class DynamicWorkflow(Workflow):
6
+ def __init__(self, config):
7
+ self.config = config
6
8
 
7
- class workflow(Workflow):
8
- def __init__(self, inputs=[], **run_opts):
9
- hooks = run_opts.pop('hooks', {})
10
- results = run_opts.pop('results', [])
11
- context = run_opts.pop('context', {})
12
- super().__init__(
13
- config=config,
14
- inputs=inputs,
15
- results=results,
16
- run_opts=run_opts,
17
- hooks=hooks,
18
- context=context)
19
- return workflow, config.name
9
+ def __call__(self, targets, **kwargs):
10
+ hooks = kwargs.pop('hooks', {})
11
+ results = kwargs.pop('results', [])
12
+ context = kwargs.pop('context', {})
13
+ super().__init__(
14
+ config=self.config,
15
+ inputs=targets,
16
+ results=results,
17
+ hooks=hooks,
18
+ context=context,
19
+ run_opts=kwargs)
20
+ return self
20
21
 
21
22
 
22
23
  DYNAMIC_WORKFLOWS = {}
23
24
  for workflow in ALL_WORKFLOWS:
24
- cls, name = generate_class(workflow)
25
- DYNAMIC_WORKFLOWS[name] = cls
25
+ instance = DynamicWorkflow(workflow)
26
+ DYNAMIC_WORKFLOWS[workflow.name] = instance
26
27
 
27
28
  globals().update(DYNAMIC_WORKFLOWS)
28
29
  __all__ = list(DYNAMIC_WORKFLOWS)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: secator
3
- Version: 0.10.1a4
3
+ Version: 0.10.1a5
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
@@ -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=8BV-G_r0gYZ48oYejMpvY4wvPJwYcjZ3NHnpjzOkB94,9706
3
+ secator/celery.py,sha256=NNaLjSENWnNTUgSSW8XXni6wlTE_-2ju9dd3Exwk7bE,9663
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
@@ -8,7 +8,7 @@ secator/config.py,sha256=CdVBh6d4k13SpkQKyHQfMFHgkLypUH07kAKLmCJJO1w,19688
8
8
  secator/decorators.py,sha256=3kYadCz6haIZtnjkFHSRfenTdc6Yu7bHd-0IVjhD72w,13902
9
9
  secator/definitions.py,sha256=gFtLT9fjNtX_1qkiCjNfQyCvYq07IhScsQzX4o20_SE,3084
10
10
  secator/installer.py,sha256=Q5qmGbxGmuhysEA9YovTpy-YY2TxxFskhrzSX44c42E,17971
11
- secator/report.py,sha256=qJkEdCFttDBXIwUNUzZqFU_sG8l0PvyTSTogZVBv1Rs,3628
11
+ secator/report.py,sha256=rocJgsAMT2BgcwCqm3pwjAyymENlZZpHBqsBsXtXde4,3613
12
12
  secator/rich.py,sha256=owmuLcTTUt8xYBTE3_SqWTkPeAomcU_8bPdW_V-U8VM,3264
13
13
  secator/template.py,sha256=Sb6PjCTGIkZ7I0OGWFp5CaXmjt-6VPe_xpcRhWhjGpU,4409
14
14
  secator/thread.py,sha256=rgRgEtcMgs2wyfLWVlCTUCLWeg6jsMo5iKpyyrON5rY,655
@@ -69,14 +69,14 @@ 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=3LNWH_jEfaZbtgHYzfl6mFmUJ9IoC62vKmLlv-MmTAw,31293
72
+ secator/runners/_base.py,sha256=MhjvSUTY7tkNWyxwjMzmt6qA5qCFAlREujkqG_z2xIw,31264
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
76
  secator/runners/scan.py,sha256=9FjDsFmQrAWfA6crWkCJaVqG3-t2HBVjcsv4UQp_9b8,1500
77
77
  secator/runners/task.py,sha256=59jPXKSxFtSNXsm6VTAz8li2jxpM0Bkcgcn77HIDCrY,1869
78
78
  secator/runners/workflow.py,sha256=qldnRm7r_SCvRHJFkZ7eaml62RZkOeCdT18PU357grY,2982
79
- secator/scans/__init__.py,sha256=1EEbngbDbvWxmeDYC6uux00WWy1v5qHtSpk6NVz27rM,617
79
+ secator/scans/__init__.py,sha256=s4Ojsk5CWwyWqHu_A4zaXUL5Hm5L5nCmCHZn7wdD3Io,623
80
80
  secator/serializers/__init__.py,sha256=OP5cmFl77ovgSCW_IDcZ21St2mUt5UK4QHfrsK2KvH8,248
81
81
  secator/serializers/dataclass.py,sha256=RqICpfsYWGjHAACAA2h2jZ_69CFHim4VZwcBqowGMcQ,1010
82
82
  secator/serializers/json.py,sha256=UJwAymRzjF-yBKOgz1MTOyBhQcdQg7fOKRXgmHIu8fo,411
@@ -109,9 +109,9 @@ secator/tasks/nuclei.py,sha256=bMXCRU5VWyrwI7Cv6BCj84NTpfjuALFumPqUSZ4Y6Ug,4243
109
109
  secator/tasks/searchsploit.py,sha256=gvtLZbL2hzAZ07Cf0cSj2Qs0GvWK94XyHvoPFsetXu8,3321
110
110
  secator/tasks/subfinder.py,sha256=C6W5NnXT92OUB1aSS9IYseqdI3wDMAz70TOEl8X-o3U,1213
111
111
  secator/tasks/wpscan.py,sha256=036ywiEqZfX_Bt071U7qIm7bi6pNk7vodflmuslJurA,5550
112
- secator/workflows/__init__.py,sha256=ivpZHiYYlj4JqlXLRmB9cmAPUGdk8QcUrCRL34hIqEA,665
113
- secator-0.10.1a4.dist-info/METADATA,sha256=EWh5NvMc8ZTE9xYmtbbE7eikaHPHgQfTasXPWlsyQdA,14726
114
- secator-0.10.1a4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
115
- secator-0.10.1a4.dist-info/entry_points.txt,sha256=lPgsqqUXWgiuGSfKy-se5gHdQlAXIwS_A46NYq7Acic,44
116
- secator-0.10.1a4.dist-info/licenses/LICENSE,sha256=19W5Jsy4WTctNkqmZIqLRV1gTDOp01S3LDj9iSgWaJ0,2867
117
- secator-0.10.1a4.dist-info/RECORD,,
112
+ secator/workflows/__init__.py,sha256=R_TTyjg9f2Ph2_LYiF0lL07IjTrfRE_zqJzy-N7_WCk,675
113
+ secator-0.10.1a5.dist-info/METADATA,sha256=oZnZtXatOa_oqR8f816Hc-0-Re2uouxu0mgHa-vLNyk,14726
114
+ secator-0.10.1a5.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
115
+ secator-0.10.1a5.dist-info/entry_points.txt,sha256=lPgsqqUXWgiuGSfKy-se5gHdQlAXIwS_A46NYq7Acic,44
116
+ secator-0.10.1a5.dist-info/licenses/LICENSE,sha256=19W5Jsy4WTctNkqmZIqLRV1gTDOp01S3LDj9iSgWaJ0,2867
117
+ secator-0.10.1a5.dist-info/RECORD,,