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

@@ -144,7 +144,7 @@ def get_inputs_from_cli(args):
144
144
  parser.add_argument(
145
145
  "--token_external_checks",
146
146
  required=False,
147
- help="Token for downloading external checks from engine_iac or engine_secret if is necessary. Ej: github:token, ssh:privatekey:pass",
147
+ help="Token for downloading external checks from engine_iac or engine_secret if is necessary. Ej: github_token:token, github_app:private_key, ssh:privatekey:pass",
148
148
  )
149
149
  parser.add_argument(
150
150
  "--xray_mode",
@@ -243,7 +243,7 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
243
243
  self.FALSE_POSITIVE,
244
244
  )
245
245
 
246
- exclusions_false_positive = self._get_findings_with_exclusions(
246
+ exclusions_out_of_scope = self._get_findings_with_exclusions(
247
247
  session_manager,
248
248
  service,
249
249
  dd_max_retries,
@@ -266,6 +266,7 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
266
266
  return (
267
267
  list(exclusions_risk_accepted)
268
268
  + list(exclusions_false_positive)
269
+ + list(exclusions_out_of_scope)
269
270
  + list(exclusions_transfer_finding)
270
271
  )
271
272
  except Exception as ex:
@@ -28,11 +28,8 @@ class GithubActions(DevopsPlatformGateway):
28
28
  split = github_repository.split("/")
29
29
  owner = split[0]
30
30
 
31
- utils_github = GithubApi(
32
- personal_access_token=SystemVariables.github_access_token.value()
33
- )
34
-
35
- git_client = utils_github.get_github_connection()
31
+ utils_github = GithubApi()
32
+ git_client = utils_github.get_github_connection(SystemVariables.github_access_token.value())
36
33
  json_config = utils_github.get_remote_json_config(git_client, owner, repository, path)
37
34
 
38
35
  return json_config
@@ -92,4 +89,4 @@ class GithubActions(DevopsPlatformGateway):
92
89
  try:
93
90
  return variable_map.get(variable).value()
94
91
  except ValueError:
95
- return None
92
+ return None
@@ -19,22 +19,15 @@ from devsecops_engine_tools.engine_sast.engine_iac.src.infrastructure.driven_ada
19
19
  from devsecops_engine_tools.engine_sast.engine_iac.src.infrastructure.helpers.file_generator_tool import (
20
20
  generate_file_from_tool,
21
21
  )
22
- from devsecops_engine_tools.engine_utilities.github.infrastructure.github_api import (
23
- GithubApi,
24
- )
25
- from devsecops_engine_tools.engine_utilities.ssh.managment_private_key import (
26
- create_ssh_private_file,
27
- add_ssh_private_key,
28
- decode_base64,
29
- config_knowns_hosts,
30
- )
31
22
  from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
32
23
  from devsecops_engine_tools.engine_utilities import settings
24
+ from devsecops_engine_tools.engine_utilities.utils.utils import Utils
33
25
 
34
26
  logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
35
27
 
36
28
 
37
29
  class CheckovTool(ToolGateway):
30
+
38
31
  CHECKOV_CONFIG_FILE = "checkov_config.yaml"
39
32
  TOOL_CHECKOV = "CHECKOV"
40
33
  framework_mapping = {
@@ -62,43 +55,6 @@ class CheckovTool(ToolGateway):
62
55
  yaml.dump(checkov_config.dict_confg_file, file)
63
56
  file.close()
64
57
 
65
- def configurate_external_checks(self, config_tool, secret):
66
- agent_env = None
67
- try:
68
- if secret is None:
69
- logger.warning("The secret is not configured for external controls")
70
-
71
- # Create configuration git external checks
72
- elif config_tool[self.TOOL_CHECKOV][
73
- "USE_EXTERNAL_CHECKS_GIT"
74
- ] == "True" and platform.system() in (
75
- "Linux",
76
- "Darwin",
77
- ):
78
- config_knowns_hosts(
79
- config_tool[self.TOOL_CHECKOV]["EXTERNAL_GIT_SSH_HOST"],
80
- config_tool[self.TOOL_CHECKOV][
81
- "EXTERNAL_GIT_PUBLIC_KEY_FINGERPRINT"
82
- ],
83
- )
84
- ssh_key_content = decode_base64(secret["repository_ssh_private_key"])
85
- ssh_key_file_path = "/tmp/ssh_key_file"
86
- create_ssh_private_file(ssh_key_file_path, ssh_key_content)
87
- ssh_key_password = decode_base64(secret["repository_ssh_password"])
88
- agent_env = add_ssh_private_key(ssh_key_file_path, ssh_key_password)
89
-
90
- # Create configuration dir external checks
91
- elif config_tool[self.TOOL_CHECKOV]["USE_EXTERNAL_CHECKS_DIR"] == "True":
92
- github_api = GithubApi(secret["github_token"])
93
- github_api.download_latest_release_assets(
94
- config_tool[self.TOOL_CHECKOV]["EXTERNAL_DIR_OWNER"],
95
- config_tool[self.TOOL_CHECKOV]["EXTERNAL_DIR_REPOSITORY"],
96
- "/tmp",
97
- )
98
-
99
- except Exception as ex:
100
- logger.error(f"An error ocurred configuring external checks {ex}")
101
- return agent_env
102
58
 
103
59
  def retryable_install_package(self, package: str, version: str) -> bool:
104
60
  MAX_RETRIES = 3
@@ -258,29 +214,8 @@ class CheckovTool(ToolGateway):
258
214
  secret_tool,
259
215
  secret_external_checks,
260
216
  ):
261
- secret = None
262
- if secret_tool is not None:
263
- secret = secret_tool
264
- elif secret_external_checks is not None:
265
- secret = {
266
- "github_token": (
267
- secret_external_checks.split("github:")[1]
268
- if "github" in secret_external_checks
269
- else None
270
- ),
271
- "repository_ssh_private_key": (
272
- secret_external_checks.split("ssh:")[1].split(":")[0]
273
- if "ssh" in secret_external_checks
274
- else None
275
- ),
276
- "repository_ssh_password": (
277
- secret_external_checks.split("ssh:")[1].split(":")[1]
278
- if "ssh" in secret_external_checks
279
- else None
280
- ),
281
- }
282
-
283
- agent_env = self.configurate_external_checks(config_tool, secret)
217
+ util = Utils()
218
+ agent_env = util.configurate_external_checks(self.TOOL_CHECKOV,config_tool, secret_tool,secret_external_checks)
284
219
 
285
220
  checkov_install = self.retryable_install_package(
286
221
  "checkov", config_tool[self.TOOL_CHECKOV]["VERSION"]
@@ -310,4 +245,4 @@ class CheckovTool(ToolGateway):
310
245
  ),
311
246
  )
312
247
  else:
313
- return [], None
248
+ return [], None
@@ -12,5 +12,7 @@ class DeserializeConfigTool:
12
12
  self.enable_custom_rules = json_data[tool]["ENABLE_CUSTOM_RULES"]
13
13
  self.external_dir_owner = json_data[tool]["EXTERNAL_DIR_OWNER"]
14
14
  self.external_dir_repo = json_data[tool]["EXTERNAL_DIR_REPOSITORY"]
15
+ self.app_id_github = json_data[tool]["APP_ID_GITHUB"]
16
+ self.installation_id_github = json_data[tool]["INSTALLATION_ID_GITHUB"]
15
17
  self.tool_version = json_data[tool]["VERSION"]
16
18
  self.extradata_rules = json_data[tool]["RULES"]
@@ -73,9 +73,15 @@ class TrufflehogRun(ToolGateway):
73
73
  include_paths = self.config_include_path(files_commits, agent_work_folder, agent_os)
74
74
  enable_custom_rules = config_tool.enable_custom_rules.lower()
75
75
  secret = None
76
-
76
+ github_api = GithubApi()
77
+
77
78
  if secret_tool is not None:
78
- secret = secret_tool["github_token"] if "github_token" in secret_tool else None
79
+ secret_tmp = secret_tool
80
+ secret = github_api.get_installation_access_token(
81
+ secret_tmp["github_token"],
82
+ config_tool.app_id_github,
83
+ config_tool.installation_id_github
84
+ )
79
85
  elif secret_external_checks is not None:
80
86
  secret = secret_external_checks.split("github:")[1] if "github" in secret_external_checks else None
81
87
 
@@ -161,10 +167,11 @@ class TrufflehogRun(ToolGateway):
161
167
 
162
168
  def configurate_external_checks(self, config_tool, secret):
163
169
  try:
164
- github_api = GithubApi(secret)
170
+ github_api = GithubApi()
165
171
  github_api.download_latest_release_assets(
166
172
  config_tool.external_dir_owner,
167
173
  config_tool.external_dir_repo,
174
+ secret,
168
175
  "/tmp",
169
176
  )
170
177
  except Exception as ex:
@@ -1,28 +1,28 @@
1
1
  import requests
2
2
  import zipfile
3
3
  import json
4
- from github import Github
4
+ from github import Github, GithubIntegration
5
5
  from devsecops_engine_tools.engine_utilities.utils.api_error import ApiError
6
6
 
7
7
 
8
8
  class GithubApi:
9
- def __init__(
10
- self,
11
- personal_access_token: str = ""
12
- ):
13
- self.__personal_access_token = personal_access_token
14
9
 
15
10
  def unzip_file(self, zip_file_path, extract_path):
16
11
  with zipfile.ZipFile(zip_file_path, "r") as zip_ref:
17
12
  zip_ref.extractall(extract_path)
13
+
14
+ def get_installation_access_token(self,private_key,app_id,instalation_id):
15
+ if private_key:
16
+ private_key = private_key.replace("\\n", "\n")
17
+ integration = GithubIntegration(app_id, private_key)
18
+ access_token = integration.get_access_token(instalation_id)
19
+ return access_token.token
18
20
 
19
21
  def download_latest_release_assets(
20
- self, owner, repository, download_path="."
21
- ):
22
+ self, owner, repository, token, download_path=".",
23
+ ):
22
24
  url = f"https://api.github.com/repos/{owner}/{repository}/releases/latest"
