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

Files changed (28) hide show
  1. devsecops_engine_tools/engine_core/src/domain/model/gateway/vulnerability_management_gateway.py +2 -2
  2. devsecops_engine_tools/engine_core/src/domain/model/input_core.py +1 -0
  3. devsecops_engine_tools/engine_core/src/domain/usecases/handle_risk.py +1 -0
  4. devsecops_engine_tools/engine_core/src/domain/usecases/handle_scan.py +2 -2
  5. devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py +8 -2
  6. devsecops_engine_tools/engine_dast/src/applications/runner_dast_scan.py +1 -0
  7. devsecops_engine_tools/engine_dast/src/domain/usecases/dast_scan.py +1 -0
  8. devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases/code_scan.py +2 -0
  9. devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/config_tool.py +1 -0
  10. devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/iac_scan.py +5 -1
  11. devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/secret_scan.py +1 -0
  12. devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/set_input_core.py +1 -0
  13. devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/set_input_core.py +1 -0
  14. devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/entry_point_tool.py +2 -0
  15. devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/set_input_core.py +1 -0
  16. devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/entry_point_tool.py +1 -0
  17. devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/import_scan.py +2 -0
  18. devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/import_scan.py +2 -0
  19. devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/import_scan.py +1 -1
  20. devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/cmdb.py +98 -29
  21. devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/scan_configurations.py +2 -2
  22. devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases/report_sonar.py +3 -0
  23. devsecops_engine_tools/version.py +1 -1
  24. {devsecops_engine_tools-1.53.2.dist-info → devsecops_engine_tools-1.54.0.dist-info}/METADATA +1 -1
  25. {devsecops_engine_tools-1.53.2.dist-info → devsecops_engine_tools-1.54.0.dist-info}/RECORD +28 -28
  26. {devsecops_engine_tools-1.53.2.dist-info → devsecops_engine_tools-1.54.0.dist-info}/WHEEL +0 -0
  27. {devsecops_engine_tools-1.53.2.dist-info → devsecops_engine_tools-1.54.0.dist-info}/entry_points.txt +0 -0
  28. {devsecops_engine_tools-1.53.2.dist-info → devsecops_engine_tools-1.54.0.dist-info}/top_level.txt +0 -0
@@ -11,8 +11,8 @@ class VulnerabilityManagementGateway(metaclass=ABCMeta):
11
11
  "send_vulnerability_management"
12
12
 
13
13
  @abstractmethod
14
- def get_product_type_service(self, service, dict_args, secret_tool, config_tool):
15
- "get_product_type_service"
14
+ def get_product_type_pipeline(self, pipeline, dict_args, secret_tool, config_tool):
15
+ "get_product_type_pipeline"
16
16
 
17
17
  @abstractmethod
18
18
  def get_findings_excepted(
@@ -9,4 +9,5 @@ class InputCore:
9
9
  path_file_results: str
10
10
  custom_message_break_build: str
11
11
  scope_pipeline: str
12
+ scope_service: str
12
13
  stage_pipeline: str
@@ -142,6 +142,7 @@ class HandleRisk:
142
142
  "",
143
143
  "",
144
144
  pipeline_name,
145
+ pipeline_name,
145
146
  self.devops_platform_gateway.get_variable("stage").capitalize(),
146
147
  )
147
148
 
@@ -208,7 +208,7 @@ class HandleScan:
208
208
  try:
