secator 0.10.1a8__py3-none-any.whl → 0.10.1a9__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/cli.py CHANGED
@@ -118,11 +118,12 @@ for config in sorted(ALL_SCANS, key=lambda x: x['name']):
118
118
  @click.option('-r', '--reload', is_flag=True, help='Autoreload Celery on code changes.')
119
119
  @click.option('-Q', '--queue', type=str, default='', help='Listen to a specific queue.')
120
120
  @click.option('-P', '--pool', type=str, default='eventlet', help='Pool implementation.')
121
+ @click.option('--quiet', is_flag=True, help='Quiet mode.')
121
122
  @click.option('--check', is_flag=True, help='Check if Celery worker is alive.')
122
123
  @click.option('--dev', is_flag=True, help='Start a worker in dev mode (celery multi).')
123
124
  @click.option('--stop', is_flag=True, help='Stop a worker in dev mode (celery multi).')
124
125
  @click.option('--show', is_flag=True, help='Show command (celery multi).')
125
- def worker(hostname, concurrency, reload, queue, pool, check, dev, stop, show):
126
+ def worker(hostname, concurrency, reload, queue, pool, quiet, check, dev, stop, show):
126
127
  """Run a worker."""
127
128
 
128
129
  # Check Celery addon is installed
@@ -152,6 +153,8 @@ def worker(hostname, concurrency, reload, queue, pool, check, dev, stop, show):
152
153
 
153
154
  app_str = 'secator.celery.app'
154
155
  celery = f'{sys.executable} -m celery'
156
+ if quiet:
157
+ celery += ' --quiet'
155
158
 
156
159
  if dev:
157
160
  subcmd = 'stop' if stop else 'show' if show else 'start'
secator/runners/task.py CHANGED
@@ -47,6 +47,9 @@ class Task(Runner):
47
47
  opts['context'] = self.context.copy()
48
48
  opts['reports_folder'] = str(self.reports_folder)
49
49
  opts['enable_reports'] = False # Task will handle reports
50
+ opts['enable_duplicate_check'] = False # Task will handle duplicate check
51
+ opts['has_parent'] = False
52
+ opts['skip_if_no_inputs'] = False
50
53
 
51
54
  # Create task signature
52
55
  task_id = str(uuid.uuid4())
@@ -37,12 +37,14 @@ class Workflow(Runner):
37
37
  # Set hooks and reports
38
38
  self.enable_reports = True # Workflow will handle reports
39
39
  self.enable_hooks = False # Celery will handle hooks
40
+
40
41
  # Get hooks
41
42
  hooks = self._hooks.get(Task, {})
42
43
  opts['hooks'] = hooks
43
44
  opts['context'] = self.context.copy()
44
45
  opts['reports_folder'] = str(self.reports_folder)
45
46
  opts['enable_reports'] = False # Workflow will handle reports
47
+ opts['enable_duplicate_check'] = False # Workflow will handle duplicate check
46
48
  opts['has_parent'] = True
47
49
  opts['skip_if_no_inputs'] = True
48
50
 
@@ -73,8 +75,7 @@ class Workflow(Runner):
73
75
  Returns:
74
76
  tuple (List[celery.Signature], List[str]): Celery signatures, Celery task ids.
