devsecops-engine-tools 1.7.27__py3-none-any.whl → 1.7.29__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.
- devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/s3_manager.py +1 -1
- devsecops_engine_tools/engine_sast/engine_iac/src/applications/runner_iac_scan.py +11 -2
- devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/__init__.py +0 -0
- devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_deserealizator.py +75 -0
- devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_tool.py +123 -0
- devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/file_generator_tool.py +1 -1
- devsecops_engine_tools/version.py +1 -1
- {devsecops_engine_tools-1.7.27.dist-info → devsecops_engine_tools-1.7.29.dist-info}/METADATA +47 -7
- {devsecops_engine_tools-1.7.27.dist-info → devsecops_engine_tools-1.7.29.dist-info}/RECORD +12 -9
- {devsecops_engine_tools-1.7.27.dist-info → devsecops_engine_tools-1.7.29.dist-info}/WHEEL +0 -0
- {devsecops_engine_tools-1.7.27.dist-info → devsecops_engine_tools-1.7.29.dist-info}/entry_points.txt +0 -0
- {devsecops_engine_tools-1.7.27.dist-info → devsecops_engine_tools-1.7.29.dist-info}/top_level.txt +0 -0
|
@@ -36,7 +36,7 @@ class S3Manager(MetricsManagerGateway):
|
|
|
36
36
|
aws_session_token=temp_credentials["SessionToken"],
|
|
37
37
|
)
|
|
38
38
|
date = datetime.datetime.now()
|
|
39
|
-
path_bucket = f'{tool}/{date.strftime("%Y")}/{date.strftime("%m")}/{date.strftime("%d")}/{file_path.split("/")[-1]}'
|
|
39
|
+
path_bucket = f'engine_tools/{tool}/{date.strftime("%Y")}/{date.strftime("%m")}/{date.strftime("%d")}/{file_path.split("/")[-1]}'
|
|
40
40
|
|
|
41
41
|
data = self._get_s3_data(
|
|
42
42
|
client, config_tool["METRICS_MANAGER"]["AWS"]["BUCKET"], path_bucket
|
|
@@ -4,14 +4,23 @@ from devsecops_engine_tools.engine_sast.engine_iac.src.infrastructure.entry_poin
|
|
|
4
4
|
from devsecops_engine_tools.engine_sast.engine_iac.src.infrastructure.driven_adapters.checkov.checkov_tool import (
|
|
5
5
|
CheckovTool
|
|
6
6
|
)
|
|
7
|
+
from devsecops_engine_tools.engine_sast.engine_iac.src.infrastructure.driven_adapters.kubescape.kubescape_tool import (
|
|
8
|
+
KubescapeTool
|
|
9
|
+
)
|
|
7
10
|
|
|
8
11
|
|
|
9
12
|
def runner_engine_iac(dict_args, tool, secret_tool, devops_platform_gateway, env):
|
|
10
13
|
try:
|
|
11
14
|
# Define driven adapters for gateways
|
|
12
15
|
tool_gateway = None
|
|
13
|
-
|
|
14
|
-
|
|
16
|
+
|
|
17
|
+
tools = {
|
|
18
|
+
"CHECKOV": CheckovTool(),
|
|
19
|
+
"KUBESCAPE": KubescapeTool(),
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
if tool in tools:
|
|
23
|
+
tool_gateway = tools[tool]
|
|
15
24
|
|
|
16
25
|
return init_engine_sast_rm(
|
|
17
26
|
devops_platform_gateway=devops_platform_gateway,
|
|
File without changes
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
from devsecops_engine_tools.engine_core.src.domain.model.finding import (
|
|
2
|
+
Category,
|
|
3
|
+
Finding,
|
|
4
|
+
)
|
|
5
|
+
from datetime import datetime
|
|
6
|
+
from dataclasses import dataclass
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
@dataclass
|
|
10
|
+
class KubescapeDeserealizator:
|
|
11
|
+
def get_list_finding(self, results_scan_list: list) -> "list[Finding]":
|
|
12
|
+
list_open_findings = []
|
|
13
|
+
|
|
14
|
+
for result in results_scan_list:
|
|
15
|
+
finding_open = Finding(
|
|
16
|
+
id=result.get("id"),
|
|
17
|
+
cvss=None,
|
|
18
|
+
where=result.get("where"),
|
|
19
|
+
description=result.get("description"),
|
|
20
|
+
severity=result.get("severity").lower(),
|
|
21
|
+
identification_date=datetime.now().strftime("%d%m%Y"),
|
|
22
|
+
published_date_cve=None,
|
|
23
|
+
module="engine_iac",
|
|
24
|
+
category=Category.VULNERABILITY,
|
|
25
|
+
requirements=None,
|
|
26
|
+
tool="kubescape"
|
|
27
|
+
)
|
|
28
|
+
list_open_findings.append(finding_open)
|
|
29
|
+
|
|
30
|
+
return list_open_findings
|
|
31
|
+
|
|
32
|
+
def extract_failed_controls(self, data):
|
|
33
|
+
result_extracted_data = []
|
|
34
|
+
results = data.get("results", [])
|
|
35
|
+
resources = {resource.get("resourceID"): resource for resource in data.get("resources", [])}
|
|
36
|
+
frameworks = data.get("summaryDetails", {}).get("frameworks", [])
|
|
37
|
+
|
|
38
|
+
for result in results:
|
|
39
|
+
resource_id = result.get("resourceID")
|
|
40
|
+
controls = result.get("controls", [])
|
|
41
|
+
|
|
42
|
+
for control in controls:
|
|
43
|
+
if control.get("status", {}).get("status") == "failed":
|
|
44
|
+
control_id = control.get("controlID")
|
|
45
|
+
name = control.get("name")
|
|
46
|
+
resource = resources.get(resource_id)
|
|
47
|
+
|
|
48
|
+
if resource:
|
|
49
|
+
relative_path = resource.get("source", {}).get("path", "").replace("\\", "/")
|
|
50
|
+
severity_score = self.get_severity_score(frameworks, control_id)
|
|
51
|
+
|
|
52
|
+
result_extracted_data.append({
|
|
53
|
+
"id": control_id,
|
|
54
|
+
"description": name,
|
|
55
|
+
"where": relative_path,
|
|
56
|
+
"severity": severity_score
|
|
57
|
+
})
|
|
58
|
+
|
|
59
|
+
return result_extracted_data
|
|
60
|
+
|
|
61
|
+
def get_severity_score(self, frameworks, control_id):
|
|
62
|
+
classifications = {
|
|
63
|
+
(0.0, 0.0): "none",
|
|
64
|
+
(0.1, 3.9): "low",
|
|
65
|
+
(4.0, 6.9): "medium",
|
|
66
|
+
(7.0, 8.9): "high",
|
|
67
|
+
(9.0, 10.0): "critical"
|
|
68
|
+
}
|
|
69
|
+
for framework in frameworks:
|
|
70
|
+
control_object = framework.get("controls", {}).get(control_id, {})
|
|
71
|
+
if control_object:
|
|
72
|
+
for range_tuple, classification in classifications.items():
|
|
73
|
+
if range_tuple[0] <= control_object.get("scoreFactor", 0.0) <= range_tuple[1]:
|
|
74
|
+
return classification
|
|
75
|
+
return None
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import json
|
|
2
|
+
import subprocess
|
|
3
|
+
import platform
|
|
4
|
+
import requests
|
|
5
|
+
import distro
|
|
6
|
+
import os
|
|
7
|
+
from devsecops_engine_tools.engine_sast.engine_iac.src.domain.model.gateways.tool_gateway import (
|
|
8
|
+
ToolGateway,
|
|
9
|
+
)
|
|
10
|
+
from devsecops_engine_tools.engine_sast.engine_iac.src.domain.model.config_tool import (
|
|
11
|
+
ConfigTool,
|
|
12
|
+
)
|
|
13
|
+
from devsecops_engine_tools.engine_sast.engine_iac.src.infrastructure.driven_adapters.kubescape.kubescape_deserealizator import (
|
|
14
|
+
KubescapeDeserealizator,
|
|
15
|
+
)
|
|
16
|
+
from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
|
|
17
|
+
from devsecops_engine_tools.engine_utilities import settings
|
|
18
|
+
|
|
19
|
+
logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class KubescapeTool(ToolGateway):
|
|
23
|
+
|
|
24
|
+
def download_tool(self, file, url):
|
|
25
|
+
try:
|
|
26
|
+
response = requests.get(url, allow_redirects=True)
|
|
27
|
+
with open(file, "wb") as binary_file:
|
|
28
|
+
binary_file.write(response.content)
|
|
29
|
+
except Exception as e:
|
|
30
|
+
logger.error(f"Error downloading Kubescape: {e}")
|
|
31
|
+
|
|
32
|
+
def install_tool(self, file, url):
|
|
33
|
+
installed = subprocess.run(
|
|
34
|
+
["which", f"./{file}"],
|
|
35
|
+
stdout=subprocess.PIPE,
|
|
36
|
+
stderr=subprocess.PIPE,
|
|
37
|
+
)
|
|
38
|
+
if installed.returncode == 1:
|
|
39
|
+
try:
|
|
40
|
+
self.download_tool(file, url)
|
|
41
|
+
subprocess.run(["chmod", "+x", f"./{file}"])
|
|
42
|
+
|
|
43
|
+
except Exception as e:
|
|
44
|
+
logger.error(f"Error installing Kubescape: {e}")
|
|
45
|
+
|
|
46
|
+
def install_tool_windows(self, file, url):
|
|
47
|
+
try:
|
|
48
|
+
subprocess.run(
|
|
49
|
+
[f"./{file}", "version"],
|
|
50
|
+
stdout=subprocess.PIPE,
|
|
51
|
+
stderr=subprocess.PIPE,
|
|
52
|
+
)
|
|
53
|
+
except:
|
|
54
|
+
try:
|
|
55
|
+
self.download_tool(file, url)
|
|
56
|
+
|
|
57
|
+
except Exception as e:
|
|
58
|
+
logger.error(f"Error installing Kubescape: {e}")
|
|
59
|
+
|
|
60
|
+
def execute_kubescape(self, folders_to_scan, prefix):
|
|
61
|
+
command = [prefix, "scan"] + folders_to_scan + ["--format", "json", "--format-version", "v2", "--output",
|
|
62
|
+
"results_kubescape.json", "-v"]
|
|
63
|
+
try:
|
|
64
|
+
subprocess.run(command, capture_output=True)
|
|
65
|
+
except subprocess.CalledProcessError as e:
|
|
66
|
+
logger.error(f"Error during Kubescape execution: {e}")
|
|
67
|
+
|
|
68
|
+
def load_json(self, json_name):
|
|
69
|
+
try:
|
|
70
|
+
with open(json_name) as file:
|
|
71
|
+
return json.load(file)
|
|
72
|
+
except FileNotFoundError:
|
|
73
|
+
logger.error(f"The file {json_name} does not exist.")
|
|
74
|
+
except json.JSONDecodeError:
|
|
75
|
+
logger.error("The JSON result is empty.")
|
|
76
|
+
return None
|
|
77
|
+
|
|
78
|
+
def select_operative_system(self, os_platform, folders_to_scan, base_url):
|
|
79
|
+
if os_platform == "Linux":
|
|
80
|
+
distro_name = distro.name()
|
|
81
|
+
if distro_name == "Ubuntu":
|
|
82
|
+
file = "kubescape-ubuntu-latest"
|
|
83
|
+
self.install_tool(file, base_url + file)
|
|
84
|
+
command_prefix = f"./{file}"
|
|
85
|
+
else:
|
|
86
|
+
logger.warning(f"{distro_name} is not supported.")
|
|
87
|
+
return None
|
|
88
|
+
elif os_platform == "Windows":
|
|
89
|
+
file = "kubescape-windows-latest.exe"
|
|
90
|
+
self.install_tool_windows(file, base_url + file)
|
|
91
|
+
command_prefix = f"./{file}"
|
|
92
|
+
elif os_platform == "Darwin":
|
|
93
|
+
file = "kubescape-macos-latest"
|
|
94
|
+
self.install_tool(file, base_url + file)
|
|
95
|
+
command_prefix = f"./{file}"
|
|
96
|
+
else:
|
|
97
|
+
logger.warning(f"{os_platform} is not supported.")
|
|
98
|
+
return [], None
|
|
99
|
+
|
|
100
|
+
self.execute_kubescape(folders_to_scan, command_prefix)
|
|
101
|
+
|
|
102
|
+
def run_tool(self, config_tool: ConfigTool, folders_to_scan, environment, platform_to_scan, secret_tool):
|
|
103
|
+
|
|
104
|
+
if folders_to_scan and "k8s" in platform_to_scan:
|
|
105
|
+
|
|
106
|
+
kubescape_version = config_tool.version
|
|
107
|
+
os_platform = platform.system()
|
|
108
|
+
base_url = f"https://github.com/kubescape/kubescape/releases/download/v{kubescape_version}/"
|
|
109
|
+
self.select_operative_system(os_platform, folders_to_scan, base_url)
|
|
110
|
+
|
|
111
|
+
json_name = "results_kubescape.json"
|
|
112
|
+
data = self.load_json(json_name)
|
|
113
|
+
|
|
114
|
+
if not data:
|
|
115
|
+
return [], None
|
|
116
|
+
else:
|
|
117
|
+
kubescape_deserealizator = KubescapeDeserealizator()
|
|
118
|
+
result_extracted_data = kubescape_deserealizator.extract_failed_controls(data)
|
|
119
|
+
finding_list = kubescape_deserealizator.get_list_finding(result_extracted_data)
|
|
120
|
+
path_results = os.path.abspath(json_name)
|
|
121
|
+
return finding_list, path_results
|
|
122
|
+
else:
|
|
123
|
+
return [], None
|
|
@@ -1 +1 @@
|
|
|
1
|
-
version = '1.7.
|
|
1
|
+
version = '1.7.29'
|
{devsecops_engine_tools-1.7.27.dist-info → devsecops_engine_tools-1.7.29.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: devsecops-engine-tools
|
|
3
|
-
Version: 1.7.
|
|
3
|
+
Version: 1.7.29
|
|
4
4
|
Summary: Tool for DevSecOps strategy
|
|
5
5
|
Home-page: https://github.com/bancolombia/devsecops-engine-tools
|
|
6
6
|
Author: Bancolombia DevSecOps Team
|
|
@@ -64,7 +64,7 @@ pip3 install devsecops-engine-tools
|
|
|
64
64
|
### Scan running - flags (CLI)
|
|
65
65
|
|
|
66
66
|
```bash
|
|
67
|
-
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 ["
|
|
67
|
+
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"]
|
|
68
68
|
```
|
|
69
69
|
|
|
70
70
|
### Structure Remote Config
|
|
@@ -87,6 +87,51 @@ devsecops-engine-tools --platform_devops ["local","azure","github"] --remote_con
|
|
|
87
87
|
┃ ┗ 📜ConfigTool.json
|
|
88
88
|
┃ ┗ 📜Exclusions.json
|
|
89
89
|
```
|
|
90
|
+
|
|
91
|
+
#### Tools available for the modules (Configuration engine_core/ConfigTool.json)
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
<table>
|
|
95
|
+
<tr>
|
|
96
|
+
<th>Module</th>
|
|
97
|
+
<th>Tool</th>
|
|
98
|
+
<th>Type</th>
|
|
99
|
+
</tr>
|
|
100
|
+
<tr>
|
|
101
|
+
<td rowspan="2">ENGINE_IAC</td>
|
|
102
|
+
<td><a href="https://www.checkov.io/">CHECKOV</a></td>
|
|
103
|
+
<td>Free</td>
|
|
104
|
+
</tr>
|
|
105
|
+
<tr>
|
|
106
|
+
<td><a href="https://kubescape.io/">KUBESCAPE</a></td>
|
|
107
|
+
<td>Free</td>
|
|
108
|
+
</tr>
|
|
109
|
+
<tr>
|
|
110
|
+
<td>ENGINE_DAST</td>
|
|
111
|
+
<td><a href="https://projectdiscovery.io/nuclei">NUCLEI</a></td>
|
|
112
|
+
<td>Free</td>
|
|
113
|
+
</tr>
|
|
114
|
+
<tr>
|
|
115
|
+
<td>ENGINE_SECRET</td>
|
|
116
|
+
<td><a href="https://trufflesecurity.com/trufflehog">TRUFFLEHOG</a></td>
|
|
117
|
+
<td>Free</td>
|
|
118
|
+
</tr>
|
|
119
|
+
<tr>
|
|
120
|
+
<td rowspan="2">ENGINE_CONTAINER</td>
|
|
121
|
+
<td><a href="https://www.paloaltonetworks.com/prisma/cloud">PRISMA</a></td>
|
|
122
|
+
<td>Paid</td>
|
|
123
|
+
</tr>
|
|
124
|
+
<tr>
|
|
125
|
+
<td><a href="https://trivy.dev/">TRIVY</a></td>
|
|
126
|
+
<td>Free</td>
|
|
127
|
+
</tr>
|
|
128
|
+
<tr>
|
|
129
|
+
<td>ENGINE_DEPENDENCIES</td>
|
|
130
|
+
<td><a href="https://jfrog.com/help/r/get-started-with-the-jfrog-platform/jfrog-xray">XRAY</a></td>
|
|
131
|
+
<td>Paid</td>
|
|
132
|
+
</tr>
|
|
133
|
+
</table>
|
|
134
|
+
|
|
90
135
|
### Scan running sample (CLI) - Local
|
|
91
136
|
|
|
92
137
|
> Complete the value in **.envdetlocal** file a set in execution environment
|
|
@@ -114,8 +159,3 @@ With the flag **--send_metrics true** and the configuration of the AWS-METRICS_M
|
|
|
114
159
|
# How can I help?
|
|
115
160
|
|
|
116
161
|
Review the issues, we hear new ideas. Read more [Contributing](https://github.com/bancolombia/devsecops-engine-tools/blob/trunk/docs/CONTRIBUTING.md)
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
devsecops_engine_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
devsecops_engine_tools/version.py,sha256=
|
|
2
|
+
devsecops_engine_tools/version.py,sha256=1ZRQMXakbKgdqgC-xNRAgwTBDcQ7kv9IvKeDbDzIzfw,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
|
|
@@ -31,7 +31,7 @@ devsecops_engine_tools/engine_core/src/domain/usecases/metrics_manager.py,sha256
|
|
|
31
31
|
devsecops_engine_tools/engine_core/src/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
32
32
|
devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
33
33
|
devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
34
|
-
devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/s3_manager.py,sha256
|
|
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
37
|
devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/azure_devops.py,sha256=Ot1j5my-iEpU-ZYy9yNXkwmwLOmJ3f95JyyAUcpFN5g,4967
|
|
@@ -81,7 +81,7 @@ devsecops_engine_tools/engine_sast/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQe
|
|
|
81
81
|
devsecops_engine_tools/engine_sast/engine_iac/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
82
82
|
devsecops_engine_tools/engine_sast/engine_iac/src/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
83
83
|
devsecops_engine_tools/engine_sast/engine_iac/src/applications/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
84
|
-
devsecops_engine_tools/engine_sast/engine_iac/src/applications/runner_iac_scan.py,sha256=
|
|
84
|
+
devsecops_engine_tools/engine_sast/engine_iac/src/applications/runner_iac_scan.py,sha256=6iHwgOQLu3rXyyQrlt7gxAsfOlLwupvyum7ejziX-dg,1151
|
|
85
85
|
devsecops_engine_tools/engine_sast/engine_iac/src/deployment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
86
86
|
devsecops_engine_tools/engine_sast/engine_iac/src/deployment/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
87
87
|
devsecops_engine_tools/engine_sast/engine_iac/src/domain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -97,10 +97,13 @@ devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters
|
|
|
97
97
|
devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_config.py,sha256=qbE6wUO5_WFXF_QolL0JYelaRGEOUakPEZR_6HAKzzI,4355
|
|
98
98
|
devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_deserealizator.py,sha256=gBwnQ20QExHTrN1nvErUUqb_IMHvYKJijqc55XwZHQk,1404
|
|
99
99
|
devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_tool.py,sha256=ddPjhbOe2w-kQmiBLP6udBPmXZhVZqQLwOEdgvt1r1s,7664
|
|
100
|
+
devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
101
|
+
devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_deserealizator.py,sha256=i-hKFmR-OriwiiBg-3E3RKc7hjI1E8jv8Z7dQ8_Q0qE,2885
|
|
102
|
+
devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_tool.py,sha256=wcornvTaU5o2MtZj_KkgWvNABW2rCd08sZkaMbbZoTI,4707
|
|
100
103
|
devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
101
104
|
devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/entry_point_tool.py,sha256=60iaHYZZp5uTngD7a8vsQaQYsTfBzP_kp0xflfPNnk4,305
|
|
102
105
|
devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
103
|
-
devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/file_generator_tool.py,sha256=
|
|
106
|
+
devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/file_generator_tool.py,sha256=stC0z4e20DGRAjKMp7q7cYSYkEXssvnSeGEB0xhbXSo,3084
|
|
104
107
|
devsecops_engine_tools/engine_sast/engine_secret/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
105
108
|
devsecops_engine_tools/engine_sast/engine_secret/src/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
106
109
|
devsecops_engine_tools/engine_sast/engine_secret/src/applications/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -244,8 +247,8 @@ devsecops_engine_tools/engine_utilities/utils/logger_info.py,sha256=4Mz8Bwlm9Mku
|
|
|
244
247
|
devsecops_engine_tools/engine_utilities/utils/name_conversion.py,sha256=ADJrRGaxYSDe0ZRh6VHRf53H4sXPcb-vNP_i81PUn3I,307
|
|
245
248
|
devsecops_engine_tools/engine_utilities/utils/printers.py,sha256=GAslbWaBpwP3mP6fBsgVl07TTBgcCggQTy8h2M9ibeo,612
|
|
246
249
|
devsecops_engine_tools/engine_utilities/utils/session_manager.py,sha256=yNtlT-8Legz1sHbGPH8LNYjL-LgDUE0zXG2rYjiab7U,290
|
|
247
|
-
devsecops_engine_tools-1.7.
|
|
248
|
-
devsecops_engine_tools-1.7.
|
|
249
|
-
devsecops_engine_tools-1.7.
|
|
250
|
-
devsecops_engine_tools-1.7.
|
|
251
|
-
devsecops_engine_tools-1.7.
|
|
250
|
+
devsecops_engine_tools-1.7.29.dist-info/METADATA,sha256=vUeXrSsQrFqqYsv9W4qKTyf9l6-sBll7JOd-yHDG2E0,5969
|
|
251
|
+
devsecops_engine_tools-1.7.29.dist-info/WHEEL,sha256=y4mX-SOX4fYIkonsAGA5N0Oy-8_gI4FXw5HNI1xqvWg,91
|
|
252
|
+
devsecops_engine_tools-1.7.29.dist-info/entry_points.txt,sha256=9IjXF_7Zpgowq_SY6OSmsA9vZze18a8_AeHwkQVrgKk,131
|
|
253
|
+
devsecops_engine_tools-1.7.29.dist-info/top_level.txt,sha256=ge6y0X_xBAU1aG3EMWFtl9djbVyg5BxuSp2r2Lg6EQU,23
|
|
254
|
+
devsecops_engine_tools-1.7.29.dist-info/RECORD,,
|
|
File without changes
|
{devsecops_engine_tools-1.7.27.dist-info → devsecops_engine_tools-1.7.29.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{devsecops_engine_tools-1.7.27.dist-info → devsecops_engine_tools-1.7.29.dist-info}/top_level.txt
RENAMED
|
File without changes
|