209
209
  input_core.totalized_exclusions.extend(
210
210
  self.vulnerability_management.get_findings_excepted(
211
- input_core.scope_pipeline,
211
+ input_core.scope_service,
212
212
  dict_args,
213
213
  secret_tool,
214
214
  config_tool,
@@ -234,7 +234,7 @@ class HandleScan:
234
234
  input_core.threshold_defined.quality_vulnerability_management
235
235
  )
236
236
  if quality_vulnerability_management and input_core.threshold_defined.name == "default":
237
- product_type = self.vulnerability_management.get_product_type_service(
237
+ product_type = self.vulnerability_management.get_product_type_pipeline(
238
238
  input_core.scope_pipeline, dict_args, secret_tool, config_tool
239
239
  )
240
240
  if product_type:
@@ -98,6 +98,8 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
98
98
  tags = [
99
99
  f"{vulnerability_management.dict_args['module']}_{'_'.join(vulnerability_management.dict_args['platform'])}"
100
100
  ]
101
+ if vulnerability_management.input_core.scope_service != vulnerability_management.input_core.scope_pipeline:
102
+ tags.append(vulnerability_management.input_core.scope_service.replace(f"{vulnerability_management.input_core.scope_pipeline}_", ""))
101
103
  if (
102
104
  vulnerability_management.dict_args["module"] == "engine_container"
103
105
  and sum(
@@ -156,7 +158,7 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
156
158
  )
157
159
  )
158
160
 
159
- def get_product_type_service(self, service, dict_args, secret_tool, config_tool):
161
+ def get_product_type_pipeline(self, service, dict_args, secret_tool, config_tool):
160
162
  try:
161
163
  session_manager = self._get_session_manager(
162
164
  dict_args, secret_tool, config_tool
@@ -482,7 +484,7 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
482
484
  "build_id": vulnerability_management.build_id,
483
485
  "branch_tag": vulnerability_management.branch_tag,
484
486
  "commit_hash": vulnerability_management.commit_hash,
485
- "service": vulnerability_management.input_core.scope_pipeline,
487
+ "service": vulnerability_management.input_core.scope_service,
486
488
  "test_title": "_".join(tags),
487
489
  "environment": (
488
490
  self.enviroment_mapping[vulnerability_management.environment.lower()]
@@ -517,6 +519,10 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
517
519
  "VULNERABILITY_MANAGER"
518
520
  ]["DEFECT_DOJO"]["CMDB"]["CMDB_MAPPING"]
519
521
  return Connect.cmdb(
522
+ generate_auth_cmdb=vulnerability_management.config_tool["VULNERABILITY_MANAGER"]["DEFECT_DOJO"]["CMDB"]["GENERATE_AUTH_CMDB"],
523
+ auth_cmdb_request_response=vulnerability_management.config_tool[
524
+ "VULNERABILITY_MANAGER"
525
+ ]["DEFECT_DOJO"]["CMDB"]["AUTH_CMDB_REQUEST_REPONSE"],
520
526
  cmdb_mapping={
521
527
  "product_type_name": cmdb_mapping["PRODUCT_TYPE_NAME"],
522
528
  "product_name": cmdb_mapping["PRODUCT_NAME"],
@@ -114,6 +114,7 @@ def runner_engine_dast(dict_args, config_tool, secret_tool, devops_platform_gate
114
114
  path_file_results="",
115
115
  custom_message_break_build=config_tool_dast.get("MESSAGE_INFO_DAST"),
116
116
  scope_pipeline="",
117
+ scope_service="",
117
118
  stage_pipeline=devops_platform_gateway.get_variable("stage"),
118
119
  )
119
120
  return [], input_core
@@ -128,6 +128,7 @@ class DastScan:
128
128
  path_file_results=path_file_results,
129
129
  custom_message_break_build=config_tool.get("MESSAGE_INFO_DAST"),
130
130
  scope_pipeline=config_tool.get("SCOPE_PIPELINE"),
131
+ scope_service=config_tool.get("SCOPE_PIPELINE"),
131
132
  stage_pipeline=self.devops_platform_gateway.get_variable("stage"),
132
133
  )
133
134
 
@@ -121,6 +121,7 @@ class CodeScan:
121
121
  else:
122
122
  print("Tool skipped by DevSecOps policy")
123
123
  dict_args["send_metrics"] = "false"
124
+ dict_args["use_vulnerability_management"] = "false"
124
125
 
125
126
  input_core = InputCore(
126
127
  totalized_exclusions=list_exclusions,
@@ -133,6 +134,7 @@ class CodeScan:
133
134
  path_file_results=path_file_results,
134
135
  custom_message_break_build=config_tool.message_info_engine_code,
135
136
  scope_pipeline=config_tool.scope_pipeline,
137
+ scope_service=config_tool.scope_pipeline,
136
138
  stage_pipeline=self.devops_platform_gateway.get_variable(
137
139
  "stage"
138
140
  ).capitalize(),
@@ -9,6 +9,7 @@ class ConfigTool:
9
9
  self.message_info_engine_iac = json_data["MESSAGE_INFO_ENGINE_IAC"]
10
10
  self.threshold = Threshold(json_data["THRESHOLD"])
11
11
  self.scope_pipeline = ""
12
+ self.scope_service = ""
12
13
  self.exclusions = None
13
14
  self.exclusions_all = None
14
15
  self.exclusions_scope = None
@@ -52,6 +52,7 @@ class IacScan:
52
52
  else:
53
53
  print("Tool skipped by DevSecOps policy")
54
54
  dict_args["send_metrics"] = "false"
55
+ dict_args["use_vulnerability_management"] = "false"
55
56
 
56
57
  totalized_exclusions = []
57
58
  (
@@ -80,6 +81,7 @@ class IacScan:
80
81
  path_file_results=path_file_results,
81
82
  custom_message_break_build=config_tool_core.message_info_engine_iac,
82
83
  scope_pipeline=config_tool_core.scope_pipeline,
84
+ scope_service=config_tool_core.scope_service,
83
85
  stage_pipeline=self.devops_platform_gateway.get_variable(
84
86
  "stage"
85
87
  ).capitalize(),
@@ -121,9 +123,11 @@ class IacScan:
121
123
  files = os.listdir(os.path.join(os.getcwd(), dict_args["folder_path"]))
122
124
  if len(files) > 0:
123
125
  name_file, _ = os.path.splitext(files[0])
124
- config_tool.scope_pipeline = (
126
+ config_tool.scope_service = (
125
127
  f"{config_tool.scope_pipeline}_{name_file}"
126
128
  )
129
+ else:
130
+ config_tool.scope_service = config_tool.scope_pipeline
127
131
 
128
132
  folders_to_scan = [dict_args["folder_path"]]
129
133
  else:
@@ -64,6 +64,7 @@ class SecretScan:
64
64
  else:
65
65
  print("Tool skipped by DevSecOps policy")
66
66
  dict_args["send_metrics"] = "false"
67
+ dict_args["use_vulnerability_management"] = "false"
67
68
  return finding_list, file_path_findings
68
69
 
69
70
  def complete_config_tool(self, dict_args, tool):
@@ -84,5 +84,6 @@ class SetInputCore:
84
84
  path_file_results=finding_list,
85
85
  custom_message_break_build=self.config_tool["MESSAGE_INFO_ENGINE_SECRET"],
86
86
  scope_pipeline=self.config_tool["SCOPE_PIPELINE"],
87
+ scope_service=self.config_tool["SCOPE_PIPELINE"],
87
88
  stage_pipeline=self.tool_remote.get_variable("stage").capitalize(),
88
89
  )
@@ -65,5 +65,6 @@ class SetInputCore:
65
65
  image_scanned,
66
66
  self.remote_config["MESSAGE_INFO_ENGINE_CONTAINER"],
67
67
  self.pipeline_name,
68
+ self.pipeline_name,
68
69
  self.stage.capitalize(),
69
70
  )
@@ -61,6 +61,8 @@ def init_engine_sca_rm(
61
61
  else:
62
62
  print("Tool skipped by DevSecOps policy")
63
63
  dict_args["send_metrics"] = "false"
64
+ dict_args["use_vulnerability_management"] = "false"
65
+
64
66
  core_input = input_core.set_input_core(image_scanned,base_image)
65
67
 
66
68
  return deseralized, core_input, sbom_components
@@ -54,5 +54,6 @@ class SetInputCore:
54
54
  dependencies_scanned,
55
55
  self.remote_config["MESSAGE_INFO_ENGINE_DEPENDENCIES"],
56
56
  self.pipeline_name,
57
+ self.pipeline_name,
57
58
  "Build",
58
59
  )
@@ -98,6 +98,7 @@ def init_engine_dependencies(
98
98
  else:
99
99
  print("Tool skipped by DevSecOps policy")
100
100
  dict_args["send_metrics"] = "false"
101
+ dict_args["use_vulnerability_management"] = "false"
101
102
 
102
103
  core_input = input_core.set_input_core(dependencies_scanned)
103
104
 
@@ -40,6 +40,8 @@ class ImportScanRequest:
40
40
  tool_sonarqube_configuration: str = ""
41
41
  tool_scm_configuration: str = ""
42
42
  code_app: str = ""
43
+ generate_auth_cmdb: bool = False
44
+ auth_cmdb_request_response: dict = None
43
45
  token_cmdb: str = ""
44
46
  host_cmdb: str = ""
45
47
  cmdb_request_response: dict = None
@@ -206,6 +206,8 @@ class ImportScanSerializer(Schema):
206
206
  tool_scm_configuration = fields.Int(required=False)
207
207
  code_app = fields.Str(required=False)
208
208
  # defect-dojo credential
209
+ generate_auth_cmdb = fields.Bool(required=False, default=False)
210
+ auth_cmdb_request_response = fields.Dict(required=False)
209
211
  token_cmdb = fields.Str(required=False)
210
212
  host_cmdb = fields.Url(required=False)
211
213
  cmdb_request_response = fields.Dict(required=False)
@@ -109,7 +109,7 @@ class ImportScanUserCase:
109
109
 
110
110
  api_scan_bool = re.search(" API ", request.scan_type)
111
111
  if api_scan_bool:
112
- scan_configuration_list = self.__rest_scan_configurations.get_api_scan_configuration(request)
112
+ scan_configuration_list = self.__rest_scan_configurations.get_api_scan_configuration(request, product_id)
113
113
  if scan_configuration_list.results == []:
114
114
  scan_configuration = self.__rest_scan_configurations.post_api_scan_configuration(
115
115
  request, product_id, request.tool_sonarqube_configuration
@@ -1,18 +1,26 @@
1
1
  import json
2
2
  import ast
3
3
  from devsecops_engine_tools.engine_utilities.utils.api_error import ApiError
4
+ from devsecops_engine_tools.engine_utilities.utils.utils import Utils
4
5
  from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
5
6
  from devsecops_engine_tools.engine_utilities.defect_dojo.domain.models.cmdb import Cmdb
6
- from devsecops_engine_tools.engine_utilities.defect_dojo.infraestructure.driver_adapters.settings.settings import VERIFY_CERTIFICATE
7
+ from devsecops_engine_tools.engine_utilities.defect_dojo.infraestructure.driver_adapters.settings.settings import (
8
+ VERIFY_CERTIFICATE,
9
+ )
7
10
  from devsecops_engine_tools.engine_utilities.utils.session_manager import SessionManager
8
- from devsecops_engine_tools.engine_utilities.defect_dojo.domain.request_objects.import_scan import ImportScanRequest
11
+ from devsecops_engine_tools.engine_utilities.defect_dojo.domain.request_objects.import_scan import (
12
+ ImportScanRequest,
13
+ )
9
14
  from devsecops_engine_tools.engine_utilities.settings import SETTING_LOGGER
10
15
 
11
16
  logger = MyLogger.__call__(**SETTING_LOGGER).get_logger()
12
17
 
13
18
 
14
19
  class CmdbRestConsumer:
15
- def __init__(self, token: str, host: str, mapping_cmdb: dict, session: SessionManager) -> None:
20
+ def __init__(
21
+ self, token: str, host: str, mapping_cmdb: dict, session: SessionManager
22
+ ) -> None:
23
+ self.__token_auth = token
16
24
  self.__token = token
17
25
  self.__host = host
18
26
  self.__mapping_cmdb = mapping_cmdb
@@ -20,42 +28,93 @@ class CmdbRestConsumer:
20
28
 
21
29
  def get_product_info(self, request: ImportScanRequest) -> Cmdb:
22
30
  method = request.cmdb_request_response.get("METHOD")
23
- headers = self.prepare_headers(request.cmdb_request_response.get("HEADERS"))
24
31
  response_format = request.cmdb_request_response.get("RESPONSE")
25
32
 
26
33
  if method not in ["GET", "POST"]:
27
34
  raise ValueError(f"Unsupported method: {method}")
28
-
29
- return self.handle_request(method, headers, request, response_format)
30
35
 
31
- def handle_request(self, method, headers, request: ImportScanRequest, response_format) -> Cmdb:
32
- cmdb_object = self.initialize_cmdb_object(request)
36
+ return self.handle_request(method, request, response_format)
33
37
 
38
+ def handle_request(
39
+ self, method, request: ImportScanRequest, response_format
40
+ ) -> Cmdb:
41
+ cmdb_object = self.initialize_cmdb_object(request)
34
42
  try:
35
- if method == "GET":
36
- params = self.replace_placeholders(
37
- request.cmdb_request_response.get("PARAMS", {}),
38
- request.code_app
39
- )
40
- response = self.__session.get(self.__host, headers=headers, params=params, verify=VERIFY_CERTIFICATE)
41
- elif method == "POST":
42
- body = self.replace_placeholders(
43
- request.cmdb_request_response.get("BODY", {}),
44
- request.code_app
43
+
44
+ def make_request():
45
+ headers = {}
46
+ if request.generate_auth_cmdb:
47
+ self.auth_cmdb(request)
48
+ headers = self.prepare_headers(
49
+ request.cmdb_request_response.get("HEADERS")
50
+ )
51
+ else:
52
+ headers = self.prepare_headers(
53
+ request.cmdb_request_response.get("HEADERS")
54
+ )
55
+
56
+ if method == "GET":
57
+ params = self.replace_placeholders(
58
+ request.cmdb_request_response.get("PARAMS", {}),
59
+ request.code_app,
60
+ )
61
+ response = self.__session.get(
62
+ self.__host,
63
+ headers=headers,
64
+ params=params,
65
+ verify=VERIFY_CERTIFICATE,
66
+ )
67
+ elif method == "POST":
68
+ body = self.replace_placeholders(
69
+ request.cmdb_request_response.get("BODY", {}), request.code_app
70
+ )
71
+ body_json = json.dumps(body)
72
+ response = self.__session.post(
73
+ self.__host,
74
+ headers=headers,
75
+ data=body_json,
76
+ verify=VERIFY_CERTIFICATE,
77
+ )
78
+
79
+ return self.process_response(
80
+ response, response_format, cmdb_object, request.code_app
45
81
  )
46
- body_json = json.dumps(body)
47
- response = self.__session.post(self.__host, headers=headers, data=body_json, verify=VERIFY_CERTIFICATE)
48
82
 
49
- return self.process_response(response, response_format, cmdb_object, request.code_app)
83
+ return Utils().retries_requests(
84
+ make_request, 3, 5
85
+ )
50
86
  except Exception as e:
51
87
  logger.warning(e)
52
88
  return cmdb_object
53
89
 
54
- def process_response(self, response, response_format, cmdb_object, code_app) -> Cmdb:
90
+ def auth_cmdb(self, request: ImportScanRequest):
91
+ dict_auth = request.auth_cmdb_request_response
92
+ if dict_auth.get("METHOD") == "POST":
93
+ headers = self.prepare_headers(dict_auth.get("HEADERS"))
94
+ payload = dict_auth.get("PARAMS").replace("#{passwordvalue}#", self.__token_auth)
95
+ response = self.__session.post(
96
+ dict_auth.get("URL"),
97
+ headers=headers,
98
+ data=payload,
99
+ verify=VERIFY_CERTIFICATE,
100
+ )
101
+ if response.status_code != 200:
102
+ logger.warning(response)
103
+ raise ApiError(f"Error auth cmdb: {response.reason}")
104
+ response = (
105
+ self.get_nested_data(response.json(), dict_auth.get("RESPONSE"))
106
+ if dict_auth.get("RESPONSE")
107
+ else response.text
108
+ )
109
+ self.__token = response
110
+
111
+ def process_response(
112
+ self, response, response_format, cmdb_object, code_app
113
+ ) -> Cmdb:
55
114
  if response.status_code != 200:
56
115
  logger.warning(response)
57
116
  raise ApiError(f"Error querying cmdb: {response.reason}")
58
-
117
+
59
118
  if response.json() == []:
60
119
  logger.warning(f"Engagement: {code_app} not found")
61
120
  return cmdb_object # Producto es Orphan
@@ -85,18 +144,29 @@ class CmdbRestConsumer:
85
144
  if isinstance(data, dict) and key in data:
86
145
  data = data[key]
87
146
  elif isinstance(data, list) and isinstance(key, int):
88
- key = key if key >=0 else len(data) + key
147
+ key = key if key >= 0 else len(data) + key
89
148
  if 0 <= key < len(data):
90
149
  data = data[key]
91
150
  else:
92
- raise KeyError(f"Index '{key}' out of range in the current context.")
151
+ raise KeyError(
152
+ f"Index '{key}' out of range in the current context."
153
+ )
93
154
  else:
94
- raise KeyError(f"Key '{key}' not found or invalid in the current context.")
155
+ raise KeyError(
156
+ f"Key '{key}' not found or invalid in the current context."
157
+ )
95
158
  return data
96
159
 
97
160
  def prepare_headers(self, headers: dict) -> dict:
98
- return {key: (self.__token if value == 'tokenvalue' else value) for key, value in headers.items()}
99
-
161
+ return {
162
+ key: (
163
+ value.replace("tokenvalue", self.__token)
164
+ if "tokenvalue" in value
165
+ else value
166
+ )
167
+ for key, value in headers.items()
168
+ }
169
+
100
170
  def replace_placeholders(self, data, replacements):
101
171
  data = str(data)
102
172
  data = data.replace("codappvalue", replacements)
@@ -104,4 +174,3 @@ class CmdbRestConsumer:
104
174
  return ast.literal_eval(data)
105
175
  except (SyntaxError, ValueError) as e:
106
176
  raise ValueError(f"Error converting string to dictionary: {e}")
107
-
@@ -48,8 +48,8 @@ class ScanConfigrationRestConsumer:
48
48
  raise ApiError(e)
49
49
  return scan_configuration_object
50
50
 
51
- def get_api_scan_configuration(self, request: ImportScanRequest) -> ScanConfigurationList:
52
- url = f"{self.__host}/api/v2/product_api_scan_configurations/?service_key_1={request.engagement_name}"
51
+ def get_api_scan_configuration(self, request: ImportScanRequest, product_id) -> ScanConfigurationList:
52
+ url = f"{self.__host}/api/v2/product_api_scan_configurations/?service_key_1={request.engagement_name}&product={product_id}"
53
53
  headers = {
54
54
  "Authorization": f"Token {self.__token}",
55
55
  "Conten-Type": "application/json",
@@ -49,6 +49,7 @@ class ReportSonar:
49
49
  "",
50
50
  "",
51
51
  "",
52
+ "",
52
53
  self.devops_platform_gateway.get_variable("stage").capitalize(),
53
54
  )
54
55
 
@@ -217,10 +218,12 @@ class ReportSonar:
217
218
  logger.warning(f"It was not possible to synchronize Sonar and Vulnerability Manager: {e}")
218
219
 
219
220
  input_core.scope_pipeline = project_key
221
+ input_core.scope_service = project_key
220
222
 
221
223
  self.vulnerability_management_gateway.send_vulnerability_management(
222
224
  vulnerability_management=vulnerability_manager
223
225
  )
224
226
 
225
227
  input_core.scope_pipeline = pipeline_name
228
+ input_core.scope_service = pipeline_name
226
229
  return input_core
@@ -1 +1 @@
1
- version = '1.53.2'
1
+ version = '1.54.0'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: devsecops-engine-tools
3
- Version: 1.53.2
3
+ Version: 1.54.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=Cqbl9VHE-Lia9_p6S-GZ8UNztXfsnpX8FFkkyMLz-BM,19
2
+ devsecops_engine_tools/version.py,sha256=ChvCaBbtG1pJ06arW9rL_vxFoeKalG9EDpaLF7q1tfk,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
@@ -12,7 +12,7 @@ devsecops_engine_tools/engine_core/src/domain/model/component.py,sha256=_rWtP0v_
12
12
  devsecops_engine_tools/engine_core/src/domain/model/customs_exceptions.py,sha256=YLeOj4O7kNsUx8RD6pwBQdFLYbkm7Eh-F-ohZ3jFGbs,599
13
13
  devsecops_engine_tools/engine_core/src/domain/model/exclusions.py,sha256=ujzfzp_gwkd2Qzy_F8be3evgDVk2pxbSa0YuMlM2aYU,754
14
14
  devsecops_engine_tools/engine_core/src/domain/model/finding.py,sha256=MntDksQuPt1L-1Ww3nK7NbMLfVwRjxPGCN_oHYXbbWk,383
15
- devsecops_engine_tools/engine_core/src/domain/model/input_core.py,sha256=hc1WMzCwsGxnrlvvk84S5iNYJRDQWbaQP9MwR3N7tVM,422
15
+ devsecops_engine_tools/engine_core/src/domain/model/input_core.py,sha256=CG2QicpqM3RZVGj9lhlVAJwpc9nFnBZdgpkXfGudCJ8,445
16
16
  devsecops_engine_tools/engine_core/src/domain/model/level_compliance.py,sha256=ntn_UWqHc6sT5g_LozBdjdewTQxFsp7Kt8M0xqw-k_o,98
17
17
  devsecops_engine_tools/engine_core/src/domain/model/level_vulnerability.py,sha256=0sySEnFNkS2Y8uF5GUVAYehXw-i2OglUClkVobnSTPc,257
18
18
  devsecops_engine_tools/engine_core/src/domain/model/report.py,sha256=09QV_jBQbucoiGM_PjVzRwWvvnebAx24Vehs2bqEe2o,1929
@@ -24,11 +24,11 @@ devsecops_engine_tools/engine_core/src/domain/model/gateway/metrics_manager_gate
24
24
  devsecops_engine_tools/engine_core/src/domain/model/gateway/printer_table_gateway.py,sha256=ROBsh7Lyu62a5RqZ4KgGQcwrBzbHRwxAJ9Rj3LoupQc,602
25
25
  devsecops_engine_tools/engine_core/src/domain/model/gateway/sbom_manager.py,sha256=HpkUZYbmW72r4KDIPWwDmAOU_uawmKaexxmWheR9QAA,321
26
26
  devsecops_engine_tools/engine_core/src/domain/model/gateway/secrets_manager_gateway.py,sha256=CTwUIvUWF0NSSzdCqASUFst6KUysW53NV9eatjLGdl8,170
27
- devsecops_engine_tools/engine_core/src/domain/model/gateway/vulnerability_management_gateway.py,sha256=MsNHO4x78KqMkJ3u3gxPltyBIqP5gB3tRBlN-w7VtBg,1429
27
+ devsecops_engine_tools/engine_core/src/domain/model/gateway/vulnerability_management_gateway.py,sha256=CB6KMjSNNgOEGdmzsxMLMMhs1MRf_C3GFsrEP77gOIo,1432
28
28
  devsecops_engine_tools/engine_core/src/domain/usecases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
29
  devsecops_engine_tools/engine_core/src/domain/usecases/break_build.py,sha256=gIMtuO6J1jv80wJwdaBqHhPsHshYodF0fbDJ6UBzpcc,16924
30
- devsecops_engine_tools/engine_core/src/domain/usecases/handle_risk.py,sha256=RirHqsW5AhGjV7ITa13bW_BfM6VE99DffrPASoB9SN0,9403
31
- devsecops_engine_tools/engine_core/src/domain/usecases/handle_scan.py,sha256=Q9gfcDW3lVuR-fPxooJO_DIaoimm0owsJjNXuwQDKFQ,10994
30
+ devsecops_engine_tools/engine_core/src/domain/usecases/handle_risk.py,sha256=GrNdnA5qZ3fpTP9-UhVau_cVK6tGsQBOQDDLDQgZ4VA,9430
31
+ devsecops_engine_tools/engine_core/src/domain/usecases/handle_scan.py,sha256=abeULdsu_KzF3bx31qFlCWulq01aL34emKkYssR1b-w,10994
32
32
  devsecops_engine_tools/engine_core/src/domain/usecases/metrics_manager.py,sha256=xfaGrDf9rnN32qG_zOD9NN-a62reqQ5KOd2bP6xoRnw,2417
33
33
  devsecops_engine_tools/engine_core/src/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
34
  devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -38,7 +38,7 @@ devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/secret
38
38
  devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
39
  devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/azure_devops.py,sha256=dKe8hno53uC7JDzRWeBdBeRbDHAasEYLxVaFSvWUVxU,5863
40
40
  devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
41
- devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py,sha256=nPtU8KYIzL2KypM6Z3a7rXykeLDlb7zMWukt9m91DaM,31662
41
+ devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py,sha256=5OB8MkkC6seE0ce-Rot2yjj4VGmXBgLSxgiHK0bb1sg,32286
42
42
  devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
43
43
  devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/github_actions.py,sha256=jK3Qtt0UfSX4wbE4wo4iY7a8v8u1pcQcWASWmJ7sFfk,4216
44
44
  devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/__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=ktzwmCBbKkjpcF0kxgrabFgwfLHJ-wXC6VIWC8QgXV8,5054
60
+ devsecops_engine_tools/engine_dast/src/applications/runner_dast_scan.py,sha256=kZa6jbb0qhqdZ9wjxXfHh5hgSBZr9um8A71wMPdp1GQ,5089
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
@@ -69,7 +69,7 @@ devsecops_engine_tools/engine_dast/src/domain/model/gateways/__init__.py,sha256=
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=pBVTXC8E9iaXdRIkt-MxS9GAGvV-O2NTJmjQAOXDoLc,4917
72
+ devsecops_engine_tools/engine_dast/src/domain/usecases/dast_scan.py,sha256=1AvCnlfHEFNmdPaIg94C82zcdpiIW168Fy017ZhGQXg,4979
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
@@ -125,7 +125,7 @@ devsecops_engine_tools/engine_sast/engine_code/src/domain/model/config_tool.py,s
125
125
  devsecops_engine_tools/engine_sast/engine_code/src/domain/model/gateways/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
126
126
  devsecops_engine_tools/engine_sast/engine_code/src/domain/model/gateways/tool_gateway.py,sha256=kseBXn2SzCaFNJLghY9bTOCVvD2v5t7DKcfxgSmvBc0,459
127
127
  devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
128
- devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases/code_scan.py,sha256=LbsUQtQNrKlNO_9X5o5G32gCAYWHlaQwZDYMQtArOnw,5990
128
+ devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases/code_scan.py,sha256=InGVKpQJHBrAuh68NcC-PQ9iWrpnIJRTrNpFBgOSx50,6108
129
129
  devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
130
130
  devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
131
131
  devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -142,11 +142,11 @@ devsecops_engine_tools/engine_sast/engine_iac/src/deployment/__init__.py,sha256=
142
142
  devsecops_engine_tools/engine_sast/engine_iac/src/deployment/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
143
143
  devsecops_engine_tools/engine_sast/engine_iac/src/domain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
144
144
  devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
145
- devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/config_tool.py,sha256=XmEy3jo2Dg0g1KN3yRQ33JAGJrHhABl_YYjW2w2CGOY,631
145
+ devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/config_tool.py,sha256=0QlOyVm6rNwaJ_OleY9sjKJ0y8YuOGx9gMe9TYeexdM,663
146
146
  devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
147
147
  devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/tool_gateway.py,sha256=ClElxyHbwfDCW0fgcehaNfQLq00zozhO71EnyCjzt-U,182
148
148
  devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
149
- devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/iac_scan.py,sha256=BkUfDivqyYvZOTfJ8MfhvD9BMQPXRLQCmKhByjQnfvk,5998
149
+ devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/iac_scan.py,sha256=k8w4lLiWKrjNuAP2A_EadjAcpjWLkbj1YtIPHOVGoyw,6208
150
150
  devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
151
151
  devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
152
152
  devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -175,8 +175,8 @@ devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/__init
175
175
  devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/gateway_deserealizator.py,sha256=4fYPengHW3K0uVP6wHgOiNu-gRb08m78E7QZayZ2LC4,441
176
176
  devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/tool_gateway.py,sha256=VMhjJFEXxFT7tqY3m2c384IhBRjCk7YMZ-DKs9lHivA,771
177
177
  devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
178
- devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/secret_scan.py,sha256=pziX0qZ5Ac4QDcJLxLLdpm5XBIRTjOFp8D_LEU_MdQk,4528
179
- devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/set_input_core.py,sha256=mfmzInLUV2W-uqAOua_haCZnEByqrDVyTfTzq5DftwY,3190
178
+ devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/secret_scan.py,sha256=pqKuvngjTKslx57rOkEqEdUQK8puV9mtuzpuT2X6mDc,4593
179
+ devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/set_input_core.py,sha256=60UbHOUUviMzGwQGMHGCKI-Opxl5toDC-GHrsSkxAWQ,3252
180
180
  devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
181
181
  devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
182
182
  devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/gitleaks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -203,7 +203,7 @@ devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/too
203
203
  devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
204
204
  devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/container_sca_scan.py,sha256=GvXsT-umEqB-2itAZiwlKIR581w78DbIJNknJ0o7EPw,4925
205
205
  devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/handle_remote_config_patterns.py,sha256=4wgBTQSDE-C5v01C3Vxzeq0DJKZUSqQ5TVLG7yPZPKs,926
206
- devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/set_input_core.py,sha256=2Q-20WqZUCTO5QQxEQnOX8fGlErgOMgiLBCDXBp3xFE,2634
206
+ devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/set_input_core.py,sha256=_JolwotLLrrac1EdO0D86ZduO6XQROhGpsIXC7eyOgs,2666
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
@@ -215,7 +215,7 @@ devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_ada
215
215
  devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_deserialize_output.py,sha256=LGqnO10Zt-0-TxUW6F1S46jVktlIwxWSYATKSVblCWI,2535
216
216
  devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_manager_scan.py,sha256=7hGrUU37ZqZKHfkiNX2YrhIlDna8XnhJ3F7ONhneexs,5105
217
217
  devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
218
- devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/entry_point_tool.py,sha256=zCHhb0dFbvPl4kueKroaJfjhra8RWQXxuSOqVOZmg7o,2595
218
+ devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/entry_point_tool.py,sha256=SW6cJSc2pK42iRmYiqFz76kU4W2Tbhieq2IrppsgcNw,2666
219
219
  devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
220
220
  devsecops_engine_tools/engine_sca/engine_dependencies/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
221
221
  devsecops_engine_tools/engine_sca/engine_dependencies/src/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -231,7 +231,7 @@ devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/
231
231
  devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
232
232
  devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/dependencies_sca_scan.py,sha256=jrdWJhy9i6E_JFqXQDDgE7It-wYXjY3o9CgEfSTovsw,1741
233
233
  devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/handle_remote_config_patterns.py,sha256=cTM8IQRZJBr5zG5nhCkTxuw2fCHDZ3wrPgQhRjG88pg,968
234
- devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/set_input_core.py,sha256=yy-S8nP7KGFUA9e19SaSvX5fnRTH_pjuwAGL-oDfOdM,2251
234
+ devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/set_input_core.py,sha256=E3-ff4NcyIvPCN5xUV_d0Vh7k1OVXqbPrHzUPJBgmr0,2283
235
235
  devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
236
236
  devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
237
237
  devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -241,7 +241,7 @@ devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_
241
241
  devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_deserialize_output.py,sha256=ZUk-e1PKzV7uRAT7BpET363pgl2eMnXMCGSpewsOpKg,2236
242
242
  devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_manager_scan.py,sha256=Z6PHC5mV14q6yDDQ75qskjtIbV0mUn1LI47yshgY89Q,8910
243
243
  devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
244
- devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/entry_point_tool.py,sha256=1A_KeCVCQN0z17zpvKQVajHAbNDbA7OCZkt8P1dwLK0,3621
244
+ devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/entry_point_tool.py,sha256=UZHaZDsfmHxMpFnLfwIxfgise5PuxrBbCR9LgT9AB7U,3681
245
245
  devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
246
246
  devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/get_artifacts.py,sha256=CpzyUJyO2bRtv6mZJODV5NL5ea79_VRqsYKC0oYDsNU,4077
247
247
  devsecops_engine_tools/engine_utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -276,21 +276,21 @@ devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type_l
276
276
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/scan_configuration.py,sha256=-uVxaTkxnDmUUGQUdN9x_VKR8KJUagJKnGR6B1emoEU,577
277
277
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
278
278
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/finding.py,sha256=RinG3ISc-u_3VXVqntwdcQvZoQdmHPCvDHWSvnkCkcU,2619
279
- devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/import_scan.py,sha256=3OqfunER_l7j8JkcwEiVVao40GvGtGKcHf5YlPqfjsw,5198
279
+ devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/import_scan.py,sha256=HVztT9mZoosfQp_vFC-fLnFHnEswqNdd2SlJUUk8B58,5281
280
280
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
281
281
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/finding.py,sha256=4IQLjqgyImVdn8AxoU3UKgXnvU-F-x7Tm2bJdp6nHm4,5265
282
- devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/import_scan.py,sha256=2zC_9YuV_t0aY5ZGxwNkPC3HHe6knIOiaG4EzN_dCLQ,7492
282
+ devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/import_scan.py,sha256=u66r-Dahak82bBCf8qMz5mEboWuCC52IjZo36jO4c4k,7623
283
283
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
284
284
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/cmdb.py,sha256=BUOdvP39bEMQ6Unr2hB28eljVGU2Uv8dDEkzRyEJgyQ,2650
285
285
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/component.py,sha256=_icc-ZAqw-aVgE5J4VH8Q7fSqpCgEGcfmurgRIN9NqM,448
286
286
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/engagement.py,sha256=SVX-weFRPT3DK7w6IBrLuWS4L6vboMuZtwXAQmIHfEE,406
287
287
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/finding.py,sha256=TjfpdJtaBwQvT8XNJKBf6tuOASOAw7ZiOxJbqsKadaA,1689
288
288
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/finding_exclusion.py,sha256=VqdwBiQGc9XFpatvbXGL837LtTxkWlfhWH46W1cTbCg,455
289
- devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/import_scan.py,sha256=MgQ5bPqmGh-rjv6eVUogawZqg97JW0kpF9mbMAomNSI,7204
289
+ devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/import_scan.py,sha256=59nAOG2I11ieVsQ5DJ7hoUFuIGVMmc4iQtSnw9f8EQM,7216
290
290
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/product.py,sha256=6f6eABdC79zOopMe_Rif3XoGG-yFfq9x_EOkevTuGDY,368
291
291
  devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
292
292
  devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
293
- devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/cmdb.py,sha256=waucNjkwT9eo-ykeZKxAMZHQCnI-R9Keu0091wVfyOQ,4942
293
+ devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/cmdb.py,sha256=4F64rEQLwB-GsKmR5mnV3uMxVhV7VBHNdthN3fcvVGI,7029
294
294
  devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/component.py,sha256=-J0Sv7z709Hctb-tgM0wmp5ofE4WKEIA_uJwzvMnStE,2132
295
295
  devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/engagement.py,sha256=E6ilSQLOcJeBGYn_XXzJimUdi3l9vo0FpN1FhdNJV58,3866
296
296
  devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/finding.py,sha256=k-z2tg_NPKMni7rZgXMZa2-t8_8F35r8YtF1EcjMyDs,2355
@@ -298,7 +298,7 @@ devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapt
298
298
  devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/import_scan.py,sha256=uZqPM9sOyclq8q-uKRWUY9qR67SzpIzirM6T7KMkYZ4,6515
299
299
  devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product.py,sha256=DhiLPv8KyRhHBRhvF0ULhchhGAT8SQyn1ftiuou_aKw,2576
300
300
  devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product_type.py,sha256=x-Gh2BEP6IZccS2m_DLB8xI6aEkS19J0ZUpP2mjY88o,3078
301
- devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/scan_configurations.py,sha256=YVIHiXPkJ8m1nOW7lG8LGbST16eMZoJwFQcrRRU7R6k,3089
301
+ devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/scan_configurations.py,sha256=zTGOUJ4BFoF7aFTsuiecme2NAzJ_SWnnfS6mIsFWoVo,3122
302
302
  devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
303
303
  devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/settings.py,sha256=5ni59GuAHT-avpWNc4FSedVpoFRTGRNzjQJkAXpWv6c,28
304
304
  devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/repository/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -329,7 +329,7 @@ devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/__init__.py,s
329
329
  devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/gateways/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
330
330
  devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/gateways/sonar_gateway.py,sha256=mgycD3bzC_BYv7qT0tMLAro9hyNOvi4gJRzceYNF0t8,1339
331
331
  devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
332
- devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases/report_sonar.py,sha256=tEju0jvpl2pNXZ94Bl_MXfgFBCx3ytO9wB-nOHilR-Q,10632
332
+ devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases/report_sonar.py,sha256=gXtkP3Ty4IoJpReWklVAGwuvxhqvrZUVThftOtTVYYo,10748
333
333
  devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
334
334
  devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
335
335
  devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/sonarqube/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -349,8 +349,8 @@ devsecops_engine_tools/engine_utilities/utils/name_conversion.py,sha256=ADJrRGax
349
349
  devsecops_engine_tools/engine_utilities/utils/printers.py,sha256=amYAr9YQfYgR6jK9a2l26z3oovFPQ3FAKmhq6BKhEBA,623
350
350
  devsecops_engine_tools/engine_utilities/utils/session_manager.py,sha256=Z0fdhB3r-dxU0nGSD9zW_B4r2Qol1rUnUCkhFR0U-HQ,487
351
351
  devsecops_engine_tools/engine_utilities/utils/utils.py,sha256=HCjS900TBoNcHrC4LaiP-Kf9frVdtagF130qOUgnO2M,6757
352
- devsecops_engine_tools-1.53.2.dist-info/METADATA,sha256=0YNhbSSjzL8LV_j2PDq9KDIBXkygKaJ0oT8rkIxcVtw,11779
353
- devsecops_engine_tools-1.53.2.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
354
- devsecops_engine_tools-1.53.2.dist-info/entry_points.txt,sha256=MHCTFFs9bdNKo6YcWCcBW2_8X6yTisgLOlmVx-V8Rxc,276
355
- devsecops_engine_tools-1.53.2.dist-info/top_level.txt,sha256=ge6y0X_xBAU1aG3EMWFtl9djbVyg5BxuSp2r2Lg6EQU,23
356
- devsecops_engine_tools-1.53.2.dist-info/RECORD,,
352
+ devsecops_engine_tools-1.54.0.dist-info/METADATA,sha256=bEyQiEaWJFiJ_FR6DczUgZ0FpN6njmsiyqWqS_mZgBc,11779
353
+ devsecops_engine_tools-1.54.0.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
354
+ devsecops_engine_tools-1.54.0.dist-info/entry_points.txt,sha256=MHCTFFs9bdNKo6YcWCcBW2_8X6yTisgLOlmVx-V8Rxc,276
355
+ devsecops_engine_tools-1.54.0.dist-info/top_level.txt,sha256=ge6y0X_xBAU1aG3EMWFtl9djbVyg5BxuSp2r2Lg6EQU,23
356
+ devsecops_engine_tools-1.54.0.dist-info/RECORD,,