devsecops-engine-tools 1.64.0__py3-none-any.whl → 1.65.1__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/applications/runner_engine_core.py +1 -1
- devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/ContextDependencies.py +15 -0
- devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/tool_gateway.py +5 -1
- devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/dependencies_sca_scan.py +6 -1
- devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_deserialize.py +49 -20
- devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_tool.py +49 -0
- devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_manager_scan.py +54 -0
- devsecops_engine_tools/version.py +1 -1
- {devsecops_engine_tools-1.64.0.dist-info → devsecops_engine_tools-1.65.1.dist-info}/METADATA +2 -2
- {devsecops_engine_tools-1.64.0.dist-info → devsecops_engine_tools-1.65.1.dist-info}/RECORD +13 -12
- {devsecops_engine_tools-1.64.0.dist-info → devsecops_engine_tools-1.65.1.dist-info}/WHEEL +0 -0
- {devsecops_engine_tools-1.64.0.dist-info → devsecops_engine_tools-1.65.1.dist-info}/entry_points.txt +0 -0
- {devsecops_engine_tools-1.64.0.dist-info → devsecops_engine_tools-1.65.1.dist-info}/top_level.txt +0 -0
|
@@ -218,7 +218,7 @@ def get_inputs_from_cli(args):
|
|
|
218
218
|
type=str,
|
|
219
219
|
required=False,
|
|
220
220
|
default="false",
|
|
221
|
-
help="Enable or disable context creation. Applies
|
|
221
|
+
help="Enable or disable context creation. Applies to engine_iac, engine_container and engine_dependencies. Default is false."
|
|
222
222
|
)
|
|
223
223
|
|
|
224
224
|
TOOLS = {
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from dataclasses import dataclass
|
|
2
|
+
from typing import List, Optional
|
|
3
|
+
|
|
4
|
+
@dataclass
|
|
5
|
+
class ContextDependencies:
|
|
6
|
+
cve_id: List[str]
|
|
7
|
+
severity: str
|
|
8
|
+
component: str
|
|
9
|
+
package_name: str
|
|
10
|
+
installed_version: str
|
|
11
|
+
fixed_version: Optional[List[str]]
|
|
12
|
+
impact_paths: Optional[List[List[dict]]]
|
|
13
|
+
description: str
|
|
14
|
+
references: Optional[List[str]]
|
|
15
|
+
source_tool: str
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/tool_gateway.py
CHANGED
|
@@ -4,6 +4,10 @@ from abc import ABCMeta, abstractmethod
|
|
|
4
4
|
class ToolGateway(metaclass=ABCMeta):
|
|
5
5
|
@abstractmethod
|
|
6
6
|
def run_tool_dependencies_sca(
|
|
7
|
-
self, remote_config, dict_args,to_scan, secret_tool, token_engine_dependencies
|
|
7
|
+
self, remote_config, dict_args,to_scan, secret_tool, token_engine_dependencies, **kwargs
|
|
8
8
|
) -> str:
|
|
9
9
|
"run tool dependencies sca"
|
|
10
|
+
|
|
11
|
+
@abstractmethod
|
|
12
|
+
def get_dependencies_context_from_results(self, path_file_results, **kwargs) -> None:
|
|
13
|
+
"get_dependencies_context_from_results"
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/dependencies_sca_scan.py
CHANGED
|
@@ -39,7 +39,7 @@ class DependenciesScan:
|
|
|
39
39
|
|
|
40
40
|
Return: dict: SCA scanning results.
|
|
41
41
|
"""
|
|
42
|
-
|
|
42
|
+
dependencies_scanned = self.tool_run.run_tool_dependencies_sca(
|
|
43
43
|
self.remote_config,
|
|
44
44
|
self.dict_args,
|
|
45
45
|
self.exclusions,
|
|
@@ -50,6 +50,11 @@ class DependenciesScan:
|
|
|
50
50
|
build_id=self.build_id,
|
|
51
51
|
build_url=self.build_url
|
|
52
52
|
)
|
|
53
|
+
|
|
54
|
+
if self.dict_args.get("context") == "true":
|
|
55
|
+
self.tool_run.get_dependencies_context_from_results(dependencies_scanned, remote_config=self.remote_config)
|
|
56
|
+
|
|
57
|
+
return dependencies_scanned
|
|
53
58
|
|
|
54
59
|
def deserializator(self, dependencies_scanned):
|
|
55
60
|
"""
|
|
@@ -22,7 +22,6 @@ class DependencyCheckDeserialize(DeserializatorGateway):
|
|
|
22
22
|
|
|
23
23
|
def get_list_findings(self, dependencies_scanned_file, remote_config) -> "list[Finding]":
|
|
24
24
|
dependencies, namespace = self.filter_vulnerabilities_by_confidence(dependencies_scanned_file, remote_config)
|
|
25
|
-
|
|
26
25
|
list_open_vulnerabilities = []
|
|
27
26
|
|
|
28
27
|
for dependency in dependencies:
|
|
@@ -30,30 +29,21 @@ class DependencyCheckDeserialize(DeserializatorGateway):
|
|
|
30
29
|
if vulnerabilities_node:
|
|
31
30
|
vulnerabilities = vulnerabilities_node.findall('ns:vulnerability', namespace)
|
|
32
31
|
for vulnerability in vulnerabilities:
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
if
|
|
36
|
-
|
|
37
|
-
if len(software) > 0:
|
|
38
|
-
fix = software[0].get("versionEndExcluding", "Not found").lower()
|
|
39
|
-
|
|
40
|
-
id = vulnerability.find('ns:name', namespace).text[:28]
|
|
41
|
-
cvss = ", ".join(f"{child.tag.split('}')[-1]}: {child.text}" for child in vulnerability.find('ns:cvssV3', namespace)) if vulnerability.find('ns:cvssV3', namespace) else ""
|
|
42
|
-
where = self.get_where(dependency, namespace)
|
|
43
|
-
description = vulnerability.find('ns:description', namespace).text if vulnerability.find('ns:description', namespace).text else ""
|
|
44
|
-
severity = vulnerability.find('ns:severity', namespace).text.lower()
|
|
45
|
-
|
|
32
|
+
data = self.extract_common_vuln_data(vulnerability, dependency, namespace)
|
|
33
|
+
cvss_node = vulnerability.find('ns:cvssV3', namespace)
|
|
34
|
+
cvss = ", ".join(f"{child.tag.split('}')[-1]}: {child.text}" for child in cvss_node) if cvss_node else ""
|
|
35
|
+
|
|
46
36
|
finding_open = Finding(
|
|
47
|
-
id=id,
|
|
37
|
+
id=data["id"],
|
|
48
38
|
cvss=cvss,
|
|
49
|
-
where=where,
|
|
50
|
-
description=description[:120].replace("\n\n", " ").replace("\n", " ").strip() if
|
|
51
|
-
severity=severity,
|
|
39
|
+
where=data["where"],
|
|
40
|
+
description=data["description"][:120].replace("\n\n", " ").replace("\n", " ").strip() if data["description"] else "No description available",
|
|
41
|
+
severity=data["severity"],
|
|
52
42
|
identification_date=datetime.now().strftime("%d%m%Y"),
|
|
53
43
|
published_date_cve=None,
|
|
54
44
|
module="engine_dependencies",
|
|
55
45
|
category=Category.VULNERABILITY,
|
|
56
|
-
requirements=fix,
|
|
46
|
+
requirements=data["fix"] or "Not found",
|
|
57
47
|
tool="DEPENDENCY_CHECK",
|
|
58
48
|
)
|
|
59
49
|
list_open_vulnerabilities.append(finding_open)
|
|
@@ -169,4 +159,43 @@ class DependencyCheckDeserialize(DeserializatorGateway):
|
|
|
169
159
|
|
|
170
160
|
return f"{component_name}:{component_version}"
|
|
171
161
|
|
|
172
|
-
return ""
|
|
162
|
+
return ""
|
|
163
|
+
|
|
164
|
+
def extract_fix_version(self, vulnerability, namespace):
|
|
165
|
+
fix = "Not found"
|
|
166
|
+
vulnerable_software = vulnerability.find('ns:vulnerableSoftware', namespace)
|
|
167
|
+
if vulnerable_software:
|
|
168
|
+
software = vulnerable_software.findall('ns:software', namespace)
|
|
169
|
+
if software:
|
|
170
|
+
fix = software[0].get("versionEndExcluding", "Not found").lower()
|
|
171
|
+
return fix if fix != "Not found" else None
|
|
172
|
+
|
|
173
|
+
def extract_common_vuln_data(self, vulnerability, dependency, namespace):
|
|
174
|
+
fix = self.extract_fix_version(vulnerability, namespace)
|
|
175
|
+
id = vulnerability.find('ns:name', namespace).text[:28]
|
|
176
|
+
|
|
177
|
+
where = self.get_where(dependency, namespace)
|
|
178
|
+
|
|
179
|
+
description = vulnerability.find('ns:description', namespace)
|
|
180
|
+
description_text = description.text if description is not None and description.text else ""
|
|
181
|
+
|
|
182
|
+
severity = vulnerability.find('ns:severity', namespace).text.lower()
|
|
183
|
+
|
|
184
|
+
return {
|
|
185
|
+
"id": id,
|
|
186
|
+
"fix": fix,
|
|
187
|
+
"where": where,
|
|
188
|
+
"description": description_text,
|
|
189
|
+
"severity": severity
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
def extract_references(self, vulnerability, namespace):
|
|
193
|
+
references_list = []
|
|
194
|
+
references_node = vulnerability.find('ns:references', namespace)
|
|
195
|
+
if references_node:
|
|
196
|
+
references = references_node.findall('ns:reference', namespace)
|
|
197
|
+
for ref in references:
|
|
198
|
+
url = ref.find('ns:url', namespace).text
|
|
199
|
+
if url:
|
|
200
|
+
references_list.append(url)
|
|
201
|
+
return list(set(references_list))
|
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
from devsecops_engine_tools.engine_sca.engine_dependencies.src.domain.model.gateways.tool_gateway import (
|
|
2
2
|
ToolGateway,
|
|
3
3
|
)
|
|
4
|
+
from devsecops_engine_tools.engine_sca.engine_dependencies.src.infrastructure.driven_adapters.dependency_check.dependency_check_deserialize import (
|
|
5
|
+
DependencyCheckDeserialize,
|
|
6
|
+
)
|
|
7
|
+
from devsecops_engine_tools.engine_sca.engine_dependencies.src.domain.model.ContextDependencies import (
|
|
8
|
+
ContextDependencies,
|
|
9
|
+
)
|
|
4
10
|
|
|
5
11
|
import requests
|
|
6
12
|
import subprocess
|
|
7
13
|
import os
|
|
8
14
|
import platform
|
|
9
15
|
import shutil
|
|
16
|
+
from dataclasses import asdict
|
|
17
|
+
import json
|
|
10
18
|
|
|
11
19
|
from devsecops_engine_tools.engine_utilities.utils.utils import Utils
|
|
12
20
|
from devsecops_engine_tools.engine_sca.engine_dependencies.src.infrastructure.helpers.get_artifacts import (
|
|
@@ -144,3 +152,44 @@ class DependencyCheckTool(ToolGateway):
|
|
|
144
152
|
command_prefix = self.select_operative_system(cli_version)
|
|
145
153
|
self.scan_dependencies(command_prefix, to_scan, token_engine_dependencies)
|
|
146
154
|
return self.search_result()
|
|
155
|
+
|
|
156
|
+
def get_dependencies_context_from_results(self, path_file_results, remote_config):
|
|
157
|
+
deserializer = DependencyCheckDeserialize()
|
|
158
|
+
dependencies, namespace = deserializer.filter_vulnerabilities_by_confidence(path_file_results, remote_config)
|
|
159
|
+
context_dependencies_list = []
|
|
160
|
+
|
|
161
|
+
for dependency in dependencies:
|
|
162
|
+
vulnerabilities_node = dependency.find('ns:vulnerabilities', namespace)
|
|
163
|
+
if vulnerabilities_node:
|
|
164
|
+
vulnerabilities = vulnerabilities_node.findall('ns:vulnerability', namespace)
|
|
165
|
+
for vulnerability in vulnerabilities:
|
|
166
|
+
data = deserializer.extract_common_vuln_data(vulnerability, dependency, namespace)
|
|
167
|
+
references = deserializer.extract_references(vulnerability, namespace)
|
|
168
|
+
|
|
169
|
+
context = ContextDependencies(
|
|
170
|
+
cve_id=data["id"],
|
|
171
|
+
severity=data["severity"],
|
|
172
|
+
component=data["where"],
|
|
173
|
+
package_name=data["where"].split(":")[0] if data["where"] else "",
|
|
174
|
+
installed_version=data["where"].split(":")[2].lower() if len(data["where"].split(":")) == 3 else data["where"].split(":")[1].lower(),
|
|
175
|
+
fixed_version=[data["fix"]] if data["fix"] else [],
|
|
176
|
+
impact_paths=[],
|
|
177
|
+
description=data["description"],
|
|
178
|
+
references=references,
|
|
179
|
+
source_tool="Dependency Check"
|
|
180
|
+
)
|
|
181
|
+
context_dependencies_list.append(context)
|
|
182
|
+
|
|
183
|
+
print("===== BEGIN CONTEXT OUTPUT =====")
|
|
184
|
+
print(
|
|
185
|
+
json.dumps(
|
|
186
|
+
{
|
|
187
|
+
"dependencies_context": [
|
|
188
|
+
asdict(context) for context in context_dependencies_list
|
|
189
|
+
]
|
|
190
|
+
},
|
|
191
|
+
indent=4,
|
|
192
|
+
)
|
|
193
|
+
)
|
|
194
|
+
print("===== END CONTEXT OUTPUT =====")
|
|
195
|
+
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
from devsecops_engine_tools.engine_sca.engine_dependencies.src.domain.model.gateways.tool_gateway import (
|
|
2
2
|
ToolGateway,
|
|
3
3
|
)
|
|
4
|
+
from devsecops_engine_tools.engine_sca.engine_dependencies.src.domain.model.ContextDependencies import (
|
|
5
|
+
ContextDependencies,
|
|
6
|
+
)
|
|
4
7
|
|
|
5
8
|
import subprocess
|
|
6
9
|
import platform
|
|
@@ -8,6 +11,7 @@ import requests
|
|
|
8
11
|
import re
|
|
9
12
|
import os
|
|
10
13
|
import json
|
|
14
|
+
from dataclasses import asdict, dataclass
|
|
11
15
|
|
|
12
16
|
from devsecops_engine_tools.engine_sca.engine_dependencies.src.infrastructure.helpers.get_artifacts import (
|
|
13
17
|
GetArtifacts,
|
|
@@ -231,3 +235,53 @@ class XrayScan(ToolGateway):
|
|
|
231
235
|
)
|
|
232
236
|
|
|
233
237
|
return results_file
|
|
238
|
+
|
|
239
|
+
def get_dependencies_context_from_results(self, path_file_results, remote_config):
|
|
240
|
+
with open(path_file_results, "r") as file:
|
|
241
|
+
scan_results = json.load(file)
|
|
242
|
+
context_dependencies_list = []
|
|
243
|
+
|
|
244
|
+
for scan in scan_results:
|
|
245
|
+
vulnerabilities = scan.get("vulnerabilities", [])
|
|
246
|
+
for finding in vulnerabilities:
|
|
247
|
+
cve_ids = [cve.get("cve") for cve in finding.get("cves", []) if cve.get("cve")]
|
|
248
|
+
description = finding.get("summary", "")
|
|
249
|
+
severity = finding.get("severity", "unknown").lower()
|
|
250
|
+
references = finding.get("references", [])
|
|
251
|
+
components = finding.get("components", {})
|
|
252
|
+
component_list = list(components.keys()) if components else []
|
|
253
|
+
for pkg_id, comp_data in components.items():
|
|
254
|
+
fixed_version = comp_data.get("fixed_versions", [])
|
|
255
|
+
impact_paths = comp_data.get("impact_paths", [])
|
|
256
|
+
package_name = ""
|
|
257
|
+
installed_version = ""
|
|
258
|
+
if ":" in pkg_id:
|
|
259
|
+
parts = pkg_id.split(":")
|
|
260
|
+
package_name = parts[-2].replace("//", "")
|
|
261
|
+
installed_version = parts[-1]
|
|
262
|
+
context = ContextDependencies(
|
|
263
|
+
cve_id=cve_ids,
|
|
264
|
+
severity=severity,
|
|
265
|
+
component=pkg_id,
|
|
266
|
+
package_name=package_name,
|
|
267
|
+
installed_version=installed_version,
|
|
268
|
+
fixed_version=fixed_version,
|
|
269
|
+
impact_paths=impact_paths,
|
|
270
|
+
description=description,
|
|
271
|
+
references=references,
|
|
272
|
+
source_tool="Jfrog Xray"
|
|
273
|
+
)
|
|
274
|
+
context_dependencies_list.append(context)
|
|
275
|
+
|
|
276
|
+
print("===== BEGIN CONTEXT OUTPUT =====")
|
|
277
|
+
print(
|
|
278
|
+
json.dumps(
|
|
279
|
+
{
|
|
280
|
+
"dependencies_context": [
|
|
281
|
+
asdict(context) for context in context_dependencies_list
|
|
282
|
+
]
|
|
283
|
+
},
|
|
284
|
+
indent=4,
|
|
285
|
+
)
|
|
286
|
+
)
|
|
287
|
+
print("===== END CONTEXT OUTPUT =====")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
version = '1.
|
|
1
|
+
version = '1.65.1'
|
{devsecops_engine_tools-1.64.0.dist-info → devsecops_engine_tools-1.65.1.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: devsecops-engine-tools
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.65.1
|
|
4
4
|
Summary: Tool for DevSecOps strategy
|
|
5
5
|
Home-page: https://github.com/bancolombia/devsecops-engine-tools
|
|
6
6
|
Author: Bancolombia DevSecOps Team
|
|
@@ -76,7 +76,7 @@ pip3 install devsecops-engine-tools
|
|
|
76
76
|
### Scan running - flags (CLI)
|
|
77
77
|
|
|
78
78
|
```bash
|
|
79
|
-
devsecops-engine-tools --platform_devops ["local","azure","github"] --remote_config_source ["local","azure","github"] --remote_config_repo ["remote_config_repo"] --remote_config_branch ["remote_config_branch"] --module ["engine_iac", "engine_dast", "engine_secret", "engine_dependencies", "engine_container", "engine_risk", "engine_code"] --tool ["nuclei", "bearer", "checkov", "kics", "kubescape", "trufflehog", "gitleaks", "prisma", "trivy", "xray", "dependency_check"] --folder_path ["Folder path scan engine_iac, engine_code, engine_dependencies and engine_secret"] --platform ["k8s","cloudformation","docker", "openapi", "terraform"] --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","build-scan"] --image_to_scan ["image_to_scan"] --dast_file_path ["dast_file_path"]
|
|
79
|
+
devsecops-engine-tools --platform_devops ["local","azure","github"] --remote_config_source ["local","azure","github"] --remote_config_repo ["remote_config_repo"] --remote_config_branch ["remote_config_branch"] --module ["engine_iac", "engine_dast", "engine_secret", "engine_dependencies", "engine_container", "engine_risk", "engine_code"] --tool ["nuclei", "bearer", "checkov", "kics", "kubescape", "trufflehog", "gitleaks", "prisma", "trivy", "xray", "dependency_check"] --folder_path ["Folder path scan engine_iac, engine_code, engine_dependencies and engine_secret"] --platform ["k8s","cloudformation","docker", "openapi", "terraform"] --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","build-scan"] --image_to_scan ["image_to_scan"] --dast_file_path ["dast_file_path"] --terraform_repo_root ["terraform_files_repo"]
|
|
80
80
|
```
|
|
81
81
|
|
|
82
82
|
### Structure Remote Config
|
|
@@ -1,9 +1,9 @@
|
|
|
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=VwUnLB5feHyLwQaDrvhcLZVJOLL3IxDlnzZIU8JnvHk,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=
|
|
6
|
+
devsecops_engine_tools/engine_core/src/applications/runner_engine_core.py,sha256=sacJDgi_oPUIWUfO6vrg1kDvjpbeLzfGHgqL3xwcGao,10586
|
|
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
|
|
@@ -226,22 +226,23 @@ devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/runner_de
|
|
|
226
226
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
227
227
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
228
228
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
229
|
+
devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/ContextDependencies.py,sha256=wm_QYNrAWePWsn6YXBtHRriIp1mfx2awuitzuBRwd5o,376
|
|
229
230
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
230
231
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
231
232
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/deserializator_gateway.py,sha256=A4WPW-cNMlitI7-P2L-W2hFUPvIU7Ejk6JxRJGATfwc,301
|
|
232
|
-
devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/tool_gateway.py,sha256=
|
|
233
|
+
devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/tool_gateway.py,sha256=78WSYsEzt4394FEURSBmwV1pBztlORXaePFQ6GOZGGk,444
|
|
233
234
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
234
|
-
devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/dependencies_sca_scan.py,sha256=
|
|
235
|
+
devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/dependencies_sca_scan.py,sha256=F8ro58O475MNwXN2QRvGqcdkYMYb6upeFl8PV6tc-dQ,1979
|
|
235
236
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/handle_remote_config_patterns.py,sha256=cTM8IQRZJBr5zG5nhCkTxuw2fCHDZ3wrPgQhRjG88pg,968
|
|
236
237
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/set_input_core.py,sha256=E3-ff4NcyIvPCN5xUV_d0Vh7k1OVXqbPrHzUPJBgmr0,2283
|
|
237
238
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
238
239
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
239
240
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
240
|
-
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_deserialize.py,sha256=
|
|
241
|
-
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_tool.py,sha256=
|
|
241
|
+
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_deserialize.py,sha256=yT8C4bGIMii8XE8wnJW0bv6NI2DP-fpvGZTnG5H7gSg,8875
|
|
242
|
+
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_tool.py,sha256=NMJAq4tgYg3iPeAu3ZnfTwa-tTnkwfZLFr_W_Bu1WeY,7240
|
|
242
243
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
243
244
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_deserialize_output.py,sha256=ZUk-e1PKzV7uRAT7BpET363pgl2eMnXMCGSpewsOpKg,2236
|
|
244
|
-
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_manager_scan.py,sha256=
|
|
245
|
+
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_manager_scan.py,sha256=Z69iiuMJBYViSsBjTza-n59-jlevI1ydEGpIwifPPWs,11528
|
|
245
246
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
246
247
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/entry_point_tool.py,sha256=t2nAJ86ZyL6nz_tdrcWZ3cf5pnXhJ_q1AfVAbNhcrSk,3772
|
|
247
248
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -351,8 +352,8 @@ devsecops_engine_tools/engine_utilities/utils/name_conversion.py,sha256=ADJrRGax
|
|
|
351
352
|
devsecops_engine_tools/engine_utilities/utils/printers.py,sha256=amYAr9YQfYgR6jK9a2l26z3oovFPQ3FAKmhq6BKhEBA,623
|
|
352
353
|
devsecops_engine_tools/engine_utilities/utils/session_manager.py,sha256=Z0fdhB3r-dxU0nGSD9zW_B4r2Qol1rUnUCkhFR0U-HQ,487
|
|
353
354
|
devsecops_engine_tools/engine_utilities/utils/utils.py,sha256=HCjS900TBoNcHrC4LaiP-Kf9frVdtagF130qOUgnO2M,6757
|
|
354
|
-
devsecops_engine_tools-1.
|
|
355
|
-
devsecops_engine_tools-1.
|
|
356
|
-
devsecops_engine_tools-1.
|
|
357
|
-
devsecops_engine_tools-1.
|
|
358
|
-
devsecops_engine_tools-1.
|
|
355
|
+
devsecops_engine_tools-1.65.1.dist-info/METADATA,sha256=w2Cr_quewdDW6M_2c3jOwMmb7xCG7dGEShfpUhBZvtw,12052
|
|
356
|
+
devsecops_engine_tools-1.65.1.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
|
|
357
|
+
devsecops_engine_tools-1.65.1.dist-info/entry_points.txt,sha256=MHCTFFs9bdNKo6YcWCcBW2_8X6yTisgLOlmVx-V8Rxc,276
|
|
358
|
+
devsecops_engine_tools-1.65.1.dist-info/top_level.txt,sha256=ge6y0X_xBAU1aG3EMWFtl9djbVyg5BxuSp2r2Lg6EQU,23
|
|
359
|
+
devsecops_engine_tools-1.65.1.dist-info/RECORD,,
|
|
File without changes
|
{devsecops_engine_tools-1.64.0.dist-info → devsecops_engine_tools-1.65.1.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{devsecops_engine_tools-1.64.0.dist-info → devsecops_engine_tools-1.65.1.dist-info}/top_level.txt
RENAMED
|
File without changes
|