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

@@ -333,7 +333,7 @@ class BreakBuild:
333
333
  (
334
334
  elem.create_date
335
335
  for elem in exclusions
336
- if elem.id == item.id
336
+ if elem.id == item.id and elem.where in item.where
337
337
  ),
338
338
  None,
339
339
  ),
@@ -341,7 +341,7 @@ class BreakBuild:
341
341
  (
342
342
  elem.expired_date
343
343
  for elem in exclusions
344
- if elem.id == item.id
344
+ if elem.id == item.id and elem.where in item.where
345
345
  ),
346
346
  None,
347
347
  ),
@@ -349,7 +349,7 @@ class BreakBuild:
349
349
  (
350
350
  elem.reason
351
351
  for elem in exclusions
352
- if elem.id == item.id
352
+ if elem.id == item.id and elem.where in item.where
353
353
  ),
354
354
  None,
355
355
  ),
@@ -91,7 +91,6 @@ class AzureDevops(DevopsPlatformGateway):
91
91
  "path_directory": SystemVariables.System_DefaultWorkingDirectory,
92
92
  "os": AgentVariables.Agent_OS,
93
93
  "temp_directory": AgentVariables.Agent_TempDirectory,
94
- "agent_directory": AgentVariables.Agent_BuildDirectory,
95
94
  "target_branch": SystemVariables.System_TargetBranchName,
96
95
  "source_branch": SystemVariables.System_SourceBranch,
97
96
  "repository_provider": BuildVariables.Build_Repository_Provider,
@@ -163,6 +163,11 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
163
163
  "tags": tool,
164
164
  "limit": dd_limits_query,
165
165
  }
166
+ transfer_finding_query_params = {
167
+ "risk_status": "Transfer Accepted",
168
+ "tags": tool,
169
+ "limit": dd_limits_query,
170
+ }
166
171
 
167
172
  exclusions_risk_accepted = self._get_findings_with_exclusions(
168
173
  session_manager,
@@ -184,7 +189,17 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
184
189
  "False Positive",
185
190
  )
186
191
 
187
- return list(exclusions_risk_accepted) + list(exclusions_false_positive)
192
+ exclusions_transfer_finding = self._get_findings_with_exclusions(
193
+ session_manager,
194
+ service,
195
+ dd_max_retries,
196
+ transfer_finding_query_params,
197
+ tool,
198
+ self._format_date_to_dd_format,
199
+ "Transferred Finding",
200
+ )
201
+
202
+ return list(exclusions_risk_accepted) + list(exclusions_false_positive) + list(exclusions_transfer_finding)
188
203
  except Exception as ex:
