secator 0.3.5__py3-none-any.whl → 0.3.6__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
@@ -417,6 +417,6 @@ def is_celery_worker_alive():
417
417
  result = bool(result)
418
418
  if result:
419
419
  console.print('Celery worker is alive !', style='bold green')
420
- # else:
421
- # console.print('No Celery worker alive.', style='bold red')
420
+ else:
421
+ console.print('No Celery worker alive.', style='bold orange1')
422
422
  return result
secator/decorators.py CHANGED
@@ -24,7 +24,6 @@ RUNNER_OPTS = {
24
24
 
25
25
  RUNNER_GLOBAL_OPTS = {
26
26
  'sync': {'is_flag': True, 'help': 'Run tasks synchronously (automatic if no worker is alive)'},
27
- 'worker': {'is_flag': True, 'help': 'Run tasks in worker (automatic if worker is alive)'},
28
27
  'proxy': {'type': str, 'help': 'HTTP proxy'},
29
28
  'driver': {'type': str, 'help': 'Export real-time results. E.g: "mongodb"'}
30
29
  # 'debug': {'type': int, 'default': 0, 'help': 'Debug mode'},
@@ -264,7 +263,6 @@ def register_runner(cli_endpoint, config):
264
263
  def func(ctx, **opts):
265
264
  opts.update(fmt_opts)
266
265
  sync = opts['sync']
267
- worker = opts['worker']
268
266
  # debug = opts['debug']
269
267
  ws = opts.pop('workspace')
270
268
  driver = opts.pop('driver', '')
@@ -275,13 +273,22 @@ def register_runner(cli_endpoint, config):
275
273
  # opts.update(unknown_opts)
276
274
  targets = opts.pop(input_type)
277
275
  targets = expand_input(targets)
278
- if sync or show or not ADDONS_ENABLED['worker']:
276
+ if sync or show:
279
277
  sync = True
280
- elif worker:
281
- sync = False
282
- else: # automatically run in worker if it's alive
278
+ else:
283
279
  from secator.celery import is_celery_worker_alive
284
- sync = not is_celery_worker_alive()
280
+ worker_alive = is_celery_worker_alive()
281
+ if not worker_alive:
282
+ sync = True
283
+ else:
284
+ sync = False
285
+ from secator.definitions import CELERY_BROKER_URL, CELERY_RESULT_BACKEND
286
+ broker_protocol = CELERY_BROKER_URL.split('://')[0]
287
+ backend_protocol = CELERY_RESULT_BACKEND.split('://')[0]
288
+ if CELERY_BROKER_URL:
289
+ if (broker_protocol == 'redis' or backend_protocol == 'redis') and not ADDONS_ENABLED['redis']:
290
+ _get_rich_console().print('[bold red]Missing `redis` addon: please run `secator install addons redis`[/].')
291
+ sys.exit(1)
285
292
  opts['sync'] = sync
286
293
  opts.update({
287
294
  'print_item': not sync,
@@ -293,8 +300,8 @@ def register_runner(cli_endpoint, config):
293
300
  # Build hooks from driver name
294
301
  hooks = {}
295
302
  if driver == 'mongodb':
296
- if not ADDONS_ENABLED['mongo']:
297
- _get_rich_console().print('[bold red]Missing MongoDB dependencies: please run `secator install addons mongodb`[/].')
303
+ if not ADDONS_ENABLED['mongodb']:
304
+ _get_rich_console().print('[bold red]Missing `mongodb` addon: please run `secator install addons mongodb`[/].')
298
305
  sys.exit(1)
299
306
  from secator.hooks.mongodb import MONGODB_HOOKS
300
307
  hooks = MONGODB_HOOKS
secator/runners/_base.py CHANGED
@@ -111,8 +111,7 @@ class Runner:
111
111
  # Determine report folder
112
112
  default_reports_folder_base = f'{REPORTS_FOLDER}/{self.workspace_name}/{self.config.type}s'
113
113
  _id = get_task_folder_id(default_reports_folder_base)
114
- default_report_folder = f'{default_reports_folder_base}/{_id}'
115
- self.reports_folder = run_opts.get('reports_folder') or default_report_folder
114
+ self.reports_folder = f'{default_reports_folder_base}/{_id}'
116
115
 
117
116
  # Make reports folders
118
117
  os.makedirs(self.reports_folder, exist_ok=True)
secator/runners/scan.py CHANGED
@@ -44,7 +44,6 @@ class Scan(Runner):
44
44
 
45
45
  # Workflow opts
46
46
  run_opts = self.run_opts.copy()
47
- run_opts['reports_folder'] = self.reports_folder
48
47
  fmt_opts = {
49
48
  'json': run_opts.get('json', False),
50
49
  'print_item': False,
secator/runners/task.py CHANGED
@@ -52,7 +52,6 @@ class Task(Runner):
52
52
  hooks = {task_cls: self.hooks}
53
53
  run_opts['hooks'] = hooks
54
54
  run_opts['context'] = self.context
55
- run_opts['reports_folder'] = self.reports_folder
56
55
 
57
56
  # Run task
58
57
  if self.sync:
@@ -47,7 +47,6 @@ class Workflow(Runner):
47
47
 
48
48
  # Construct run opts
49
49
  task_run_opts['hooks'] = self._hooks.get(Task, {})
50
- task_run_opts['reports_folder'] = self.reports_folder
51
50
  task_run_opts.update(task_fmt_opts)
52
51
 
53
52
  # Build Celery workflow
@@ -28,7 +28,6 @@ class searchsploit(Command):
28
28
  }
29
29
  }
30
30
  install_cmd = 'sudo git clone https://gitlab.com/exploit-database/exploitdb.git /opt/exploitdb || true && sudo ln -sf /opt/exploitdb/searchsploit /usr/local/bin/searchsploit' # noqa: E501
31
- install_github_handle = 'rad10/SearchSploit.py'
32
31
  proxychains = False
33
32
  proxy_socks5 = False
34
33
  proxy_http = False
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: secator
3
- Version: 0.3.5
3
+ Version: 0.3.6
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,9 +1,9 @@
1
1
  secator/.gitignore,sha256=da8MUc3hdb6Mo0WjZu2upn5uZMbXcBGvhdhTQ1L89HI,3093
2
2
  secator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
- secator/celery.py,sha256=UigivWSZPSr7ypPr8caeaavoaOWsQrdTq_HNC-UGFHI,12266
3
+ secator/celery.py,sha256=4jryWgB7Ydqtosc1HrE2VkMhWXqdhb-A8wJiUem4Mh4,12266
4
4
  secator/cli.py,sha256=zwHB7JcWppX38IE39p4eSUUYDP5SdehYOJ-ByKNtVDw,31565
5
5
  secator/config.py,sha256=iOeRzq7u1rvR1-Oq5v9wGxQYB613X0xKGLIcrfhEGc4,3693
6
- secator/decorators.py,sha256=ZlrdUQ5kpisaNRI4-csQWwbrB4oXs6SXijramNMVqfE,10490
6
+ secator/decorators.py,sha256=xH9QzAPd1DspoAzFv54Ss4JhCiZ9dd1zD5cdYGE7WKY,10784
7
7
  secator/definitions.py,sha256=ZFDPZW5R4CiAMWjyGvWmrePEljiWFyabgoTVM5Zedt4,7599
8
8
  secator/installer.py,sha256=wa5YFmbqMEpVI0jNiPvNE8-IDvr6vHNcdALV5rFYBr4,9329
9
9
  secator/report.py,sha256=g0stVCcx9klbUS01uKvWcxNE9MJfNFMexYA2SoDIWJU,2596
@@ -57,12 +57,12 @@ secator/output_types/url.py,sha256=yDozBXCuPfuybH1iX_xGmbCJPXO6Ei14C8Hp5CnzNbE,2
57
57
  secator/output_types/user_account.py,sha256=EiT2BFl2LTCdqHF1meoMEKVhjKGroyf8-JoWHPuBOTc,1378
58
58
  secator/output_types/vulnerability.py,sha256=p0DTbr5w7Vv5D3dgbdnvsG5qXzqVVk4YPOPWYS1lxmM,2843
59
59
  secator/runners/__init__.py,sha256=EBbOk37vkBy9p8Hhrbi-2VtM_rTwQ3b-0ggTyiD22cE,290
60
- secator/runners/_base.py,sha256=wPCGBNEbTLSeFhYgQvTglo7gLA9ptM5Qa_vQSfe23Xk,28372
60
+ secator/runners/_base.py,sha256=jhglHTz1yf-LBdCdTX2YyAt664yBeQkkySQCrJYpjnM,28290
61
61
  secator/runners/_helpers.py,sha256=7UUboSsr4b6srIOOHtSSYhJ9Jxq_qaMVbbF2gVEBnR4,3703
62
62
  secator/runners/command.py,sha256=JzdwhbvsDujOyE-i_XgBGH-g6jaEoDNwL7CU2BIZ-Ng,18737
63
- secator/runners/scan.py,sha256=FjmlL_zkraqhS3rBwy5jHnGsKt2n7Hb2gi4qhgeGenw,1727
64
- secator/runners/task.py,sha256=PWFRFaI_GdKtgyNx9f7iiCUUUtl0XiinHD7rurspTvc,2823
65
- secator/runners/workflow.py,sha256=90QvSJXNXTIS3_RecCnzMWYplG6gT-wc82b214XIivE,3773
63
+ secator/runners/scan.py,sha256=ZRfSgJd0RxtmxWp7cDGZsnmhdo-t1TSBH26XKxvH94k,1675
64
+ secator/runners/task.py,sha256=hv9O8yeVBHuznDoNeQuDPxB6Doc2MKV_P838qJdO7b0,2772
65
+ secator/runners/workflow.py,sha256=tQD03JqebVve9ncR9gxpzcgTsP6yvAWjUs2YBX80jzc,3717
66
66
  secator/serializers/__init__.py,sha256=OP5cmFl77ovgSCW_IDcZ21St2mUt5UK4QHfrsK2KvH8,248
67
67
  secator/serializers/dataclass.py,sha256=g5gMT4NwndjhGcGbFuYEs07AZW_Q_m9orov_edVEGlI,792
68
68
  secator/serializers/json.py,sha256=XwuSQOBwrOAs16F5HtY-Q-rAGAxfNvlq3z-Nb2gwigE,304
@@ -90,11 +90,11 @@ secator/tasks/msfconsole.py,sha256=VlhEzsdYMHb6eJy4HBRdXMtRKhdzf5KtQGh7qZqO9Rs,6
90
90
  secator/tasks/naabu.py,sha256=RNs4NCZXgKhPqzR78l6l61tau0mGHuj6C3If7fimpgs,1594
91
91
  secator/tasks/nmap.py,sha256=LS5FBo-vFxbHVK4DxF5x-O2cAvAK3zL1pROT1GddX9E,9459
92
92
  secator/tasks/nuclei.py,sha256=7MlTygHd4EVz81ndrVwP5y6PZ-4j-Y8Oxuk3G3ayHPI,3343
93
- secator/tasks/searchsploit.py,sha256=l0uNj5Jzax3lVMiMDxC8V3-bQ05y-FPaOhVdro1ibV4,1713
93
+ secator/tasks/searchsploit.py,sha256=RD2uv3GFI3Eb-DiTzJp59jyXnvAZRACq-WjDI1NgFM0,1664
94
94
  secator/tasks/subfinder.py,sha256=cpFyFCpVaDZ3QAjNId26ezOwntn3CA5Uk-AC2l0mo0E,1087
95
95
  secator/tasks/wpscan.py,sha256=UVWnBPOQ1RDB2wzMswWR6vc6cucYgHtuJ8pLZoqCM40,5434
96
- secator-0.3.5.dist-info/METADATA,sha256=BOhLQhDOtU2OLtpKH8Fv8Aaegpx27u2RRn_7Fp870iQ,13933
97
- secator-0.3.5.dist-info/WHEEL,sha256=K0BPUNF1N3kQ9olb8aVEtkObePEjdr2JOLT1N83EVws,87
98
- secator-0.3.5.dist-info/entry_points.txt,sha256=lPgsqqUXWgiuGSfKy-se5gHdQlAXIwS_A46NYq7Acic,44
99
- secator-0.3.5.dist-info/licenses/LICENSE,sha256=19W5Jsy4WTctNkqmZIqLRV1gTDOp01S3LDj9iSgWaJ0,2867
100
- secator-0.3.5.dist-info/RECORD,,
96
+ secator-0.3.6.dist-info/METADATA,sha256=HaAuvqTAtZiaWWcTsn4KcZditRPlRYdE5nZQIboxwbk,13933
97
+ secator-0.3.6.dist-info/WHEEL,sha256=K0BPUNF1N3kQ9olb8aVEtkObePEjdr2JOLT1N83EVws,87
98
+ secator-0.3.6.dist-info/entry_points.txt,sha256=lPgsqqUXWgiuGSfKy-se5gHdQlAXIwS_A46NYq7Acic,44
99
+ secator-0.3.6.dist-info/licenses/LICENSE,sha256=19W5Jsy4WTctNkqmZIqLRV1gTDOp01S3LDj9iSgWaJ0,2867
100
+ secator-0.3.6.dist-info/RECORD,,