23
-
24
- headers = {"Authorization": f"token {self.__personal_access_token}"}
25
-
25
+ headers = {"Authorization": f"token {token}", "Accept": "application/vnd.github+json"}
26
26
  response = requests.get(url, headers=headers)
27
27
 
28
28
  if response.status_code == 200:
@@ -32,11 +32,8 @@ class GithubApi:
32
32
  for asset in assets:
33
33
  asset_url = asset["url"]
34
34
  asset_name = asset["name"]
35
-
36
35
  headers.update({"Accept": "application/octet-stream"})
37
-
38
36
  response = requests.get(asset_url, headers=headers, stream=True)
39
-
40
37
  if response.status_code == 200:
41
38
  with open(f"{download_path}/{asset_name}", "wb") as file:
42
39
  for chunk in response.iter_content(chunk_size=8192):
@@ -51,9 +48,8 @@ class GithubApi:
51
48
  f"Error getting the assets of the last release. Status code: {response.status_code}"
52
49
  )
53
50
 
54
- def get_github_connection(self):
55
- git_client = Github(self.__personal_access_token)
56
-
51
+ def get_github_connection(self,personal_access_token):
52
+ git_client = Github(personal_access_token)
57
53
  return git_client
58
54
 
59
55
  def get_remote_json_config(self, git_client: Github, owner, repository, path):
