devsecops-engine-tools 1.68.0__py3-none-any.whl → 1.69.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.

@@ -8,7 +8,7 @@ class ApiConfig():
8
8
  self.endpoint: str = api_data["endpoint"]
9
9
  self.operations: "List[ApiOperation]" = api_data["operations"]
10
10
  self.concurrency: Optional[int] = None
11
- self.rate_limit: Optional[int] = None
11
+ self.rate_limit: Optional[int] = api_data.get("rate_limit", 150)
12
12
  self.response_size: Optional[int] = None
13
13
  self.bulk_size: Optional[int] = None
14
14
  self.timeout: Optional[int] = None
@@ -6,7 +6,7 @@ class WaConfig:
6
6
  self.url: str = data["endpoint"]
7
7
  self.data: dict = data["data"]
8
8
  self.concurrency: Optional[int] = None
9
- self.rate_limit: Optional[int] = None
9
+ self.rate_limit: Optional[int] = data.get("rate_limit", 150)
10
10
  self.response_size: Optional[int] = None
11
11
  self.bulk_size: Optional[int] = None
12
12
  self.timeout: Optional[int] = None
@@ -53,7 +53,6 @@ class DastScan:
53
53
  ).get(tool)
54
54
 
55
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
56
  self.data_target.response_size = config_tool.get(tool, {}).get("RESPONSE_SIZE", 1048576)
58
57
  self.data_target.bulk_size = config_tool.get(tool, {}).get("BULK_SIZE", 25)
59
58
  self.data_target.timeout = config_tool.get(tool, {}).get("TIMEOUT", 10)
@@ -31,7 +31,7 @@ class NucleiTool(ToolGateway):
31
31
  self.data_config_cli = data_config_cli
32
32
  self.TOOL: str = "NUCLEI"
33
33
 
34
- def download_tool(self, version):
34
+ def download_tool(self, version, binary_path):
35
35
  try:
36
36
  base_url = f"https://github.com/projectdiscovery/nuclei/releases/download/v{version}/"
37
37
  os_type = platform.system().lower()
@@ -49,35 +49,33 @@ class NucleiTool(ToolGateway):
49
49
  if response.status_code != 200:
50
50
  raise Exception(f"Error [102]: Failed to download Nuclei version {version}. HTTP status code: {response.status_code}")
51
51
 
52
- home_directory = os.path.expanduser("~")
53
- zip_name = os.path.join(home_directory, file_name)
52
+ zip_name = os.path.join(binary_path, file_name)
54
53
  with open(zip_name, "wb") as f:
55
54
  f.write(response.content)
56
55
 
57
- Utils().unzip_file(zip_name, home_directory)
56
+ Utils().unzip_file(zip_name, binary_path)
58
57
  return 0
59
58
  except Exception as e:
60
59
  logger.error(f"Error [103]: An exception occurred during download: {e}")
61
60
  return e
62
61
 
63
- def install_tool(self, version):
62
+ def install_tool(self, version, binary_path):
64
63
  try:
65
64
  nuclei_path = shutil.which("nuclei")
66
65
 
67
66
  if not nuclei_path:
68
- download_result = self.download_tool(version)
67
+ download_result = self.download_tool(version, binary_path)
69
68
  if download_result != 0:
70
69
  raise Exception(f"Error [104]: Download failed with error: {download_result}")
71
70
 
72
71
  os_type = platform.system().lower()
73
- home_directory = os.path.expanduser("~")
74
72
 
75
73
  if nuclei_path:
76
74
  executable_path = nuclei_path
77
75
  elif os_type == "windows":
78
- executable_path = os.path.join(home_directory, "nuclei.exe")
76
+ executable_path = os.path.join(binary_path, "nuclei.exe")
79
77
  else:
80
- executable_path = os.path.join(home_directory, "nuclei")
78
+ executable_path = os.path.join(binary_path, "nuclei")
81
79
 
82
80
  if os_type == "darwin" or os_type == "linux":
83
81
  subprocess.run(["chmod", "+x", executable_path], check=True)
@@ -137,7 +135,11 @@ class NucleiTool(ToolGateway):
137
135
  secret_external_checks,
138
136
  agent_work_folder
139
137
  ):
140
- result_install = self.install_tool(config_tool[self.TOOL]["VERSION"])
138
+ binary_path = agent_work_folder
139
+ if config_tool[self.TOOL].get("BINARY_PATH"):
140
+ binary_path = config_tool[self.TOOL]["BINARY_PATH"]
141
+
142
+ result_install = self.install_tool(config_tool[self.TOOL]["VERSION"], binary_path)
141
143
  if result_install["status"] < 200:
142
144
  return [], None
143
145
 
@@ -1 +1 @@
1
- version = '1.68.0'
1
+ version = '1.69.0'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: devsecops-engine-tools
3
- Version: 1.68.0
3
+ Version: 1.69.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=0o3wb8Kq2MOIYEtbiq61QXeABztDVADtQSeuM-aB6Vs,19
2
+ devsecops_engine_tools/version.py,sha256=KQLoZcx51jQLw6biD8z2jpnV4STvMNzfe61Xm7v00g4,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=n2fvXgVlcxhPWNep9f1WM5zw5tP16uS-xb95Pp8pgwk,746
65
+ devsecops_engine_tools/engine_dast/src/domain/model/api_config.py,sha256=36zOqCRbY-YD-eOmG5SMbIeHAS46A1_l0HCmRGR_hwA,773
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=d9adxeq-XdZoUDPih6OK557zoFf9CbRdiF8njRddXP0,670
67
+ devsecops_engine_tools/engine_dast/src/domain/model/wa_config.py,sha256=KnJ43dxJH5dzLS5SgqybPCnrCqplHblmQ9tEv7pr1_E,693
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=C-4mj7NWfpOzhnHYiKGP4wbW0onzWc84CqWUQG4ff8Q,5568
72
+ devsecops_engine_tools/engine_dast/src/domain/usecases/dast_scan.py,sha256=iIQToOk38dbF04gZ6XvJk7A2sdpN3iOQ13VYLHO0ci8,5480
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
@@ -81,7 +81,7 @@ devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/jwt/jwt_to
81
81
  devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/nuclei/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
82
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=M26uh6pWrZH54pd6lOsYHhjknqBenCxc7tca67o7HPM,6748
84
+ devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/nuclei/nuclei_tool.py,sha256=KQKEq06izKut2VMhD9nfc-CFPdvT8wOcar3COB7x6ZA,6843
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.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,,
355
+ devsecops_engine_tools-1.69.0.dist-info/METADATA,sha256=tea62eR8HLKZUGinRmojgCOjREwyuZXfYtVWrQFqkAs,12052
356
+ devsecops_engine_tools-1.69.0.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
357
+ devsecops_engine_tools-1.69.0.dist-info/entry_points.txt,sha256=MHCTFFs9bdNKo6YcWCcBW2_8X6yTisgLOlmVx-V8Rxc,276
358
+ devsecops_engine_tools-1.69.0.dist-info/top_level.txt,sha256=ge6y0X_xBAU1aG3EMWFtl9djbVyg5BxuSp2r2Lg6EQU,23
359
+ devsecops_engine_tools-1.69.0.dist-info/RECORD,,