devsecops-engine-tools 1.67.0__py3-none-any.whl → 1.68.0__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 devsecops-engine-tools might be problematic. Click here for more details.

@@ -1,13 +1,17 @@
1
- from typing import List
1
+ from typing import List, Optional
2
2
  from devsecops_engine_tools.engine_dast.src.domain.model.api_operation import ApiOperation
3
3
 
4
-
5
4
  class ApiConfig():
6
5
  def __init__(self, api_data: dict):
7
6
  try:
8
7
  self.target_type: str = "API"
9
8
  self.endpoint: str = api_data["endpoint"]
10
- self.rate_limit: str = api_data.get("rate_limit")
11
9
  self.operations: "List[ApiOperation]" = api_data["operations"]
10
+ self.concurrency: Optional[int] = None
11
+ self.rate_limit: Optional[int] = None
12
+ self.response_size: Optional[int] = None
13
+ self.bulk_size: Optional[int] = None
14
+ self.timeout: Optional[int] = None
15
+
12
16
  except KeyError:
13
17
  raise KeyError("Missing configuration, validate the endpoint and every single operation")
@@ -1,8 +1,15 @@
1
+ from typing import Optional
2
+
1
3
  class WaConfig:
2
4
  def __init__(self, data: dict, authentication_gateway):
3
5
  self.target_type: str = "WA"
4
6
  self.url: str = data["endpoint"]
5
- self.data: dict = data.wa_data
7
+ self.data: dict = data["data"]
8
+ self.concurrency: Optional[int] = None
9
+ self.rate_limit: Optional[int] = None
10
+ self.response_size: Optional[int] = None
11
+ self.bulk_size: Optional[int] = None
12
+ self.timeout: Optional[int] = None
6
13
 
7
14
  def authenticate(self):
8
15
  self.credentials = self.authentication_gateway.get_credentials()
@@ -52,6 +52,12 @@ class DastScan:
52
52
  config_tool["SCOPE_PIPELINE"]
53
53
  ).get(tool)
54
54
 
55
+ self.data_target.concurrency = config_tool.get(tool, {}).get("CONCURRENCY", 25)
56
+ self.data_target.rate_limit = config_tool.get(tool, {}).get("RATE_LIMIT", 150)
57
+ self.data_target.response_size = config_tool.get(tool, {}).get("RESPONSE_SIZE", 1048576)
58
+ self.data_target.bulk_size = config_tool.get(tool, {}).get("BULK_SIZE", 25)
59
+ self.data_target.timeout = config_tool.get(tool, {}).get("TIMEOUT", 10)
60
+
55
61
  data_target_config = self.data_target
56
62
  return config_tool, data_target_config
57
63
 
@@ -9,6 +9,11 @@ class NucleiConfig:
9
9
  self.target_type: str = target_config.target_type.lower()
10
10
  self.custom_templates_dir: str = ""
11
11
  self.output_file: str = "result_dast_scan.json"
12
+ self.concurrency: int = target_config.concurrency
13
+ self.rate_limit: int = target_config.rate_limit
14
+ self.response_size: int = target_config.response_size
15
+ self.bulk_size: int = target_config.bulk_size
16
+ self.timeout: int = target_config.timeout
12
17
  self.yaml = YAML()
13
18
  if self.target_type == "api":
14
19
  self.data: List = target_config.operations
@@ -104,11 +104,17 @@ class NucleiTool(ToolGateway):
104
104
  + (f" -ud {target_config.custom_templates_dir}" if target_config.custom_templates_dir else "")
105
105
  + " -ni " # disable interactsh server
106
106
  + "-dc " # disable clustering of requests
107
+ + "-sr " # use system DNS resolving as error fallback
108
+ + "-or " # omit request/response pairs in the output
107
109
  + "-tags " # Excute only templates with the especified tag
108
110
  + target_config.target_type