@@ -65,4 +61,4 @@ class GithubApi:
65
61
 
66
62
  return content_json
67
63
  except Exception as e:
68
- raise ApiError("Error getting remote github configuration file: " + str(e))
64
+ raise ApiError("Error getting remote github configuration file: " + str(e))
@@ -26,8 +26,9 @@ def init_report_sonar(vulnerability_management_gateway, secrets_manager_gateway,
26
26
  branch = devops_platform_gateway.get_variable("branch_name")
27
27
  is_valid_pipeline = not re.match(report_config_tool["IGNORE_SEARCH_PATTERN"], pipeline_name, re.IGNORECASE)
28
28
  is_valid_branch = branch in report_config_tool["TARGET_BRANCHES"]
29
-
30
- if config_tool["REPORT_SONAR"]["ENABLED"] == "true" and is_valid_pipeline and is_valid_branch:
29
+ is_enabled = config_tool["REPORT_SONAR"]["ENABLED"] == "true"
30
+
31
+ if is_enabled and is_valid_pipeline and is_valid_branch:
31
32
  input_core = ReportSonar(
32
33
  vulnerability_management_gateway,
33
34
  secrets_manager_gateway,
@@ -40,7 +41,10 @@ def init_report_sonar(vulnerability_management_gateway, secrets_manager_gateway,
40
41
  config_tool, input_core, {"tool": "report_sonar"}, ""
41
42
  )
42
43
  else:
44
+ if not is_enabled: message = "DevSecOps Engine Tool - {0} in maintenance...".format("report_sonar")
45
+ else: message = "Tool skipped by DevSecOps policy"
46
+
43
47
  print(
44
48
  devops_platform_gateway.message(
45
- "warning", "DevSecOps Engine Tool - {0} in maintenance...".format("report_sonar")),
49
+ "warning", message),
46
50
  )
@@ -1,4 +1,17 @@
1
1
  import zipfile
2
+ import platform
3
+ from devsecops_engine_tools.engine_utilities.github.infrastructure.github_api import (
4
+ GithubApi,
5
+ )
6
+ from devsecops_engine_tools.engine_utilities.ssh.managment_private_key import (
7
+ create_ssh_private_file,
8
+ add_ssh_private_key,
9
+ decode_base64,
10
+ config_knowns_hosts,
11
+ )
12
+ from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
13
+ from devsecops_engine_tools.engine_utilities import settings
14
+ logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
2
15
  import base64
3
16
  import re
4
17
 
@@ -17,6 +30,86 @@ class Utils:
17
30
  with zipfile.ZipFile(zip_file_path, "r") as zip_ref:
18
31
  zip_ref.extractall(extract_path)
19
32
 
33
+ def configurate_external_checks(self, tool, config_tool, secret_tool, secret_external_checks):
34
+ try:
35
+ agent_env = None
36
+ secret = None
37
+ github_token = None
38
+ github_api = GithubApi()
39
+
40
+ if secret_tool is not None:
41
+ secret = secret_tool
42
+ github_token = github_api.get_installation_access_token(
43
+ secret["github_token"],
44
+ config_tool[tool]["APP_ID_GITHUB"],
45
+ config_tool[tool]["INSTALLATION_ID_GITHUB"]
46
+ )
47
+
48
+ elif secret_external_checks is not None:
49
+ secret_external_checks_parts = {
50
+ "github_token": (
51
+ secret_external_checks.split("github_token:")[1]
52
+ if "github_token" in secret_external_checks
53
+ else None
54
+ ),
55
+ "github_apps": (
56
+ secret_external_checks.split("github_apps:")[1]
57
+ if "github_apps" in secret_external_checks
58
+ else None
59
+ ),
60
+ "repository_ssh_private_key": (
61
+ secret_external_checks.split("ssh:")[1].split(":")[0]
62
+ if "ssh" in secret_external_checks
63
+ else None
64
+ ),
65
+ "repository_ssh_password": (
66
+ secret_external_checks.split("ssh:")[1].split(":")[1]
67
+ if "ssh" in secret_external_checks
68
+ else None
69
+ ),
70
+ }
71
+
72
+ secret = {
73
+ key: secret_external_checks_parts[key]
74
+ for key in secret_external_checks_parts
75
+ if secret_external_checks_parts[key] is not None
76
+ }
77
+
78
+ if secret is None:
79
+ logger.warning("The secret is not configured for external controls")
80
+
81
+
82
+ elif config_tool[tool]["USE_EXTERNAL_CHECKS_GIT"] == "True" and platform.system() in (
83
+ "Linux", "Darwin",
84
+ ):
85
+ config_knowns_hosts(
86
+ config_tool[tool]["EXTERNAL_GIT_SSH_HOST"],
87
+ config_tool[tool]["EXTERNAL_GIT_PUBLIC_KEY_FINGERPRINT"],
88
+ )
89
+ ssh_key_content = decode_base64(secret["repository_ssh_private_key"])
90
+ ssh_key_file_path = "/tmp/ssh_key_file"
91
+ create_ssh_private_file(ssh_key_file_path, ssh_key_content)
92
+ ssh_key_password = decode_base64(secret["repository_ssh_password"])
93
+ agent_env = add_ssh_private_key(ssh_key_file_path, ssh_key_password)
94
+
95
+ elif config_tool[tool]["USE_EXTERNAL_CHECKS_DIR"] == "True":
96
+ if not github_token:
97
+ github_token = github_api.get_installation_access_token(
98
+ secret.get("github_apps"),
99
+ config_tool[tool]["APP_ID_GITHUB"],
100
+ config_tool[tool]["INSTALLATION_ID_GITHUB"]
101
+ ) if secret.get("github_apps") else secret.get("github_token")
102
+ github_api.download_latest_release_assets(
103
+ config_tool[tool]["EXTERNAL_DIR_OWNER"],
104
+ config_tool[tool]["EXTERNAL_DIR_REPOSITORY"],
105
+ github_token,
106
+ "/tmp",
107
+ )
108
+
109
+ except Exception as ex:
110
+ logger.error(f"An error occurred configuring external checks: {ex}")
111
+ return agent_env
112
+
20
113
  def encode_token_to_base64(self, token):
21
114
  token_bytes = f"{token}:".encode("utf-8")
22
115
  base64_token = base64.b64encode(token_bytes).decode("utf-8")
@@ -1 +1 @@
1
- version = '1.20.0'
1
+ version = '1.22.0'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: devsecops-engine-tools
3
- Version: 1.20.0
3
+ Version: 1.22.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,9 +1,9 @@
1
1
  devsecops_engine_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- devsecops_engine_tools/version.py,sha256=YYeXSw7JjRqi5jpPVZq7i04XOPerli8sVoH9kHjc3eo,19
2
+ devsecops_engine_tools/version.py,sha256=qOgLueidTZL9dCjyIIhcdaaxb2KeLyzyzW4SaqQ-Q08,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
6
- devsecops_engine_tools/engine_core/src/applications/runner_engine_core.py,sha256=3IvzG7IfQFs8gxsv4Xo5722hV3jG6g0g4JWFq74i2iM,7209
6
+ devsecops_engine_tools/engine_core/src/applications/runner_engine_core.py,sha256=NNbiI_5rUphL8S7zhagOLGF-5jWVSgJhEWjrKALruis,7239
7
7
  devsecops_engine_tools/engine_core/src/deployment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
8
  devsecops_engine_tools/engine_core/src/deployment/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
9
  devsecops_engine_tools/engine_core/src/domain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -36,9 +36,9 @@ devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/secret
36
36
  devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
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=sLeJ-IQ309LcFFbi7JH7jIAKuAQAOl7DzStJAu-kIc4,20726
39
+ devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py,sha256=aXWW0np_1GmbezPXbZKEJ8HGKdjCouM84GEexa5bKk8,20772
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=pxlgjhX4-Dssn-XHKK8AdCOj6Ry6VcQtoDf5q8CxTks,3731
41
+ devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/github_actions.py,sha256=S5ecYZJi5PL3Lmz-0V0cHEicn2_VZF3cenfujRFZYbc,3685
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=NkXu7JYoCHXIx0HzHl4DhdLGEpocPMIqs2L0ADS-RcI,5369
44
44
  devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_rich_table/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -125,7 +125,7 @@ devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters
125
125
  devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
126
126
  devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_config.py,sha256=qbE6wUO5_WFXF_QolL0JYelaRGEOUakPEZR_6HAKzzI,4355
127
127
  devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_deserealizator.py,sha256=l_opY909gh1m3k2ud2xDrCVnDTBe3ApYT75juBf_uMk,1836
128
- devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_tool.py,sha256=8gbf4nGWxjaF6c9H6rEvPZg3JksZ8rn8ShEZRaxGgUI,11506
128
+ devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_tool.py,sha256=81Hqkh24jk6DV55i5Ggl-4hpU-rKkVzi9koJ6S3TE1Y,8796
129
129
  devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
130
130
  devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_deserealizator.py,sha256=b1X5GWz2snJtsKZcGEsILNc178hv9p-lg-el0Jc-_Eo,2084
131
131
  devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_tool.py,sha256=8lda0A7huVSWgq2zMAN92vQv4ug0HiQMATGdXV5lgyA,5202
@@ -143,7 +143,7 @@ devsecops_engine_tools/engine_sast/engine_secret/src/applications/runner_secret_
143
143
  devsecops_engine_tools/engine_sast/engine_secret/src/deployment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
144
144
  devsecops_engine_tools/engine_sast/engine_secret/src/deployment/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
145
145
  devsecops_engine_tools/engine_sast/engine_secret/src/domain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
146
- devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/DeserializeConfigTool.py,sha256=vwV7OoH943fQvwSgoKqLnnB8XcuMwQsebrIXvQIgiTs,941
146
+ devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/DeserializeConfigTool.py,sha256=jUD_irTwabu_WG1by0VrxIoHJTZXVJZzkNSlSYgAue0,1085
147
147
  devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
148
148
  devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
149
149
  devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/gateway_deserealizator.py,sha256=4fYPengHW3K0uVP6wHgOiNu-gRb08m78E7QZayZ2LC4,441
@@ -155,7 +155,7 @@ devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/__init__.py,
155
155
  devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
156
156
  devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
157
157
  devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_deserealizator.py,sha256=mrSqPrkMiikxQ_uY-rF2I8QvicsOMdMBzTC8CTV3Wk8,2392
158
- devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_run.py,sha256=GcO8r_LjIjhPlyiUujAM23AK2ks1xl6hy3owyNXk5WI,8530
158
+ devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_run.py,sha256=0OzDHxtbV1ke2V2SXZU7vkjc3MioGrR-djnV_ea0lAo,8740
159
159
  devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
160
160
  devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/entry_point_tool.py,sha256=NiA5-pRL6-tMuOa2Al-wIYq3uIMFBQrJd0w7ur16kgs,1049
161
161
  devsecops_engine_tools/engine_sca/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -273,7 +273,7 @@ devsecops_engine_tools/engine_utilities/git_cli/model/gateway/__init__.py,sha256
273
273
  devsecops_engine_tools/engine_utilities/git_cli/model/gateway/git_gateway.py,sha256=x6LFK8wZuVix-ZCBdBQTzvjQi59nZYVrSOTatCOQbxc,638
274
274
  devsecops_engine_tools/engine_utilities/github/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
275
275
  devsecops_engine_tools/engine_utilities/github/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
276
- devsecops_engine_tools/engine_utilities/github/infrastructure/github_api.py,sha256=AURk8GGAkNuHCqTEsiS6UxClL_YYJoqtBrWGBSYgWO4,2436
276
+ devsecops_engine_tools/engine_utilities/github/infrastructure/github_api.py,sha256=7hvwyrvQyXP-0goCeM-hX-FaDSNZWsG0nJ5iWo3uC64,2686
277
277
  devsecops_engine_tools/engine_utilities/github/models/GithubPredefinedVariables.py,sha256=LmIvCVDyszInElu_-Pt034q1Zaajp-QA3ge-RtimxHg,1589
278
278
  devsecops_engine_tools/engine_utilities/github/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
279
279
  devsecops_engine_tools/engine_utilities/input_validations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -294,7 +294,7 @@ devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adap
294
294
  devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/sonarqube/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
295
295
  devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/sonarqube/sonarqube_report.py,sha256=eKzxONP3pP4d2MIknC5sGVuxcHzgelt5D0Kun88WBMo,4514
296
296
  devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/entry_points/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
297
- devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/entry_points/entry_point_report_sonar.py,sha256=VSv8uGG36HuPv2dL7vpKKLFVQKkbqM3NPMd1f-yTclM,2036
297
+ devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/entry_points/entry_point_report_sonar.py,sha256=Q5R-O6KbU6qb7-U3dtdhBiHvs9j9X1TFlG5F4Zmxz3A,2173
298
298
  devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
299
299
  devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/helpers/utils.py,sha256=SGOWrkzQrvOt9bRhhSfgiMzj1695e1W0B9ox9C1ihQI,294
300
300
  devsecops_engine_tools/engine_utilities/ssh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -307,9 +307,9 @@ devsecops_engine_tools/engine_utilities/utils/logger_info.py,sha256=4Mz8Bwlm9Mku
307
307
  devsecops_engine_tools/engine_utilities/utils/name_conversion.py,sha256=ADJrRGaxYSDe0ZRh6VHRf53H4sXPcb-vNP_i81PUn3I,307
308
308
  devsecops_engine_tools/engine_utilities/utils/printers.py,sha256=amYAr9YQfYgR6jK9a2l26z3oovFPQ3FAKmhq6BKhEBA,623
309
309
  devsecops_engine_tools/engine_utilities/utils/session_manager.py,sha256=yNtlT-8Legz1sHbGPH8LNYjL-LgDUE0zXG2rYjiab7U,290
310
- devsecops_engine_tools/engine_utilities/utils/utils.py,sha256=79nXjjRjR64xvXmQzJqFpDj5xByrqQbc6OnowHqBEz4,1756
311
- devsecops_engine_tools-1.20.0.dist-info/METADATA,sha256=_TKyRHkSblGgi4MyxVpVEy1zh6AfVa1PlwlRm3eITQs,10895
312
- devsecops_engine_tools-1.20.0.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
313
- devsecops_engine_tools-1.20.0.dist-info/entry_points.txt,sha256=MHCTFFs9bdNKo6YcWCcBW2_8X6yTisgLOlmVx-V8Rxc,276
314
- devsecops_engine_tools-1.20.0.dist-info/top_level.txt,sha256=ge6y0X_xBAU1aG3EMWFtl9djbVyg5BxuSp2r2Lg6EQU,23
315
- devsecops_engine_tools-1.20.0.dist-info/RECORD,,
310
+ devsecops_engine_tools/engine_utilities/utils/utils.py,sha256=yvCbPKAWa7wxk5S-s_Xkvx9VtnIpv9eWUMG8wtlmrhs,5870
311
+ devsecops_engine_tools-1.22.0.dist-info/METADATA,sha256=cev15Bqv4tub8Pa4Sz-SCLDaAA-T_9pRLLr-72euoWQ,10895
312
+ devsecops_engine_tools-1.22.0.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
313
+ devsecops_engine_tools-1.22.0.dist-info/entry_points.txt,sha256=MHCTFFs9bdNKo6YcWCcBW2_8X6yTisgLOlmVx-V8Rxc,276
314
+ devsecops_engine_tools-1.22.0.dist-info/top_level.txt,sha256=ge6y0X_xBAU1aG3EMWFtl9djbVyg5BxuSp2r2Lg6EQU,23
315
+ devsecops_engine_tools-1.22.0.dist-info/RECORD,,