75
77
  """
76
- from celery import chain, chord
77
- from secator.celery import forward_results
78
+ from celery import chain, group
78
79
  sigs = []
79
80
  for task_name, task_opts in config.items():
80
81
  # Task opts can be None
@@ -88,7 +89,7 @@ class Workflow(Runner):
88
89
  workflow_opts,
89
90
  run_opts
90
91
  )
91
- sig = chord((tasks), forward_results.s().set(queue='results'))
92
+ sig = group(*tasks)
92
93
  elif task_name == '_chain':
93
94
  tasks = self.get_tasks(
94
95
  task_opts,
@@ -107,6 +108,7 @@ class Workflow(Runner):
107
108
 
108
109
  # Create task signature
109
110
  task_id = str(uuid.uuid4())
111
+ opts['context'] = self.context.copy()
110
112
  sig = task.s(inputs, **opts).set(queue=task.profile, task_id=task_id)
111
113
  self.add_subtask(task_id, task_name, task_opts.get('description', ''))
112
114
  self.output_types.extend(task.output_types)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: secator
3
- Version: 0.10.1a8
3
+ Version: 0.10.1a9
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
@@ -3,7 +3,7 @@ secator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  secator/celery.py,sha256=o-8s9TNaApVVeYanok0SzvmGD_zsSMzf55DgERjnUgs,9635
4
4
  secator/celery_signals.py,sha256=iumfx7tTeoavAbHijBtij0JzeIqElxQldNZtuZmFY_U,4456
5
5
  secator/celery_utils.py,sha256=_wcUC42VPUotPhh9YYqbuq0dkARI8_RoCklDlhQL9Jg,8903
6
- secator/cli.py,sha256=3_tTTusW12MCejFgtOeYjiedjrJpyQj_gsCK8FkTMJA,43922
6
+ secator/cli.py,sha256=KweGQaeGaZ53lGsrdmbrHqqHpFrGh8m4KQgARucHHG4,44022
7
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
@@ -73,8 +73,8 @@ secator/runners/_helpers.py,sha256=QhJmdmFdu5XSx3LBFf4Q4Hy2EXS6bLGnJUq8G7C6f68,2
73
73
  secator/runners/celery.py,sha256=bqvDTTdoHiGRCt0FRvlgFHQ_nsjKMP5P0PzGbwfCj_0,425
74
74
  secator/runners/command.py,sha256=9AvjZgSXctP8D-ffPCtlnXEiGqTeaD2wVGhiGNuROb0,25469
75
75
  secator/runners/scan.py,sha256=L-6YfdgeVXjTEHiSriwNVFyBmSCNhHTj-6A7R9lka6c,1532
76
- secator/runners/task.py,sha256=NuAEPtSc13XrA41QShx_R8H5NoSAcvjk-oP7wIlJDLA,1869
77
- secator/runners/workflow.py,sha256=wa82AwsVqxk50xxSXAm3dOjutp2qFSr5Klj5Lot7TFc,3236
76
+ secator/runners/task.py,sha256=4Ef2YkvVmr0wo2pY9FRo7PBX0rTW0q3uDED9R2QBt-g,2010
77
+ secator/runners/workflow.py,sha256=nY_ZkL0bVVwn1LAQnnKZEn9uDyG-ZnhkJc2yJUqBQNg,3272
78
78
  secator/scans/__init__.py,sha256=s4Ojsk5CWwyWqHu_A4zaXUL5Hm5L5nCmCHZn7wdD3Io,623
79
79
  secator/serializers/__init__.py,sha256=OP5cmFl77ovgSCW_IDcZ21St2mUt5UK4QHfrsK2KvH8,248
80
80
  secator/serializers/dataclass.py,sha256=RqICpfsYWGjHAACAA2h2jZ_69CFHim4VZwcBqowGMcQ,1010
@@ -109,8 +109,8 @@ secator/tasks/searchsploit.py,sha256=gvtLZbL2hzAZ07Cf0cSj2Qs0GvWK94XyHvoPFsetXu8
109
109
  secator/tasks/subfinder.py,sha256=C6W5NnXT92OUB1aSS9IYseqdI3wDMAz70TOEl8X-o3U,1213
110
110
  secator/tasks/wpscan.py,sha256=cSRwRfJEsZlqt1pVP3jWQ-7XhFfwR3i7FuL1PDRyWBQ,5594
111
111
  secator/workflows/__init__.py,sha256=R_TTyjg9f2Ph2_LYiF0lL07IjTrfRE_zqJzy-N7_WCk,675
112
- secator-0.10.1a8.dist-info/METADATA,sha256=A44X6h4lPlEo3Lk1RP9CGrwc4XA-cYn78iM8KtRVsqI,14726
113
- secator-0.10.1a8.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
114
- secator-0.10.1a8.dist-info/entry_points.txt,sha256=lPgsqqUXWgiuGSfKy-se5gHdQlAXIwS_A46NYq7Acic,44
115
- secator-0.10.1a8.dist-info/licenses/LICENSE,sha256=19W5Jsy4WTctNkqmZIqLRV1gTDOp01S3LDj9iSgWaJ0,2867
116
- secator-0.10.1a8.dist-info/RECORD,,
112
+ secator-0.10.1a9.dist-info/METADATA,sha256=YfTORX6_xaQnrY8W8IbzoYZrMfZnL6JxwWbrvz9q2dM,14726
113
+ secator-0.10.1a9.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
114
+ secator-0.10.1a9.dist-info/entry_points.txt,sha256=lPgsqqUXWgiuGSfKy-se5gHdQlAXIwS_A46NYq7Acic,44
115
+ secator-0.10.1a9.dist-info/licenses/LICENSE,sha256=19W5Jsy4WTctNkqmZIqLRV1gTDOp01S3LDj9iSgWaJ0,2867
116
+ secator-0.10.1a9.dist-info/RECORD,,