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

@@ -29,17 +29,24 @@ from devsecops_engine_tools.engine_dast.src.domain.model.wa_config import (
29
29
  from devsecops_engine_tools.engine_dast.src.infrastructure.helpers.json_handler import (
30
30
  load_json_file
31
31
  )
32
+ from devsecops_engine_tools.engine_core.src.domain.model.input_core import (
33
+ InputCore,
34
+ )
35
+ from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
36
+ from devsecops_engine_tools.engine_utilities import settings
37
+
38
+ logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
32
39
 
33
40
  def runner_engine_dast(dict_args, config_tool, secret_tool, devops_platform_gateway):
34
- if config_tool["TOOL"].lower() == "nuclei": # tool_gateway is the main Tool
35
- tool_run = NucleiTool()
36
- extra_tools = []
37
- target_config = None
41
+ try:
42
+ if config_tool["TOOL"].lower() == "nuclei": # tool_gateway is the main Tool
43
+ tool_run = NucleiTool()
44
+ extra_tools = []
45
+ target_config = None
38
46
 
39
- # Filling operations list with adapters
40
- data = load_json_file(dict_args["dast_file_path"])
47
+ # Filling operations list with adapters
48
+ data = load_json_file(dict_args["dast_file_path"])
41
49
 
42
- try:
43
50
  if "operations" in data: # Api
44
51
  operations: List = []
45
52
  for elem in data["operations"]:
@@ -96,5 +103,20 @@ def runner_engine_dast(dict_args, config_tool, secret_tool, devops_platform_gate
96
103
  target_data=target_config
97
104
  )
98
105
  except Exception as e:
99
- raise Exception(f"Error engine_dast: {e}")
106
+ logger.error(f"Error engine_dast: {e}")
107
+ config_tool_dast = devops_platform_gateway.get_remote_config(
108
+ dict_args["remote_config_repo"], "engine_dast/ConfigTool.json", dict_args["remote_config_branch"]
109
+ )
110
+ if config_tool_dast["IGNORE_ERRORS"]:
111
+ input_core = InputCore(
112
+ totalized_exclusions=[],
113
+ threshold_defined={},
114
+ path_file_results="",
115
+ custom_message_break_build=config_tool_dast.get("MESSAGE_INFO_DAST"),
116
+ scope_pipeline="",
117
+ stage_pipeline=devops_platform_gateway.get_variable("stage"),
118
+ )
119
+ return [], input_core
120
+ else:
121
+ raise Exception(f"Error engine_dast: {e}")
100
122
 
@@ -40,7 +40,7 @@ class DockerImages(ImagesGateway):
40
40
  return None
41
41
 
42
42
  labels = image_details.get("Config", {}).get("Labels", {})
43
- return self.extract_base_image_from_labels(labels, matching_image)
43
+ return self.extract_base_image_from_labels(labels, matching_image)[0]
44
44
  except Exception as e:
45
45
  logger.warning(f"Error obtaining base image: {e}")
46
46
  return None
@@ -50,17 +50,18 @@ class DockerImages(ImagesGateway):
50
50
  logger.error("Error: matching_image ID is None")
51
51
  return False
52
52
  image_details = self.get_image_details(matching_image.id)
53
- if not image_details:
53
+ if not image_details.get("Config", {}).get("Labels", {}):
54
54
  return False
55
55
 
56
56
  labels = image_details.get("Config", {}).get("Labels", {})
57
57
  baseline_date = labels.get("x86.baseline.date")
58
-
58
+ date_image = None
59
59
  if baseline_date:
60
60
  date_image = self.parse_date(baseline_date)
61
61
  else:
62
62
  base_image = self.extract_base_image_from_labels(labels)
63
- date_image = self.extract_date_from_image(base_image)
63
+ if not base_image[1]:
64
+ date_image = self.extract_date_from_image(base_image[0])
64
65
 
65
66
  return self.validate_date(date_image, referenced_date)
66
67
 
@@ -74,23 +75,23 @@ class DockerImages(ImagesGateway):
74
75
 
75
76
  def extract_base_image_from_labels(self, labels, matching_image=None):
76
77
  try:
77
- if labels.get("repository") == 'evc/uso_especifico':
78
- return None
79
- source_image = labels.get("x86.image.name") or labels.get(
80
- "image.base.ref.name"
81
- )
82
- if not source_image:
83
- source_image = labels.get("source_images") or labels.get("source-image")
84
-
85
- if source_image and matching_image:
86
- logger.info(f"Base image for '{matching_image}' found: {source_image}")
87
- elif matching_image:
88
- logger.warning(f"Base image not found for '{matching_image}'.")
89
-
90
- return source_image
78
+ if labels:
79
+ source_image = labels.get("x86.image.name") or labels.get("image.base.ref.name")
80
+ if not source_image:
81
+ source_image = labels.get("source_images") or labels.get("source-image")
82
+ is_uso_especifico = labels.get("repository") == 'evc/uso_especifico'
83
+ if source_image and matching_image:
84
+ logger.info(f"Base image for '{matching_image}' found: {source_image}")
85
+ elif matching_image:
86
+ logger.warning(f"Base image not found for '{matching_image}'.")
87
+ return source_image, is_uso_especifico
88
+ else:
89
+ logger.warning("No labels found in image.")
90
+ return None, False
91
91
  except Exception as e:
92
92
  logger.error(f"Error extracting base image from labels: {e}")
93
- return None
93
+ return None, False
94
+
94
95
 
95
96
  def extract_date_from_image(self, image_name):
96
97
  if not image_name:
@@ -1 +1 @@
1
- version = '1.45.1'
1
+ version = '1.46.0'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: devsecops-engine-tools
3
- Version: 1.45.1
3
+ Version: 1.46.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=Z57gtp7hcxxamXKeuwtVM8WjA5LfJYzYZzFFtB4qnAo,19
2
+ devsecops_engine_tools/version.py,sha256=n6GDpQdg5xFyWcJIcBD4CRz4s-1jz2TWsq42DXiZQzE,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
@@ -57,7 +57,7 @@ devsecops_engine_tools/engine_core/src/infrastructure/helpers/util.py,sha256=lDt
57
57
  devsecops_engine_tools/engine_dast/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
58
58
  devsecops_engine_tools/engine_dast/src/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
59
59
  devsecops_engine_tools/engine_dast/src/applications/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
- devsecops_engine_tools/engine_dast/src/applications/runner_dast_scan.py,sha256=4RWkHfDm9WSzeLVE43XmQDC3osUoS4zwqhVo14piHxo,4004
60
+ devsecops_engine_tools/engine_dast/src/applications/runner_dast_scan.py,sha256=ktzwmCBbKkjpcF0kxgrabFgwfLHJ-wXC6VIWC8QgXV8,5054
61
61
  devsecops_engine_tools/engine_dast/src/deployment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
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
@@ -207,7 +207,7 @@ devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/set_input
207
207
  devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
208
208
  devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
209
209
  devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
210
- devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/docker_images.py,sha256=JqgWwb2PoJRqWE-bFJvsCuGd1WPzyc8PHJbKtdWW_S4,4731
210
+ devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/docker_images.py,sha256=0yWqo6AoHFKKGg8rbFOx-BWDra448HEOaWSP5G0B1dg,4991
211
211
  devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
212
212
  devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_cloud_manager_scan.py,sha256=tf33YFYB47th4Zu0WtWpsrAm5I6_xCON4yOwFacTQLA,6758
213
213
  devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_deserialize_output.py,sha256=oK0NKuPODm38qDgQjf6w40lfNG6NFJS43p5k44wDoMA,2562
@@ -347,8 +347,8 @@ devsecops_engine_tools/engine_utilities/utils/name_conversion.py,sha256=ADJrRGax
347
347
  devsecops_engine_tools/engine_utilities/utils/printers.py,sha256=amYAr9YQfYgR6jK9a2l26z3oovFPQ3FAKmhq6BKhEBA,623
348
348
  devsecops_engine_tools/engine_utilities/utils/session_manager.py,sha256=Z0fdhB3r-dxU0nGSD9zW_B4r2Qol1rUnUCkhFR0U-HQ,487
349
349
  devsecops_engine_tools/engine_utilities/utils/utils.py,sha256=XFap4yOK7ItLWsqbwDhvLd7NpDhs7i-UGJAMD6jjd7w,6687
350
- devsecops_engine_tools-1.45.1.dist-info/METADATA,sha256=F0iTpz3FI8WumFi_SNe6S6QxgbmSqQxxqWJ_lqxpsO8,11779
351
- devsecops_engine_tools-1.45.1.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
352
- devsecops_engine_tools-1.45.1.dist-info/entry_points.txt,sha256=MHCTFFs9bdNKo6YcWCcBW2_8X6yTisgLOlmVx-V8Rxc,276
353
- devsecops_engine_tools-1.45.1.dist-info/top_level.txt,sha256=ge6y0X_xBAU1aG3EMWFtl9djbVyg5BxuSp2r2Lg6EQU,23
354
- devsecops_engine_tools-1.45.1.dist-info/RECORD,,
350
+ devsecops_engine_tools-1.46.0.dist-info/METADATA,sha256=A5PxDidl73-S2mTxNrgHBxQbKPmkUkcGsKwvQPBh1fY,11779
351
+ devsecops_engine_tools-1.46.0.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
352
+ devsecops_engine_tools-1.46.0.dist-info/entry_points.txt,sha256=MHCTFFs9bdNKo6YcWCcBW2_8X6yTisgLOlmVx-V8Rxc,276
353
+ devsecops_engine_tools-1.46.0.dist-info/top_level.txt,sha256=ge6y0X_xBAU1aG3EMWFtl9djbVyg5BxuSp2r2Lg6EQU,23
354
+ devsecops_engine_tools-1.46.0.dist-info/RECORD,,