111
+ + (f" -c {target_config.concurrency}" if target_config.concurrency else "") # concurrency
112
+ + (f" -rl {target_config.rate_limit}" if target_config.rate_limit else "") # rate limit
113
+ + (f" -rss {target_config.response_size}" if target_config.response_size else "") # max response size to save in bytes
114
+ + (f" -bs {target_config.bulk_size}" if target_config.bulk_size else "") # max number of hosts to analyze
115
+ + (f" -timeout {target_config.timeout}" if target_config.timeout else "") # timeout for each request
109
116
  + " -je " # file to export results in JSON format
110
117
  + str(target_config.output_file)
111
- + " -sr"
112
118
  )
113
119
 
114
120
  if command is not None:
@@ -1 +1 @@
1
- version = '1.67.0'
1
+ version = '1.68.0'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: devsecops-engine-tools
3
- Version: 1.67.0
3
+ Version: 1.68.0
4
4
  Summary: Tool for DevSecOps strategy
5
5
  Home-page: https://github.com/bancolombia/devsecops-engine-tools
6
6
  Author: Bancolombia DevSecOps Team
@@ -1,5 +1,5 @@
1
1
  devsecops_engine_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- devsecops_engine_tools/version.py,sha256=pW6odyAAIXpyZnXF1meTUihP9ukaI7-fCpAVtDCmgrs,19
2
+ devsecops_engine_tools/version.py,sha256=0o3wb8Kq2MOIYEtbiq61QXeABztDVADtQSeuM-aB6Vs,19
3
3
  devsecops_engine_tools/engine_core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  devsecops_engine_tools/engine_core/src/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  devsecops_engine_tools/engine_core/src/applications/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -62,14 +62,14 @@ devsecops_engine_tools/engine_dast/src/deployment/__init__.py,sha256=47DEQpj8HBS
62
62
  devsecops_engine_tools/engine_dast/src/deployment/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
63
  devsecops_engine_tools/engine_dast/src/domain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
64
64
  devsecops_engine_tools/engine_dast/src/domain/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
65
- devsecops_engine_tools/engine_dast/src/domain/model/api_config.py,sha256=9B-pSTT58Bb1ysK6MIOpAxsGrn_AdrevOnQYmsLyNvU,548
65
+ devsecops_engine_tools/engine_dast/src/domain/model/api_config.py,sha256=n2fvXgVlcxhPWNep9f1WM5zw5tP16uS-xb95Pp8pgwk,746
66
66
  devsecops_engine_tools/engine_dast/src/domain/model/api_operation.py,sha256=mQbmTlB0UxCJGEmw21Z0c9ObQF72Gl8N1qK21H5H81o,621
67
- devsecops_engine_tools/engine_dast/src/domain/model/wa_config.py,sha256=DovmiRO9l50P25N91lG3BpSwc6R9OVQIw89Nv1RpXcc,411
67
+ devsecops_engine_tools/engine_dast/src/domain/model/wa_config.py,sha256=d9adxeq-XdZoUDPih6OK557zoFf9CbRdiF8njRddXP0,670
68
68
  devsecops_engine_tools/engine_dast/src/domain/model/gateways/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
69
69
  devsecops_engine_tools/engine_dast/src/domain/model/gateways/authentication_gateway.py,sha256=JSi2LAK8kPctqPmh3KfxIkXeDY5sSRsXoPWqudlmyYQ,175
70
70
  devsecops_engine_tools/engine_dast/src/domain/model/gateways/tool_gateway.py,sha256=F9Xusc7bQo25GpRvCMWPPQ_hlILbGF1yZKMAnm15Axs,255
71
71
  devsecops_engine_tools/engine_dast/src/domain/usecases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
72
- devsecops_engine_tools/engine_dast/src/domain/usecases/dast_scan.py,sha256=LmR00yyC-DmFflBks6bB13nDK6xqMWvYHCtFpsB9Cbo,5125
72
+ devsecops_engine_tools/engine_dast/src/domain/usecases/dast_scan.py,sha256=C-4mj7NWfpOzhnHYiKGP4wbW0onzWc84CqWUQG4ff8Q,5568
73
73
  devsecops_engine_tools/engine_dast/src/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
