devsecops-engine-tools 1.11.4__py3-none-any.whl → 1.12.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.
- devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_run.py +2 -2
- devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/runner_dependencies_scan.py +6 -8
- devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_deserialize.py +4 -3
- devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_tool.py +41 -11
- devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_manager_scan.py +16 -7
- devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/get_artifacts.py +4 -3
- devsecops_engine_tools/version.py +1 -1
- {devsecops_engine_tools-1.11.4.dist-info → devsecops_engine_tools-1.12.0.dist-info}/METADATA +1 -1
- {devsecops_engine_tools-1.11.4.dist-info → devsecops_engine_tools-1.12.0.dist-info}/RECORD +12 -12
- {devsecops_engine_tools-1.11.4.dist-info → devsecops_engine_tools-1.12.0.dist-info}/WHEEL +0 -0
- {devsecops_engine_tools-1.11.4.dist-info → devsecops_engine_tools-1.12.0.dist-info}/entry_points.txt +0 -0
- {devsecops_engine_tools-1.11.4.dist-info → devsecops_engine_tools-1.12.0.dist-info}/top_level.txt +0 -0
|
@@ -65,14 +65,14 @@ class TrufflehogRun(ToolGateway):
|
|
|
65
65
|
secret = None
|
|
66
66
|
|
|
67
67
|
if secret_tool is not None:
|
|
68
|
-
secret = secret_tool["github_token"] if "
|
|
68
|
+
secret = secret_tool["github_token"] if "github_token" in secret_tool else None
|
|
69
69
|
elif secret_external_checks is not None:
|
|
70
70
|
secret = secret_external_checks.split("github:")[1] if "github" in secret_external_checks else None
|
|
71
71
|
|
|
72
72
|
if enable_custom_rules == "true" and secret is not None:
|
|
73
73
|
self.configurate_external_checks(config_tool, secret)
|
|
74
74
|
else: #In case that remote config from tool is enable but in the args dont send any type of secrets. So dont modified command
|
|
75
|
-
enable_custom_rules
|
|
75
|
+
enable_custom_rules = "false"
|
|
76
76
|
|
|
77
77
|
with concurrent.futures.ThreadPoolExecutor(max_workers=config_tool.number_threads) as executor:
|
|
78
78
|
results = executor.map(
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/runner_dependencies_scan.py
CHANGED
|
@@ -15,24 +15,22 @@ from devsecops_engine_tools.engine_sca.engine_dependencies.src.infrastructure.en
|
|
|
15
15
|
)
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
def runner_engine_dependencies(
|
|
18
|
+
def runner_engine_dependencies(
|
|
19
|
+
dict_args, config_tool, secret_tool, devops_platform_gateway
|
|
20
|
+
):
|
|
19
21
|
try:
|
|
20
22
|
tools_mapping = {
|
|
21
|
-
"XRAY": {
|
|
22
|
-
"tool_run": XrayScan,
|
|
23
|
-
"tool_deserializator": XrayDeserializator
|
|
24
|
-
},
|
|
23
|
+
"XRAY": {"tool_run": XrayScan, "tool_deserializator": XrayDeserializator},
|
|
25
24
|
"DEPENDENCY_CHECK": {
|
|
26
25
|
"tool_run": DependencyCheckTool,
|
|
27
|
-
"tool_deserializator": DependencyCheckDeserialize
|
|
28
|
-
}
|
|
26
|
+
"tool_deserializator": DependencyCheckDeserialize,
|
|
27
|
+
},
|
|
29
28
|
}
|
|
30
29
|
|
|
31
30
|
selected_tool = config_tool["ENGINE_DEPENDENCIES"]["TOOL"]
|
|
32
31
|
tool_run = tools_mapping[selected_tool]["tool_run"]()
|
|
33
32
|
tool_deserializator = tools_mapping[selected_tool]["tool_deserializator"]()
|
|
34
33
|
|
|
35
|
-
|
|
36
34
|
return init_engine_dependencies(
|
|
37
35
|
tool_run,
|
|
38
36
|
devops_platform_gateway,
|
|
@@ -14,6 +14,7 @@ from devsecops_engine_tools.engine_utilities import settings
|
|
|
14
14
|
|
|
15
15
|
logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
|
|
16
16
|
|
|
17
|
+
|
|
17
18
|
@dataclass
|
|
18
19
|
class DependencyCheckDeserialize(DeserializatorGateway):
|
|
19
20
|
|
|
@@ -38,7 +39,7 @@ class DependencyCheckDeserialize(DeserializatorGateway):
|
|
|
38
39
|
finding_open = Finding(
|
|
39
40
|
id=vulnerability["name"][:20],
|
|
40
41
|
cvss=str(vulnerability.get("cvssv3", {})),
|
|
41
|
-
where=dependency.get("fileName").split(
|
|
42
|
+
where=dependency.get("fileName").split(":")[-1].strip(),
|
|
42
43
|
description=vulnerability["description"][:170].replace("\n\n", " "),
|
|
43
44
|
severity=vulnerability["severity"].lower(),
|
|
44
45
|
identification_date=datetime.now().strftime("%d%m%Y"),
|
|
@@ -46,12 +47,12 @@ class DependencyCheckDeserialize(DeserializatorGateway):
|
|
|
46
47
|
module="engine_dependencies",
|
|
47
48
|
category=Category.VULNERABILITY,
|
|
48
49
|
requirements=fix,
|
|
49
|
-
tool="DEPENDENCY_CHECK"
|
|
50
|
+
tool="DEPENDENCY_CHECK",
|
|
50
51
|
)
|
|
51
52
|
list_open_vulnerabilities.append(finding_open)
|
|
52
53
|
|
|
53
54
|
return list_open_vulnerabilities
|
|
54
|
-
|
|
55
|
+
|
|
55
56
|
def load_results(self, dependencies_scanned_file):
|
|
56
57
|
try:
|
|
57
58
|
with open(dependencies_scanned_file) as f:
|
|
@@ -9,7 +9,9 @@ import platform
|
|
|
9
9
|
import shutil
|
|
10
10
|
|
|
11
11
|
from devsecops_engine_tools.engine_utilities.utils.utils import Utils
|
|
12
|
-
from devsecops_engine_tools.engine_sca.engine_dependencies.src.infrastructure.helpers.get_artifacts import
|
|
12
|
+
from devsecops_engine_tools.engine_sca.engine_dependencies.src.infrastructure.helpers.get_artifacts import (
|
|
13
|
+
GetArtifacts,
|
|
14
|
+
)
|
|
13
15
|
from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
|
|
14
16
|
from devsecops_engine_tools.engine_utilities import settings
|
|
15
17
|
|
|
@@ -22,7 +24,9 @@ class DependencyCheckTool(ToolGateway):
|
|
|
22
24
|
url = f"https://github.com/jeremylong/DependencyCheck/releases/download/v{cli_version}/dependency-check-{cli_version}-release.zip"
|
|
23
25
|
response = requests.get(url, allow_redirects=True)
|
|
24
26
|
home_directory = os.path.expanduser("~")
|
|
25
|
-
zip_name = os.path.join(
|
|
27
|
+
zip_name = os.path.join(
|
|
28
|
+
home_directory, f"dependency_check_{cli_version}.zip"
|
|
29
|
+
)
|
|
26
30
|
with open(zip_name, "wb") as f:
|
|
27
31
|
f.write(response.content)
|
|
28
32
|
|
|
@@ -39,7 +43,9 @@ class DependencyCheckTool(ToolGateway):
|
|
|
39
43
|
return command_prefix
|
|
40
44
|
|
|
41
45
|
home_directory = os.path.expanduser("~")
|
|
42
|
-
bin_route = os.path.join(
|
|
46
|
+
bin_route = os.path.join(
|
|
47
|
+
home_directory, f"dependency-check/bin/{command_prefix}"
|
|
48
|
+
)
|
|
43
49
|
|
|
44
50
|
if shutil.which(bin_route):
|
|
45
51
|
return bin_route
|
|
@@ -50,18 +56,38 @@ class DependencyCheckTool(ToolGateway):
|
|
|
50
56
|
if os.path.exists(bin_route):
|
|
51
57
|
if not is_windows:
|
|
52
58
|
subprocess.run(["chmod", "+x", bin_route], check=True)
|
|
53
|
-
return bin_route
|
|
59
|
+
return bin_route
|
|
54
60
|
except Exception as e:
|
|
55
61
|
logger.error(f"Error installing OWASP dependency check: {e}")
|
|
56
62
|
return None
|
|
57
63
|
|
|
58
64
|
def scan_dependencies(self, command_prefix, file_to_scan, token):
|
|
59
65
|
try:
|
|
60
|
-
command = [
|
|
66
|
+
command = [
|
|
67
|
+
command_prefix,
|
|
68
|
+
"--format",
|
|
69
|
+
"JSON",
|
|
70
|
+
"--format",
|
|
71
|
+
"XML",
|
|
72
|
+
"--nvdApiKey",
|
|
73
|
+
token,
|
|
74
|
+
"--scan",
|
|
75
|
+
file_to_scan,
|
|
76
|
+
]
|
|
61
77
|
|
|
62
78
|
if not token:
|
|
63
|
-
print(
|
|
64
|
-
|
|
79
|
+
print(
|
|
80
|
+
"¡¡Remember!!, it is recommended to use the API key for faster vulnerability database downloads."
|
|
81
|
+
)
|
|
82
|
+
command = [
|
|
83
|
+
command_prefix,
|
|
84
|
+
"--format",
|
|
85
|
+
"JSON",
|
|
86
|
+
"--format",
|
|
87
|
+
"XML",
|
|
88
|
+
"--scan",
|
|
89
|
+
file_to_scan,
|
|
90
|
+
]
|
|
65
91
|
|
|
66
92
|
subprocess.run(command, capture_output=True, check=True)
|
|
67
93
|
except subprocess.CalledProcessError as error:
|
|
@@ -85,7 +111,7 @@ class DependencyCheckTool(ToolGateway):
|
|
|
85
111
|
except Exception as ex:
|
|
86
112
|
logger.error(f"An error ocurred search dependency-check results {ex}")
|
|
87
113
|
return None
|
|
88
|
-
|
|
114
|
+
|
|
89
115
|
def is_java_installed(self):
|
|
90
116
|
return shutil.which("java") is not None
|
|
91
117
|
|
|
@@ -97,17 +123,21 @@ class DependencyCheckTool(ToolGateway):
|
|
|
97
123
|
pipeline_name,
|
|
98
124
|
to_scan,
|
|
99
125
|
token,
|
|
100
|
-
token_engine_dependencies
|
|
126
|
+
token_engine_dependencies,
|
|
101
127
|
):
|
|
102
128
|
if not self.is_java_installed():
|
|
103
|
-
logger.error(
|
|
129
|
+
logger.error(
|
|
130
|
+
"Java is not installed, please install it to run dependency check"
|
|
131
|
+
)
|
|
104
132
|
return None
|
|
105
133
|
|
|
106
134
|
cli_version = remote_config["DEPENDENCY_CHECK"]["CLI_VERSION"]
|
|
107
135
|
|
|
108
136
|
get_artifacts = GetArtifacts()
|
|
109
137
|
|
|
110
|
-
pattern = get_artifacts.excluded_files(
|
|
138
|
+
pattern = get_artifacts.excluded_files(
|
|
139
|
+
remote_config, pipeline_name, exclusion, "DEPENDENCY_CHECK"
|
|
140
|
+
)
|
|
111
141
|
to_scan = get_artifacts.find_artifacts(
|
|
112
142
|
to_scan, pattern, remote_config["DEPENDENCY_CHECK"]["PACKAGES_TO_SCAN"]
|
|
113
143
|
)
|
|
@@ -9,7 +9,9 @@ import re
|
|
|
9
9
|
import os
|
|
10
10
|
import json
|
|
11
11
|
|
|
12
|
-
from devsecops_engine_tools.engine_sca.engine_dependencies.src.infrastructure.helpers.get_artifacts import
|
|
12
|
+
from devsecops_engine_tools.engine_sca.engine_dependencies.src.infrastructure.helpers.get_artifacts import (
|
|
13
|
+
GetArtifacts,
|
|
14
|
+
)
|
|
13
15
|
from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
|
|
14
16
|
from devsecops_engine_tools.engine_utilities import settings
|
|
15
17
|
|
|
@@ -99,7 +101,7 @@ class XrayScan(ToolGateway):
|
|
|
99
101
|
if os.path.exists(gradlew_path):
|
|
100
102
|
os.chmod(gradlew_path, 0o755)
|
|
101
103
|
|
|
102
|
-
def scan_dependencies(self, prefix, cwd, mode, to_scan):
|
|
104
|
+
def scan_dependencies(self, prefix, cwd, config, mode, to_scan):
|
|
103
105
|
command = [
|
|
104
106
|
prefix,
|
|
105
107
|
mode,
|
|
@@ -110,8 +112,7 @@ class XrayScan(ToolGateway):
|
|
|
110
112
|
command, cwd=cwd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True
|
|
111
113
|
)
|
|
112
114
|
if result.stdout or all(
|
|
113
|
-
word in result.stderr
|
|
114
|
-
for word in ["Technology", "WorkingDirectory", "Descriptors"]
|
|
115
|
+
word in result.stderr for word in config["XRAY"]["STDERR_EXPECTED_WORDS"]
|
|
115
116
|
):
|
|
116
117
|
if result.stdout:
|
|
117
118
|
scan_result = json.loads(result.stdout)
|
|
@@ -119,7 +120,12 @@ class XrayScan(ToolGateway):
|
|
|
119
120
|
scan_result = {}
|
|
120
121
|
if any(
|
|
121
122
|
word in result.stderr
|
|
122
|
-
for word in ["
|
|
123
|
+
for word in config["XRAY"]["STDERR_BREAK_ERRORS"]
|
|
124
|
+
):
|
|
125
|
+
raise Exception(f"Error executing Xray scan: {result.stderr}")
|
|
126
|
+
if any(
|
|
127
|
+
word in result.stderr
|
|
128
|
+
for word in config["XRAY"]["STDERR_ACCEPTED_ERRORS"]
|
|
123
129
|
):
|
|
124
130
|
logger.error(f"Error executing Xray scan: {result.stderr}")
|
|
125
131
|
return None
|
|
@@ -142,12 +148,14 @@ class XrayScan(ToolGateway):
|
|
|
142
148
|
pipeline_name,
|
|
143
149
|
to_scan,
|
|
144
150
|
secret_tool,
|
|
145
|
-
token_engine_dependencies
|
|
151
|
+
token_engine_dependencies,
|
|
146
152
|
):
|
|
147
153
|
token = secret_tool["token_xray"] if secret_tool else token_engine_dependencies
|
|
148
154
|
if dict_args["xray_mode"] == "scan":
|
|
149
155
|
get_artifacts = GetArtifacts()
|
|
150
|
-
pattern = get_artifacts.excluded_files(
|
|
156
|
+
pattern = get_artifacts.excluded_files(
|
|
157
|
+
remote_config, pipeline_name, exclusion, "XRAY"
|
|
158
|
+
)
|
|
151
159
|
to_scan = get_artifacts.find_artifacts(
|
|
152
160
|
to_scan, pattern, remote_config["XRAY"]["PACKAGES_TO_SCAN"]
|
|
153
161
|
)
|
|
@@ -180,6 +188,7 @@ class XrayScan(ToolGateway):
|
|
|
180
188
|
results_file = self.scan_dependencies(
|
|
181
189
|
command_prefix,
|
|
182
190
|
cwd,
|
|
191
|
+
remote_config,
|
|
183
192
|
dict_args["xray_mode"],
|
|
184
193
|
to_scan,
|
|
185
194
|
)
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/get_artifacts.py
CHANGED
|
@@ -9,6 +9,7 @@ from devsecops_engine_tools.engine_utilities import settings
|
|
|
9
9
|
|
|
10
10
|
logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
|
|
11
11
|
|
|
12
|
+
|
|
12
13
|
class GetArtifacts:
|
|
13
14
|
|
|
14
15
|
def excluded_files(self, remote_config, pipeline_name, exclusions, tool):
|
|
@@ -29,7 +30,7 @@ class GetArtifacts:
|
|
|
29
30
|
pattern = pattern2
|
|
30
31
|
|
|
31
32
|
return pattern
|
|
32
|
-
|
|
33
|
+
|
|
33
34
|
def find_packages(self, pattern, packages, working_dir):
|
|
34
35
|
packages_list = []
|
|
35
36
|
files_list = []
|
|
@@ -47,7 +48,7 @@ class GetArtifacts:
|
|
|
47
48
|
if extension_pattern.search(file):
|
|
48
49
|
files_list.append(os.path.join(root, file))
|
|
49
50
|
return packages_list, files_list
|
|
50
|
-
|
|
51
|
+
|
|
51
52
|
def compress_and_mv(self, tar_path, package):
|
|
52
53
|
try:
|
|
53
54
|
with tarfile.open(tar_path, "w") as tar:
|
|
@@ -65,7 +66,7 @@ class GetArtifacts:
|
|
|
65
66
|
target = os.path.join(dir_to_scan_path, os.path.basename(file))
|
|
66
67
|
shutil.copy2(file, target)
|
|
67
68
|
logger.debug(f"File to scan: {file}")
|
|
68
|
-
|
|
69
|
+
|
|
69
70
|
def find_artifacts(self, to_scan, pattern, packages):
|
|
70
71
|
dir_to_scan_path = os.path.join(to_scan, "dependencies_to_scan")
|
|
71
72
|
if os.path.exists(dir_to_scan_path):
|
|
@@ -1 +1 @@
|
|
|
1
|
-
version = '1.
|
|
1
|
+
version = '1.12.0'
|
|
@@ -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=_hM9gYjHieUUv92NWz7PuNTHTkGMFFY3PU1jjcd7tWM,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
|
|
@@ -153,7 +153,7 @@ devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/__init__.py,
|
|
|
153
153
|
devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
154
154
|
devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
155
155
|
devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_deserealizator.py,sha256=WpFFswOmP38cLvfZHCrPDiRtdwH86n1CqVNS3K4s6uA,1968
|
|
156
|
-
devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_run.py,sha256=
|
|
156
|
+
devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_run.py,sha256=8rLnIpvPeWNgujOO03q0GzjXhv_BAGicf7vyUqOe8jA,7157
|
|
157
157
|
devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
158
158
|
devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/entry_point_tool.py,sha256=TAEZ2HquyM_0ZWMh5_8-qE0OI5EMG0VfyOlypZswbLI,1019
|
|
159
159
|
devsecops_engine_tools/engine_sca/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -189,7 +189,7 @@ devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/helpers/__
|
|
|
189
189
|
devsecops_engine_tools/engine_sca/engine_dependencies/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
190
190
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
191
191
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
192
|
-
devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/runner_dependencies_scan.py,sha256=
|
|
192
|
+
devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/runner_dependencies_scan.py,sha256=cPJwdfJSunJFVoakr2WkiTZ8Topm6HLZx6ihwyRxwNo,1832
|
|
193
193
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
194
194
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
195
195
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -204,15 +204,15 @@ devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/set_in
|
|
|
204
204
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
205
205
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
206
206
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
207
|
-
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_deserialize.py,sha256=
|
|
208
|
-
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_tool.py,sha256=
|
|
207
|
+
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_deserialize.py,sha256=ihsWd10JnYmnhsm22KbND_GvBKGwAeEuPbiBe0Wx1kQ,2582
|
|
208
|
+
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_tool.py,sha256=a63ny6Jt8tZzcb7dS8Nes2DqOHs9oQuLFhzz7nEMhHQ,5059
|
|
209
209
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
210
210
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_deserialize_output.py,sha256=Vm0pj1i6a34xXouXUU95Y04hzR--9tcMQuycR7IMUnQ,2221
|
|
211
|
-
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_manager_scan.py,sha256=
|
|
211
|
+
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_manager_scan.py,sha256=u8SAtVuTqJ6o2B6jC-gMNG2Pn7a_bHWT_B1a_55iYZ4,7408
|
|
212
212
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
213
213
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/entry_point_tool.py,sha256=qau5EXjyvKuXkcDPxVdc5B4lhwqv6VhcSBsAjFjNlCM,2536
|
|
214
214
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
215
|
-
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/get_artifacts.py,sha256=
|
|
215
|
+
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/get_artifacts.py,sha256=KjRqQ3zxEq8MUNMW5LjS0EK2EIku3GWhSz9wUbDsZz0,4005
|
|
216
216
|
devsecops_engine_tools/engine_utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
217
217
|
devsecops_engine_tools/engine_utilities/settings.py,sha256=CPnDndwVeRgQNml3HVzvytVruDd8dTd1ICHbkMDSgTM,2144
|
|
218
218
|
devsecops_engine_tools/engine_utilities/azuredevops/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -286,8 +286,8 @@ devsecops_engine_tools/engine_utilities/utils/name_conversion.py,sha256=ADJrRGax
|
|
|
286
286
|
devsecops_engine_tools/engine_utilities/utils/printers.py,sha256=amYAr9YQfYgR6jK9a2l26z3oovFPQ3FAKmhq6BKhEBA,623
|
|
287
287
|
devsecops_engine_tools/engine_utilities/utils/session_manager.py,sha256=yNtlT-8Legz1sHbGPH8LNYjL-LgDUE0zXG2rYjiab7U,290
|
|
288
288
|
devsecops_engine_tools/engine_utilities/utils/utils.py,sha256=esLnDBxP9MQBvV8noVohTrdWSVuljTKRpZgrn2kaD_c,192
|
|
289
|
-
devsecops_engine_tools-1.
|
|
290
|
-
devsecops_engine_tools-1.
|
|
291
|
-
devsecops_engine_tools-1.
|
|
292
|
-
devsecops_engine_tools-1.
|
|
293
|
-
devsecops_engine_tools-1.
|
|
289
|
+
devsecops_engine_tools-1.12.0.dist-info/METADATA,sha256=5vQsyP7UszBQcM0I_60LWiR_mwdP_rDtOZuDf6rose8,10854
|
|
290
|
+
devsecops_engine_tools-1.12.0.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
|
|
291
|
+
devsecops_engine_tools-1.12.0.dist-info/entry_points.txt,sha256=9IjXF_7Zpgowq_SY6OSmsA9vZze18a8_AeHwkQVrgKk,131
|
|
292
|
+
devsecops_engine_tools-1.12.0.dist-info/top_level.txt,sha256=ge6y0X_xBAU1aG3EMWFtl9djbVyg5BxuSp2r2Lg6EQU,23
|
|
293
|
+
devsecops_engine_tools-1.12.0.dist-info/RECORD,,
|
|
File without changes
|
{devsecops_engine_tools-1.11.4.dist-info → devsecops_engine_tools-1.12.0.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{devsecops_engine_tools-1.11.4.dist-info → devsecops_engine_tools-1.12.0.dist-info}/top_level.txt
RENAMED
|
File without changes
|