189
204
  raise ExceptionFindingsExcepted(
190
205
  "Error getting excepted findings with the following error: {0} ".format(
@@ -268,19 +283,22 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
268
283
  raise e
269
284
 
270
285
  def _create_exclusion(self, finding, date_fn, tool, reason):
286
+ if reason == "False Positive":
287
+ create_date = date_fn(finding.last_status_update)
288
+ expired_date = date_fn(None)
289
+ elif reason == "Transferred Finding":
290
+ create_date = date_fn(finding.transfer_finding.date)
291
+ expired_date = date_fn(finding.transfer_finding.expiration_date)
292
+ else:
293
+ last_accepted_risk = finding.accepted_risks[-1]
294
+ create_date = date_fn(last_accepted_risk["created"])
295
+ expired_date = date_fn(last_accepted_risk["expiration_date"])
296
+
271
297
  return Exclusions(
272
298
  id=finding.vuln_id_from_tool,
273
299
  where=self._get_where(finding, tool),
274
- create_date=date_fn(
275
- finding.last_status_update
276
- if reason == "False Positive"
277
- else finding.accepted_risks[-1]["created"]
278
- ),
279
- expired_date=date_fn(
280
- None
281
- if reason == "False Positive"
282
- else finding.accepted_risks[-1]["expiration_date"]
283
- ),
300
+ create_date=create_date,
301
+ expired_date=expired_date,
284
302
  reason=reason,
285
303
  )
286
304
 
@@ -85,7 +85,6 @@ class GithubActions(DevopsPlatformGateway):
85
85
  "path_directory": SystemVariables.github_workspace,
86
86
  "os": AgentVariables.runner_os,
87
87
  "temp_directory": AgentVariables.runner_tool_cache,
88
- "agent_directory": AgentVariables.runner_workspace,
89
88
  "target_branch": SystemVariables.github_event_base_ref,
90
89
  "source_branch": SystemVariables.github_ref,
91
90
  "repository_provider": BuildVariables.GitHub,
@@ -62,7 +62,6 @@ class RuntimeLocal(DevopsPlatformGateway):
62
62
  "path_directory" : "DET_PATH_DIRECTORY",
63
63
  "os" : "DET_OS",
64
64
  "temp_directory" : "DET_TEMP_DIRECTORY",
65
- "agent_directory" : "DET_AGENT_DIRECTORY",
66
65
  "target_branch" : "DET_TARGET_BRANCH",
67
66
  "source_branch" : "DET_SOURCE_BRANCH",
68
67
  "repository_provider" : "DET_REPOSITORY_PROVIDER"
@@ -69,13 +69,13 @@ class ContainerScaScan:
69
69
  if matching_image:
70
70
  image_name = matching_image.tags[0]
71
71
  result_file = image_name.replace("/","_") + "_scan_result.json"
72
- if result_file in self.get_images_already_scanned():
72
+ if image_name in self.get_images_already_scanned():
73
73
  print(f"The image {image_name} has already been scanned previously.")
74
74
  return image_scanned
75
75
  image_scanned = self.tool_run.run_tool_container_sca(
76
76
  self.remote_config, self.token, image_name, result_file
77
77
  )
78
- self.set_image_scanned(result_file)
78
+ self.set_image_scanned(image_name)
79
79
  else:
80
80
  print(f"'Not image found for {self.image_to_scan}'. Tool skipped.")
81
81
  return image_scanned
@@ -81,18 +81,19 @@ class TrivyScan(ToolGateway):
81
81
  def run_tool_container_sca(self, remoteconfig, token, image_name, result_file):
82
82
  trivy_version = remoteconfig["TRIVY"]["TRIVY_VERSION"]
83
83
  os_platform = platform.system()
84
+ arch_platform = platform.architecture()[0]
84
85
  base_url = f"https://github.com/aquasecurity/trivy/releases/download/v{trivy_version}/"
85
86
 
86
87
  if os_platform == "Linux":
87
- file=f"trivy_{trivy_version}_Linux-64bit.tar.gz"
88
+ file=f"trivy_{trivy_version}_Linux-{arch_platform}.tar.gz"
88
89
  self.install_tool(file, base_url+file)
89
90
  command_prefix = "./trivy"
90
91
  elif os_platform == "Darwin":
91
- file=f"trivy_{trivy_version}_macOS-64bit.tar.gz"
92
+ file=f"trivy_{trivy_version}_macOS-{arch_platform}.tar.gz"
92
93
  self.install_tool(file, base_url+file)
93
94
  command_prefix = "./trivy"
94
95
  elif os_platform == "Windows":
95
- file=f"trivy_{trivy_version}_windows-64bit.zip"
96
+ file=f"trivy_{trivy_version}_windows-{arch_platform}.zip"
96
97
  self.install_tool_windows(file, base_url+file)
97
98
  command_prefix = "./trivy.exe"
98
99
  else:
@@ -2,6 +2,11 @@ import dataclasses
2
2
  from typing import List
3
3
  from devsecops_engine_tools.engine_utilities.utils.dataclass_classmethod import FromDictMixin
4
4
 
5
+ @dataclasses.dataclass
6
+ class TransferFinding(FromDictMixin):
7
+ id: int = 0
8
+ date : str = ""
9
+ expiration_date: str = ""
5
10
 
6
11
  @dataclasses.dataclass
7
12
  class Finding(FromDictMixin):
@@ -10,6 +15,7 @@ class Finding(FromDictMixin):
10
15
  request_response = None
11
16
  req_resp: List[None] = dataclasses.field(default_factory=list)
12
17
  accepted_risks: List[None] = dataclasses.field(default_factory=list)
18
+ transfer_finding: TransferFinding = None
13
19
  push_to_jira: bool = False
14
20
  age: int = 0
15
21
  sla_days_remaining: int = 0
@@ -61,7 +61,7 @@ class FindingSerializer(Schema):
61
61
  reviewers = fields.List(fields.Int, requerided=False)
62
62
  risk_accetance = fields.Int(requerided=False)
63
63
  risk_status = fields.Str(
64
- required=False, validate=validate.OneOf(["Risk Pending", "Risk Rejected", "Risk Accepted", "Risk Active"])
64
+ required=False, validate=validate.OneOf(["Risk Pending", "Risk Rejected", "Risk Expired", "Risk Accepted", "Risk Active", "Transfer Pending", "Transfer Rejected", "Transfer Expired", "Transfer Accepted"])
65
65
  )
66
66
  risk_accepted = fields.Bool(requerided=False)
67
67
  sast_sink_object = fields.Str(requeride=False)
@@ -1 +1 @@
1
- version = '1.8.1'
1
+ version = '1.8.3'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: devsecops-engine-tools
3
- Version: 1.8.1
3
+ Version: 1.8.3
4
4
  Summary: Tool for DevSecOps strategy
5
5
  Home-page: https://github.com/bancolombia/devsecops-engine-tools
6
6
  Author: Bancolombia DevSecOps Team
@@ -33,6 +33,8 @@ Requires-Dist: setuptools==72.1.0
33
33
  [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=bancolombia_devsecops-engine-tools&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=bancolombia_devsecops-engine-tools)
34
34
  [![Coverage](https://sonarcloud.io/api/project_badges/measure?project=bancolombia_devsecops-engine-tools&metric=coverage)](https://sonarcloud.io/summary/new_code?id=bancolombia_devsecops-engine-tools)
35
35
  [![Python Version](https://img.shields.io/badge/python%20-%203.8%20%7C%203.9%20%7C%203.10%20%7C%203.11%20%7C%203.12%20-blue)](#)
36
+ [![Docker Pulls](https://img.shields.io/docker/pulls/bancolombia/devsecops-engine-tools
37
+ )](https://hub.docker.com/r/bancolombia/devsecops-engine-tools)
36
38
 
37
39
  # Objective
38
40
 
@@ -65,7 +67,7 @@ pip3 install devsecops-engine-tools
65
67
  ### Scan running - flags (CLI)
66
68
 
67
69
  ```bash
68
- devsecops-engine-tools --platform_devops ["local","azure","github"] --remote_config_repo ["remote_config_repo"] --tool ["engine_iac", "engine_dast", "engine_secret", "engine_dependencies", "engine_container"] --folder_path ["Folder path scan engine_iac"] --platform ["k8s","cloudformation","docker", "openapi"] --use_secrets_manager ["false", "true"] --use_vulnerability_management ["false", "true"] --send_metrics ["false", "true"] --token_cmdb ["token_cmdb"] --token_vulnerability_management ["token_vulnerability_management"] --token_engine_container ["token_engine_container"] --token_engine_dependencies ["token_engine_dependencies"] --xray_mode ["scan", "audit"] --image_to_scan ["image_to_scan"]
70
+ devsecops-engine-tools --platform_devops ["local","azure","github"] --remote_config_repo ["remote_config_repo"] --tool ["engine_iac", "engine_dast", "engine_secret", "engine_dependencies", "engine_container"] --folder_path ["Folder path scan engine_iac"] --platform ["k8s","cloudformation","docker", "openapi"] --use_secrets_manager ["false", "true"] --use_vulnerability_management ["false", "true"] --send_metrics ["false", "true"] --token_cmdb ["token_cmdb"] --token_vulnerability_management ["token_vulnerability_management"] --token_engine_container ["token_engine_container"] --token_engine_dependencies ["token_engine_dependencies"] --token_external_checks ["token_external_checks"] --xray_mode ["scan", "audit"] --image_to_scan ["image_to_scan"]
69
71
  ```
70
72
 
71
73
  ### Structure Remote Config
@@ -154,6 +156,23 @@ devsecops-engine-tools --platform_devops local --remote_config_repo DevSecOps_Re
154
156
 
155
157
  ![Demo CLI Local](docs/demo_session.svg)
156
158
 
159
+ ### Scan running sample (Docker)
160
+
161
+ > Installation
162
+
163
+ ```bash
164
+ docker pull bancolombia/devsecops-engine-tools
165
+ ```
166
+ ```bash
167
+ docker run --rm -v ./folder_to_analyze:/folder_to_analyze bancolombia/devsecops-engine-tools:latest devsecops-engine-tools --platform_devops local --remote_config_repo docker_default_remote_config --tool engine_iac --folder_path /folder_to_analyze
168
+ ```
169
+
170
+ The docker image have it own default remote config with basic configuration called docker_default_remote_config, but you can define your own config and pass it as volume
171
+
172
+ ```bash
173
+ docker run --rm -v ./folder_to_analyze:/folder_to_analyze -v ./custom_remote_config:/custom_remote_config bancolombia/devsecops-engine-tools:latest devsecops-engine-tools --platform_devops local --remote_config_repo custom_remote_config --tool engine_iac --folder_path /folder_to_analyze
174
+ ```
175
+
157
176
 
158
177
  ### Scan running sample - Azure Pipelines
159
178
 
@@ -1,5 +1,5 @@
1
1
  devsecops_engine_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- devsecops_engine_tools/version.py,sha256=LiFk8jBpRXfycyi9cQNVPqL9xwLKhi46RHdTm0uJE4I,18
2
+ devsecops_engine_tools/version.py,sha256=YmDJ6xhZcPB465w-_XGh-Lacg_6aokHvEIV5E47fP08,18
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
@@ -24,7 +24,7 @@ devsecops_engine_tools/engine_core/src/domain/model/gateway/printer_table_gatewa
24
24
  devsecops_engine_tools/engine_core/src/domain/model/gateway/secrets_manager_gateway.py,sha256=CTwUIvUWF0NSSzdCqASUFst6KUysW53NV9eatjLGdl8,170
25
25
  devsecops_engine_tools/engine_core/src/domain/model/gateway/vulnerability_management_gateway.py,sha256=sn9bEDfaNtRmHHtn49eSVg_JO7Zr2OVyj350KzyGiXo,667
26
26
  devsecops_engine_tools/engine_core/src/domain/usecases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
- devsecops_engine_tools/engine_core/src/domain/usecases/break_build.py,sha256=63O0eOM-dg0OHk7sBWQ36-13Uq-mEEyZ19N61XOBm04,15793
27
+ devsecops_engine_tools/engine_core/src/domain/usecases/break_build.py,sha256=5cKBnmX4oNfPlRUethyJTVO6G3YOs6li4xGJEYI4Xwo,15880
28
28
  devsecops_engine_tools/engine_core/src/domain/usecases/handle_risk.py,sha256=EBLEzm-p_lEeB7T8iarn2Fc4_6hY0XAIT1AJATd2JUM,2473
29
29
  devsecops_engine_tools/engine_core/src/domain/usecases/handle_scan.py,sha256=ee9ULqKGYfaxBUO8RNq-Znh4dbojghIauH4YIjYx9QU,6730
30
30
  devsecops_engine_tools/engine_core/src/domain/usecases/metrics_manager.py,sha256=Xi0iNnPrFgqd2cBdAA5E_tgouhxs-BTo016aolnGgv8,2413
@@ -34,15 +34,15 @@ devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/__init
34
34
  devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/s3_manager.py,sha256=-9gFDcvOIiXDIv4TUXR9zP83GBgR3v-xgp3QgcoaCo4,1926
35
35
  devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/secrets_manager.py,sha256=YW5n1SkeZFCNqFK8RCPmUxdy1NNEiOc-tHcYzSVAJOM,1658
36
36
  devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
- devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/azure_devops.py,sha256=kaYKkASzj-Zm5TXYRVqIuZPUkQMWkP32KnekZ3HsP1o,4903
37
+ devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/azure_devops.py,sha256=blI4ZrquRE4y6DJ7N2YRx1nL0wrAXvdpx0fLSUf5qwA,4831
38
38
  devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
- devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py,sha256=DCHx5xadwtuXf8dqjOOw_2Ssb9In-PikfwbWCW7oIww,12676
39
+ devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py,sha256=KcQJvVqJ9RUJA-o5-d6DF2l5AmXNCvZJfj7swzkC_v4,13484
40
40
  devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
41
- devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/github_actions.py,sha256=WpOFzrIkiyZXEXy-0WiKPqcxAuL_lRvwDvmA0YC6oTE,3795
41
+ devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/github_actions.py,sha256=pxlgjhX4-Dssn-XHKK8AdCOj6Ry6VcQtoDf5q8CxTks,3731
42
42
  devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
43
43
  devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/printer_pretty_table.py,sha256=O1waYz_6ElcOkU3Nb4suJs2ZJIo0YLoFuNXi9-j-wSs,3811
44
44
  devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
- devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/runtime_local.py,sha256=YI4-AaZkKigbxD7ERCqb4VR4eMKJZui_f414kN8e18M,2518
45
+ devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/runtime_local.py,sha256=2-BRh0BVuJp-IYpX5ah5uv3Tf0txm4y-tIwdo4fPH6Q,2463
46
46
  devsecops_engine_tools/engine_core/src/infrastructure/entry_points/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
47
47
  devsecops_engine_tools/engine_core/src/infrastructure/entry_points/entry_point_core.py,sha256=v8D9F_MvS2_zQqciDXUEaCHx6oK60ESpSdh-SDz851Y,2082
48
48
  devsecops_engine_tools/engine_core/src/infrastructure/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -146,7 +146,7 @@ devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/des
146
146
  devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/images_gateway.py,sha256=4I0x7qT97mT1kuyIYMWHz7KH_XEMwNm9_eB0SUcEKrE,179
147
147
  devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/tool_gateway.py,sha256=ADZjrl8u8CQ0hWoVhbnHFcjvyUmUeleffwmhtlg8s30,224
148
148
  devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
149
- devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/container_sca_scan.py,sha256=52K5KM_FivJYFP10td-XPmF-vqvaA4_vQPTddMgSmJ4,3104
149
+ devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/container_sca_scan.py,sha256=duJ1SSACSI1MB323fegHeX1G-Uasa0DdNwqjxG5o2Vw,3102
150
150
  devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/handle_remote_config_patterns.py,sha256=4wgBTQSDE-C5v01C3Vxzeq0DJKZUSqQ5TVLG7yPZPKs,926
151
151
  devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/set_input_core.py,sha256=DdKyKnLzqswHt619B3s1GTB5u_RyUixCambDkBuu7y4,1806
152
152
  devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -158,7 +158,7 @@ devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_ada
158
158
  devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_deserialize_output.py,sha256=si7hhhqHT7evewtYVjwFN104xAFy8BFGp_Bq6Qo2Sh4,2421
159
159
  devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
160
160
  devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_deserialize_output.py,sha256=LGqnO10Zt-0-TxUW6F1S46jVktlIwxWSYATKSVblCWI,2535
161
- devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_manager_scan.py,sha256=dAjnif-4CVYWrEpsMeAP97p-vsqtcZooxTBKeW8dzOY,3611
161
+ devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_manager_scan.py,sha256=RyywpbzRtykRiQk-a4UQ0uePoSmVefY5LvL2W7wx_hM,3692
162
162
  devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
163
163
  devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/entry_point_tool.py,sha256=WydFpx1jD1vx6plT9wbnR1z7ZPBdbyGi3RFWPYeDVO8,2317
164
164
  devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -203,7 +203,7 @@ devsecops_engine_tools/engine_utilities/defect_dojo/domain/__init__.py,sha256=47
203
203
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
204
204
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/cmdb.py,sha256=7EAzKzBJaDqP4Q57cyu_nCpl9WqcTZFjXydkYCh8h-k,320
205
205
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/engagement.py,sha256=x0mkWoLv8rRHZTh7hhI1aZb2g9XFJ-Gz_gC-f-rZdWM,1372
206
- devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/finding.py,sha256=5yBGLH7weU3GQZDQajTVMY99TLd09zQaqegR-rWkH7c,2973
206
+ devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/finding.py,sha256=z_fH5_dgdPNhmp3CtZ0IY7NnkASa1rng_FOiN6BR17Q,3145
207
207
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product.py,sha256=KL5ue6icA8HH1xKkmAJzElAat3OOYU3_lt3xuNfo7Mc,1272
208
208
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_list.py,sha256=ExoZSaOLRVioy85EMyDSl2ktSw8f1gp30mxacQCpP74,426
209
209
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type.py,sha256=2KVfRB0qgPO7osY4PBEQSOBOqRnZs0UzUZkS1guisBQ,524
@@ -213,7 +213,7 @@ devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/__ini
213
213
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/finding.py,sha256=VriR9km0yYP9tYt6BjLC7EZrQIQsaNZUN45OpWv8fzk,2558
214
214
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/import_scan.py,sha256=Y1ewQ-9wM287MSEraT4myG1RDl4LjmeqansR3-Exn7U,4974
215
215
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
216
- devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/finding.py,sha256=4HSeSsZqBg-4Z1yR65o0nkfy6W4DSIC4wMvuz_LVAgs,5042
216
+ devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/finding.py,sha256=oo5AJYNtGHO0Gy76dHrLBlsZy_HRpifLOi7rzNLTJc0,5140
217
217
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/import_scan.py,sha256=VyV1LzeJDk51RYXz8EiweLHccpsuwTY3hTkAnkscX2E,7211
218
218
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
219
219
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/cmdb.py,sha256=BUOdvP39bEMQ6Unr2hB28eljVGU2Uv8dDEkzRyEJgyQ,2650
@@ -249,8 +249,8 @@ devsecops_engine_tools/engine_utilities/utils/logger_info.py,sha256=4Mz8Bwlm9Mku
249
249
  devsecops_engine_tools/engine_utilities/utils/name_conversion.py,sha256=ADJrRGaxYSDe0ZRh6VHRf53H4sXPcb-vNP_i81PUn3I,307
250
250
  devsecops_engine_tools/engine_utilities/utils/printers.py,sha256=amYAr9YQfYgR6jK9a2l26z3oovFPQ3FAKmhq6BKhEBA,623
251
251
  devsecops_engine_tools/engine_utilities/utils/session_manager.py,sha256=yNtlT-8Legz1sHbGPH8LNYjL-LgDUE0zXG2rYjiab7U,290
252
- devsecops_engine_tools-1.8.1.dist-info/METADATA,sha256=n0dLT1D3R7Jdqn4S-yO0Czf5mC1aHd3H8djS3O1TFYo,9177
253
- devsecops_engine_tools-1.8.1.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
254
- devsecops_engine_tools-1.8.1.dist-info/entry_points.txt,sha256=9IjXF_7Zpgowq_SY6OSmsA9vZze18a8_AeHwkQVrgKk,131
255
- devsecops_engine_tools-1.8.1.dist-info/top_level.txt,sha256=ge6y0X_xBAU1aG3EMWFtl9djbVyg5BxuSp2r2Lg6EQU,23
256
- devsecops_engine_tools-1.8.1.dist-info/RECORD,,
252
+ devsecops_engine_tools-1.8.3.dist-info/METADATA,sha256=oiOeJ2geYpvxUTmJDrCJoMrYv6Fs2_0pACW-oG5-sT8,10221
253
+ devsecops_engine_tools-1.8.3.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
254
+ devsecops_engine_tools-1.8.3.dist-info/entry_points.txt,sha256=9IjXF_7Zpgowq_SY6OSmsA9vZze18a8_AeHwkQVrgKk,131
255
+ devsecops_engine_tools-1.8.3.dist-info/top_level.txt,sha256=ge6y0X_xBAU1aG3EMWFtl9djbVyg5BxuSp2r2Lg6EQU,23
256
+ devsecops_engine_tools-1.8.3.dist-info/RECORD,,