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

@@ -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.45.2'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: devsecops-engine-tools
3
- Version: 1.45.1
3
+ Version: 1.45.2
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=antqI6_Sq8TkzGIe35prfxiCyqwaxzBHjt1KV0MuZXQ,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
@@ -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.45.2.dist-info/METADATA,sha256=QPaG6XSZoASFHYTPihEZhhcNmDGFj9etkG45_tulxwc,11779
351
+ devsecops_engine_tools-1.45.2.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
352
+ devsecops_engine_tools-1.45.2.dist-info/entry_points.txt,sha256=MHCTFFs9bdNKo6YcWCcBW2_8X6yTisgLOlmVx-V8Rxc,276
353
+ devsecops_engine_tools-1.45.2.dist-info/top_level.txt,sha256=ge6y0X_xBAU1aG3EMWFtl9djbVyg5BxuSp2r2Lg6EQU,23
354
+ devsecops_engine_tools-1.45.2.dist-info/RECORD,,