secator 0.9.0__py3-none-any.whl → 0.9.1__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
@@ -1,4 +1,5 @@
1
1
  import gc
2
+ import json
2
3
  import logging
3
4
  import sys
4
5
  import uuid
@@ -49,7 +50,7 @@ app.conf.update({
49
50
 
50
51
  # Broker config
51
52
  'broker_url': CONFIG.celery.broker_url,
52
- 'broker_transport_options': {
53
+ 'broker_transport_options': json.loads(CONFIG.celery.broker_transport_options) if CONFIG.celery.broker_transport_options else { # noqa: E501
53
54
  'data_folder_in': CONFIG.dirs.celery_data,
54
55
  'data_folder_out': CONFIG.dirs.celery_data,
55
56
  'control_folder': CONFIG.dirs.celery_data,
@@ -62,17 +63,17 @@ app.conf.update({
62
63
  # Result backend config
63
64
  'result_backend': CONFIG.celery.result_backend,
64
65
  'result_expires': CONFIG.celery.result_expires,
66
+ 'result_backend_transport_options': json.loads(CONFIG.celery.result_backend_transport_options) if CONFIG.celery.result_backend_transport_options else {}, # noqa: E501
65
67
  'result_extended': True,
66
68
  'result_backend_thread_safe': True,
67
69
  'result_serializer': 'pickle',
68
- # 'result_backend_transport_options': {'master_name': 'mymaster'}, # for Redis HA backend
69
70
 
70
71
  # Task config
71
- 'task_acks_late': False,
72
+ 'task_acks_late': CONFIG.celery.task_acks_late,
72
73
  'task_compression': 'gzip',
73
74
  'task_create_missing_queues': True,
74
75
  'task_eager_propagates': False,
75
- 'task_reject_on_worker_lost': False,
76
+ 'task_reject_on_worker_lost': CONFIG.celery.task_reject_on_worker_lost,
76
77
  'task_routes': {
77
78
  'secator.celery.run_workflow': {'queue': 'celery'},
78
79
  'secator.celery.run_scan': {'queue': 'celery'},
@@ -85,10 +86,10 @@ app.conf.update({
85
86
 
86
87
  # Worker config
87
88
  # 'worker_direct': True, # TODO: consider enabling this to allow routing to specific workers
88
- 'worker_max_tasks_per_child': 10,
89
+ 'worker_max_tasks_per_child': CONFIG.celery.worker_max_tasks_per_child,
89
90
  # 'worker_max_memory_per_child': 100000 # TODO: consider enabling this
90
91
  'worker_pool_restarts': True,
91
- 'worker_prefetch_multiplier': 1,
92
+ 'worker_prefetch_multiplier': CONFIG.celery.worker_prefetch_multiplier,
92
93
  # 'worker_send_task_events': True, # TODO: consider enabling this for Flower monitoring
93
94
  })
94
95
  app.autodiscover_tasks(['secator.hooks.mongodb'], related_name=None)
secator/cli.py CHANGED
@@ -20,7 +20,7 @@ from secator.config import CONFIG, ROOT_FOLDER, Config, default_config, config_p
20
20
  from secator.decorators import OrderedGroup, register_runner
21
21
  from secator.definitions import ADDONS_ENABLED, ASCII, DEV_PACKAGE, OPT_NOT_SUPPORTED, VERSION, STATE_COLORS
22
22
  from secator.installer import ToolInstaller, fmt_health_table_row, get_health_table, get_version_info, get_distro_config
23
- from secator.output_types import FINDING_TYPES, Info, Error
23
+ from secator.output_types import FINDING_TYPES, Info, Warning, Error
24
24
  from secator.report import Report
25
25
  from secator.rich import console
26
26
  from secator.runners import Command, Runner
secator/config.py CHANGED
@@ -62,9 +62,15 @@ class Celery(StrictModel):
62
62
  broker_pool_limit: int = 10
63
63
  broker_connection_timeout: float = 4.0
64
64
  broker_visibility_timeout: int = 3600
65
+ broker_transport_options: str = ""
65
66
  override_default_logging: bool = True
66
67
  result_backend: StrExpandHome = ''
68
+ result_backend_transport_options: str = ""
67
69
  result_expires: int = 86400 # 1 day
70
+ task_acks_late: bool = False
71
+ task_reject_on_worker_lost: bool = False
72
+ worker_max_tasks_per_child: int = 20
73
+ worker_prefetch_multiplier: int = 1
68
74
 
69
75
 
70
76
  class Cli(StrictModel):
secator/tasks/bbot.py CHANGED
@@ -194,7 +194,7 @@ class bbot(Command):
194
194
  '_source': lambda x: 'bbot-' + x['module']
195
195
  },
196
196
  Port: {
197
- 'port': lambda x: int(x['data']['port']) if 'port' in x['data'] else x['data'].split(':')[-1],
197
+ 'port': lambda x: int(x['data']['port']) if 'port' in x['data'] else int(x['data'].split(':')[-1]),
198
198
  'ip': lambda x: [_ for _ in x['resolved_hosts'] if not _.startswith('::')][0],
199
199
  'state': lambda x: 'OPEN',
200
200
  'service_name': lambda x: x['data']['protocol'] if 'protocol' in x['data'] else '',
secator/tasks/wpscan.py CHANGED
@@ -142,6 +142,7 @@ class wpscan(VulnHttp):
142
142
  yield Vulnerability(
143
143
  matched_at=target,
144
144
  name=f'Wordpress theme - {slug} {number} outdated',
145
+ confidence='high',
145
146
  severity='info'
146
147
  )
147
148
 
@@ -171,5 +172,6 @@ class wpscan(VulnHttp):
171
172
  yield Vulnerability(
172
173
  matched_at=target,
173
174
  name=f'Wordpress plugin - {slug} {number} outdated',
175
+ confidence='high',
174
176
  severity='info'
175
177
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: secator
3
- Version: 0.9.0
3
+ Version: 0.9.1
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
@@ -295,12 +295,23 @@ secator install addons worker
295
295
 
296
296
 
297
297
  <details>
298
- <summary>google</summary>
298
+ <summary>gdrive</summary>
299
299
 
300
300
  Add support for Google Drive exporter (`-o gdrive`).
301
301
 
302
302
  ```sh
303
- secator install addons google
303
+ secator install addons gdrive
304
+ ```
305
+
306
+ </details>
307
+
308
+ <details>
309
+ <summary>gcs</summary>
310
+
311
+ Add support for Google Cloud Storage driver (`-driver gcs`).
312
+
313
+ ```sh
314
+ secator install addons gcs
304
315
  ```
305
316
 
306
317
  </details>
@@ -360,14 +371,6 @@ secator install addons build
360
371
  </details>
361
372
 
362
373
 
363
- ### Install CVEs
364
-
365
- `secator` makes remote API calls to https://cve.circl.lu/ to get in-depth information about the CVEs it encounters.
366
- We provide a subcommand to download all known CVEs locally so that future lookups are made from disk instead:
367
- ```sh
368
- secator install cves
369
- ```
370
-
371
374
  ### Checking installation health
372
375
 
373
376
  To figure out which languages or tools are installed on your system (along with their version):
@@ -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=Ry-JYJzN9F4LFHOn4IXpSFgCzpM99esKiQRJh_TkHp8,9578
3
+ secator/celery.py,sha256=oXpw480s5aN9NzAkOKumjr1Er58ere-vzcG9eCffH9I,9915
4
4
  secator/celery_utils.py,sha256=iIuCn_3YkPXCtpnbaYqpppU2TARzSDyTIYHkrRyt54s,7725
5
- secator/cli.py,sha256=K6TB619bk8stXHUR_OeNSkD03djWYbvlalRRJvg9R0M,43870
6
- secator/config.py,sha256=6wm2EErW1DuhrdKSuIEUvc2b3yBxJWyZKnocr7lIeZw,19267
5
+ secator/cli.py,sha256=SX_SNUA6LLdG7ICpUs5iSiNYOp_DkQLGE0uuB_KSrXE,43879
6
+ secator/config.py,sha256=L-4b-PAM_-LyhnyocM1Slvj7ocYNv7kIrvlL8fU46yw,19494
7
7
  secator/decorators.py,sha256=tjH7WodxJEBIf2CCbegmvOe8H9DKSFh4iPLEhDNGPCA,13784
8
8
  secator/definitions.py,sha256=gFtLT9fjNtX_1qkiCjNfQyCvYq07IhScsQzX4o20_SE,3084
9
9
  secator/installer.py,sha256=Q5qmGbxGmuhysEA9YovTpy-YY2TxxFskhrzSX44c42E,17971
@@ -81,7 +81,7 @@ secator/serializers/json.py,sha256=UJwAymRzjF-yBKOgz1MTOyBhQcdQg7fOKRXgmHIu8fo,4
81
81
  secator/serializers/regex.py,sha256=fh-fE0RGvKSGKByFtwmKsWriRpZR9PXZQsY9JybHBWI,489
82
82
  secator/tasks/__init__.py,sha256=yRIZf9E47aS7o6rpgAJLgJUpX2cug1ofZeq8QsxgyjU,192
83
83
  secator/tasks/_categories.py,sha256=IWyBprIUBZxflh7QfvK27Ix18M_bnquzlERqfTZohVs,13821
84
- secator/tasks/bbot.py,sha256=PXRf3KJBTRhkVirfZQ1BDeEyg33kY9zKk-iXWn3zo3k,7522
84
+ secator/tasks/bbot.py,sha256=pvA435toxYBxP-Nr6DB70fe38FGl9tKg2S9dDWUW4Vo,7527
85
85
  secator/tasks/bup.py,sha256=4PM123Km3uOkMUwfdLY6J7pyCqIsbwMvOLYx7XYCAZc,3030
86
86
  secator/tasks/cariddi.py,sha256=7S92pp7tvihoz9fAiMpmcfPzEvxEJKMlk-IqAvVDISA,2906
87
87
  secator/tasks/dalfox.py,sha256=hHQgYuZ7AGQCQtcN8hSM9uPnzeq1DSr_cpOxnn7-660,1850
@@ -106,10 +106,10 @@ secator/tasks/nmap.py,sha256=Zu24sJHnlOf3NXLj3Ohi07-x7m-5Ajr5ULpNsUF-QT0,12546
106
106
  secator/tasks/nuclei.py,sha256=o677F5yv3mfIlYEpKY5_W6CT2Dlt315DuFOsCjHLE5c,4270
107
107
  secator/tasks/searchsploit.py,sha256=gvtLZbL2hzAZ07Cf0cSj2Qs0GvWK94XyHvoPFsetXu8,3321
108
108
  secator/tasks/subfinder.py,sha256=C6W5NnXT92OUB1aSS9IYseqdI3wDMAz70TOEl8X-o3U,1213
109
- secator/tasks/wpscan.py,sha256=dF6_dw-Qezd8DmpftGc9KpgrvIk3zDdVJW4mKUa7fe0,5527
109
+ secator/tasks/wpscan.py,sha256=C8eW3vWfbSFrxm5iPzs3MgcagIfSs7u51QZiecYbT2Q,5577
110
110
  secator/workflows/__init__.py,sha256=ivpZHiYYlj4JqlXLRmB9cmAPUGdk8QcUrCRL34hIqEA,665
111
- secator-0.9.0.dist-info/METADATA,sha256=xW3FIft1SHj0C1_tfH0StwEqCBVplqlAu1ZeXuJ12kU,14849
112
- secator-0.9.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
113
- secator-0.9.0.dist-info/entry_points.txt,sha256=lPgsqqUXWgiuGSfKy-se5gHdQlAXIwS_A46NYq7Acic,44
114
- secator-0.9.0.dist-info/licenses/LICENSE,sha256=19W5Jsy4WTctNkqmZIqLRV1gTDOp01S3LDj9iSgWaJ0,2867
115
- secator-0.9.0.dist-info/RECORD,,
111
+ secator-0.9.1.dist-info/METADATA,sha256=4iHzoh0Q7N665XY0GJpv3KfH6G86C0e8S6LsFEHPvIA,14723
112
+ secator-0.9.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
113
+ secator-0.9.1.dist-info/entry_points.txt,sha256=lPgsqqUXWgiuGSfKy-se5gHdQlAXIwS_A46NYq7Acic,44
114
+ secator-0.9.1.dist-info/licenses/LICENSE,sha256=19W5Jsy4WTctNkqmZIqLRV1gTDOp01S3LDj9iSgWaJ0,2867
115
+ secator-0.9.1.dist-info/RECORD,,