74
74
  devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
75
75
  devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/http/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -79,9 +79,9 @@ devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/jwt/__init
79
79
  devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/jwt/jwt_object.py,sha256=p0_rDDjdsyAa_ar-HgZE_SQE-beua0oK3KBnwj8EmPo,1998
80
80
  devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/jwt/jwt_tool.py,sha256=9Yh7lOd6lsHcvl8exgWW7N8qTP55w-Znl0kid7IlKrM,5431
81
81
  devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/nuclei/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
82
- devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/nuclei/nuclei_config.py,sha256=oGjL0qvu1zVvYjXg3oZMDTSPWshvD0f_kLKCUvs-a94,3449
82
+ devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/nuclei/nuclei_config.py,sha256=am955PLHU8OBEiKwUsv8G_1wWZPFFi61-lRSgX-kAOY,3734
83
83
  devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/nuclei/nuclei_deserealizer.py,sha256=qqoBMXr350ItzabSU6a_fD2-9kB6pAmtWioFP5AvCIE,1346
84
- devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/nuclei/nuclei_tool.py,sha256=Bk2JTwzTqrU9N84C_GTIf2vF_IpxuvLbvaygVIWOXdI,6066
84
+ devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/nuclei/nuclei_tool.py,sha256=M26uh6pWrZH54pd6lOsYHhjknqBenCxc7tca67o7HPM,6748
85
85
  devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/oauth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
86
86
  devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/oauth/generic_oauth.py,sha256=fdQ6L7uiDsOol9unGL12l0O47LuOVkg5574Li7aqR24,2913
87
87
  devsecops_engine_tools/engine_dast/src/infrastructure/entry_points/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -352,8 +352,8 @@ devsecops_engine_tools/engine_utilities/utils/name_conversion.py,sha256=ADJrRGax
352
352
  devsecops_engine_tools/engine_utilities/utils/printers.py,sha256=amYAr9YQfYgR6jK9a2l26z3oovFPQ3FAKmhq6BKhEBA,623
353
353
  devsecops_engine_tools/engine_utilities/utils/session_manager.py,sha256=Z0fdhB3r-dxU0nGSD9zW_B4r2Qol1rUnUCkhFR0U-HQ,487
354
354
  devsecops_engine_tools/engine_utilities/utils/utils.py,sha256=HCjS900TBoNcHrC4LaiP-Kf9frVdtagF130qOUgnO2M,6757
355
- devsecops_engine_tools-1.67.0.dist-info/METADATA,sha256=gpZBzCX2NhRkOb7ZrZBaW5JQzInuDpxkCP-qk8Afk_s,12052
356
- devsecops_engine_tools-1.67.0.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
357
- devsecops_engine_tools-1.67.0.dist-info/entry_points.txt,sha256=MHCTFFs9bdNKo6YcWCcBW2_8X6yTisgLOlmVx-V8Rxc,276
358
- devsecops_engine_tools-1.67.0.dist-info/top_level.txt,sha256=ge6y0X_xBAU1aG3EMWFtl9djbVyg5BxuSp2r2Lg6EQU,23
359
- devsecops_engine_tools-1.67.0.dist-info/RECORD,,
355
+ devsecops_engine_tools-1.68.0.dist-info/METADATA,sha256=X3HjDM30iEAi1VsPdcGZQ35Ro6tiON3J3n0kDgto97c,12052
356
+ devsecops_engine_tools-1.68.0.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
357
+ devsecops_engine_tools-1.68.0.dist-info/entry_points.txt,sha256=MHCTFFs9bdNKo6YcWCcBW2_8X6yTisgLOlmVx-V8Rxc,276
358
+ devsecops_engine_tools-1.68.0.dist-info/top_level.txt,sha256=ge6y0X_xBAU1aG3EMWFtl9djbVyg5BxuSp2r2Lg6EQU,23
359
+ devsecops_engine_tools-1.68.0.dist-info/RECORD,,