devsecops-engine-tools 1.13.2__py3-none-any.whl → 1.13.3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of devsecops-engine-tools might be problematic. Click here for more details.
- devsecops_engine_tools/engine_core/src/domain/model/exclusions.py +2 -2
- devsecops_engine_tools/engine_core/src/domain/usecases/handle_risk.py +31 -13
- devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py +2 -1
- devsecops_engine_tools/engine_risk/src/applications/runner_engine_risk.py +7 -1
- devsecops_engine_tools/engine_risk/src/domain/usecases/break_build.py +21 -22
- devsecops_engine_tools/engine_risk/src/domain/usecases/get_exclusions.py +4 -3
- devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/entry_point_risk.py +6 -17
- devsecops_engine_tools/version.py +1 -1
- {devsecops_engine_tools-1.13.2.dist-info → devsecops_engine_tools-1.13.3.dist-info}/METADATA +1 -1
- {devsecops_engine_tools-1.13.2.dist-info → devsecops_engine_tools-1.13.3.dist-info}/RECORD +13 -13
- {devsecops_engine_tools-1.13.2.dist-info → devsecops_engine_tools-1.13.3.dist-info}/WHEEL +0 -0
- {devsecops_engine_tools-1.13.2.dist-info → devsecops_engine_tools-1.13.3.dist-info}/entry_points.txt +0 -0
- {devsecops_engine_tools-1.13.2.dist-info → devsecops_engine_tools-1.13.3.dist-info}/top_level.txt +0 -0
|
@@ -5,10 +5,10 @@ from dataclasses import dataclass
|
|
|
5
5
|
class Exclusions:
|
|
6
6
|
def __init__(self, **kwargs):
|
|
7
7
|
self.id = kwargs.get("id", "")
|
|
8
|
-
self.where = kwargs.get("where", "")
|
|
8
|
+
self.where = kwargs.get("where", "all")
|
|
9
9
|
self.cve_id = kwargs.get("cve_id", "")
|
|
10
10
|
self.create_date = kwargs.get("create_date", "")
|
|
11
11
|
self.expired_date = kwargs.get("expired_date", "")
|
|
12
12
|
self.severity = kwargs.get("severity", "")
|
|
13
13
|
self.hu = kwargs.get("hu", "")
|
|
14
|
-
self.reason = kwargs.get("reason", "Risk
|
|
14
|
+
self.reason = kwargs.get("reason", "Risk Accepted")
|
|
@@ -106,16 +106,40 @@ class HandleRisk:
|
|
|
106
106
|
return remaining_services
|
|
107
107
|
return service_list
|
|
108
108
|
|
|
109
|
-
def
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
109
|
+
def _should_skip_analysis(self, remote_config, pipeline_name, exclusions):
|
|
110
|
+
ignore_pattern = remote_config["IGNORE_ANALYSIS_PATTERN"]
|
|
111
|
+
return re.match(ignore_pattern, pipeline_name, re.IGNORECASE) or (
|
|
112
|
+
pipeline_name in exclusions
|
|
113
|
+
and exclusions[pipeline_name].get("SKIP_TOOL", 0)
|
|
114
|
+
)
|
|
113
115
|
|
|
116
|
+
def process(self, dict_args: any, remote_config: any):
|
|
114
117
|
risk_config = self.devops_platform_gateway.get_remote_config(
|
|
115
118
|
dict_args["remote_config_repo"], "engine_risk/ConfigTool.json"
|
|
116
119
|
)
|
|
117
|
-
|
|
120
|
+
risk_exclusions = self.devops_platform_gateway.get_remote_config(
|
|
121
|
+
dict_args["remote_config_repo"], "engine_risk/Exclusions.json"
|
|
122
|
+
)
|
|
118
123
|
pipeline_name = self.devops_platform_gateway.get_variable("pipeline_name")
|
|
124
|
+
|
|
125
|
+
input_core = InputCore(
|
|
126
|
+
[],
|
|
127
|
+
{},
|
|
128
|
+
"",
|
|
129
|
+
"",
|
|
130
|
+
pipeline_name,
|
|
131
|
+
self.devops_platform_gateway.get_variable("stage").capitalize(),
|
|
132
|
+
)
|
|
133
|
+
|
|
134
|
+
if self._should_skip_analysis(risk_config, pipeline_name, risk_exclusions):
|
|
135
|
+
print("Tool skipped by DevSecOps Policy.")
|
|
136
|
+
logger.info("Tool skipped by DevSecOps Policy.")
|
|
137
|
+
return [], input_core
|
|
138
|
+
|
|
139
|
+
secret_tool = None
|
|
140
|
+
if dict_args["use_secrets_manager"] == "true":
|
|
141
|
+
secret_tool = self.secrets_manager_gateway.get_secret(remote_config)
|
|
142
|
+
|
|
119
143
|
service = pipeline_name
|
|
120
144
|
service_list = []
|
|
121
145
|
|
|
@@ -180,15 +204,9 @@ class HandleRisk:
|
|
|
180
204
|
dict_args,
|
|
181
205
|
findings,
|
|
182
206
|
exclusions,
|
|
207
|
+
new_service_list,
|
|
183
208
|
self.devops_platform_gateway,
|
|
184
209
|
self.print_table_gateway,
|
|
185
210
|
)
|
|
186
|
-
|
|
187
|
-
[],
|
|
188
|
-
{},
|
|
189
|
-
"",
|
|
190
|
-
"",
|
|
191
|
-
pipeline_name,
|
|
192
|
-
self.devops_platform_gateway.get_variable("stage").capitalize(),
|
|
193
|
-
)
|
|
211
|
+
|
|
194
212
|
return result, input_core
|
devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py
CHANGED
|
@@ -220,7 +220,8 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
|
|
|
220
220
|
all_findings_query_params = {
|
|
221
221
|
"limit": config_tool["VULNERABILITY_MANAGER"]["DEFECT_DOJO"][
|
|
222
222
|
"LIMITS_QUERY"
|
|
223
|
-
]
|
|
223
|
+
],
|
|
224
|
+
"duplicate": "false"
|
|
224
225
|
}
|
|
225
226
|
max_retries = config_tool["VULNERABILITY_MANAGER"]["DEFECT_DOJO"][
|
|
226
227
|
"MAX_RETRIES_QUERY"
|
|
@@ -13,7 +13,12 @@ logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
|
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
def runner_engine_risk(
|
|
16
|
-
dict_args,
|
|
16
|
+
dict_args,
|
|
17
|
+
findings,
|
|
18
|
+
vm_exclusions,
|
|
19
|
+
services,
|
|
20
|
+
devops_platform_gateway,
|
|
21
|
+
print_table_gateway,
|
|
17
22
|
):
|
|
18
23
|
add_epss_gateway = FirstCsv()
|
|
19
24
|
|
|
@@ -23,5 +28,6 @@ def runner_engine_risk(
|
|
|
23
28
|
print_table_gateway,
|
|
24
29
|
dict_args,
|
|
25
30
|
findings,
|
|
31
|
+
services,
|
|
26
32
|
vm_exclusions,
|
|
27
33
|
)
|
|
@@ -118,9 +118,11 @@ class BreakBuild:
|
|
|
118
118
|
|
|
119
119
|
def _remediation_rate_control(self, all_report: "list[Report]"):
|
|
120
120
|
remote_config = self.remote_config
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
)
|
|
121
|
+
mitigated = sum(1 for report in all_report if report.mitigated)
|
|
122
|
+
total = len(all_report)
|
|
123
|
+
print(f"Mitigated count: {mitigated} Total count: {total}")
|
|
124
|
+
remediation_rate_value = self._get_percentage(mitigated / total)
|
|
125
|
+
|
|
124
126
|
risk_threshold = remote_config["THRESHOLD"]["REMEDIATION_RATE"]
|
|
125
127
|
self.remediation_rate = remediation_rate_value
|
|
126
128
|
|
|
@@ -151,14 +153,6 @@ class BreakBuild:
|
|
|
151
153
|
def _get_percentage(self, decimal):
|
|
152
154
|
return round(decimal * 100, 3)
|
|
153
155
|
|
|
154
|
-
def _get_applied_exclusion(self, report: Report):
|
|
155
|
-
for exclusion in self.exclusions:
|
|
156
|
-
if exclusion.id and (report.id == exclusion.id):
|
|
157
|
-
return exclusion
|
|
158
|
-
elif exclusion.id and (report.vuln_id_from_tool == exclusion.id):
|
|
159
|
-
return exclusion
|
|
160
|
-
return None
|
|
161
|
-
|
|
162
156
|
def _map_applied_exclusion(self, exclusions: "list[Exclusions]"):
|
|
163
157
|
return [
|
|
164
158
|
{
|
|
@@ -173,22 +167,27 @@ class BreakBuild:
|
|
|
173
167
|
]
|
|
174
168
|
|
|
175
169
|
def _apply_exclusions(self, report_list: "list[Report]"):
|
|
176
|
-
|
|
170
|
+
filtered_reports = []
|
|
177
171
|
applied_exclusions = []
|
|
178
|
-
exclusions_ids = {exclusion.id for exclusion in self.exclusions if exclusion.id}
|
|
179
172
|
|
|
180
173
|
for report in report_list:
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
174
|
+
exclude = False
|
|
175
|
+
for exclusion in self.exclusions:
|
|
176
|
+
if (
|
|
177
|
+
(
|
|
178
|
+
report.vuln_id_from_tool
|
|
179
|
+
and report.vuln_id_from_tool == exclusion.id
|
|
180
|
+
)
|
|
181
|
+
or (report.id and report.id == exclusion.id)
|
|
182
|
+
) and ((exclusion.where in report.where) or (exclusion.where == "all")):
|
|
183
|
+
exclude = True
|
|
184
|
+
applied_exclusions.append(exclusion)
|
|
185
|
+
break
|
|
186
|
+
if not exclude:
|
|
188
187
|
report.reason = "Remediation Rate"
|
|
189
|
-
|
|
188
|
+
filtered_reports.append(report)
|
|
190
189
|
|
|
191
|
-
return
|
|
190
|
+
return filtered_reports, applied_exclusions
|
|
192
191
|
|
|
193
192
|
def _tag_blacklist_control(self, report_list: "list[Report]"):
|
|
194
193
|
remote_config = self.remote_config
|
|
@@ -11,14 +11,14 @@ class GetExclusions:
|
|
|
11
11
|
findings,
|
|
12
12
|
risk_config,
|
|
13
13
|
risk_exclusions,
|
|
14
|
-
|
|
14
|
+
services,
|
|
15
15
|
):
|
|
16
16
|
self.devops_platform_gateway = devops_platform_gateway
|
|
17
17
|
self.dict_args = dict_args
|
|
18
18
|
self.findings = findings
|
|
19
19
|
self.risk_config = risk_config
|
|
20
20
|
self.risk_exclusions = risk_exclusions
|
|
21
|
-
self.
|
|
21
|
+
self.services = services
|
|
22
22
|
|
|
23
23
|
def process(self):
|
|
24
24
|
core_config = self.devops_platform_gateway.get_remote_config(
|
|
@@ -49,7 +49,8 @@ class GetExclusions:
|
|
|
49
49
|
|
|
50
50
|
def _get_exclusions(self, config, key):
|
|
51
51
|
exclusions = []
|
|
52
|
-
|
|
52
|
+
scope_list = ["All"] + self.services
|
|
53
|
+
for scope in scope_list:
|
|
53
54
|
if config.get(scope, None) and config[scope].get(key, None):
|
|
54
55
|
exclusions.extend(
|
|
55
56
|
[
|
|
@@ -26,6 +26,7 @@ def init_engine_risk(
|
|
|
26
26
|
print_table_gateway,
|
|
27
27
|
dict_args,
|
|
28
28
|
findings,
|
|
29
|
+
services,
|
|
29
30
|
vm_exclusions,
|
|
30
31
|
):
|
|
31
32
|
remote_config = devops_platform_gateway.get_remote_config(
|
|
@@ -34,17 +35,12 @@ def init_engine_risk(
|
|
|
34
35
|
risk_exclusions = devops_platform_gateway.get_remote_config(
|
|
35
36
|
dict_args["remote_config_repo"], "engine_risk/Exclusions.json"
|
|
36
37
|
)
|
|
37
|
-
pipeline_name = devops_platform_gateway.get_variable("pipeline_name")
|
|
38
|
-
if should_skip_analysis(remote_config, pipeline_name, risk_exclusions):
|
|
39
|
-
print("Tool skipped by DevSecOps Policy.")
|
|
40
|
-
logger.info("Tool skipped by DevSecOps Policy.")
|
|
41
|
-
return
|
|
42
38
|
|
|
43
39
|
return process_findings(
|
|
44
40
|
findings,
|
|
45
41
|
vm_exclusions,
|
|
46
42
|
dict_args,
|
|
47
|
-
|
|
43
|
+
services,
|
|
48
44
|
risk_exclusions,
|
|
49
45
|
remote_config,
|
|
50
46
|
add_epss_gateway,
|
|
@@ -53,18 +49,11 @@ def init_engine_risk(
|
|
|
53
49
|
)
|
|
54
50
|
|
|
55
51
|
|
|
56
|
-
def should_skip_analysis(remote_config, pipeline_name, exclusions):
|
|
57
|
-
ignore_pattern = remote_config["IGNORE_ANALYSIS_PATTERN"]
|
|
58
|
-
return re.match(ignore_pattern, pipeline_name, re.IGNORECASE) or (
|
|
59
|
-
pipeline_name in exclusions and exclusions[pipeline_name].get("SKIP_TOOL", 0)
|
|
60
|
-
)
|
|
61
|
-
|
|
62
|
-
|
|
63
52
|
def process_findings(
|
|
64
53
|
findings,
|
|
65
54
|
vm_exclusions,
|
|
66
55
|
dict_args,
|
|
67
|
-
|
|
56
|
+
services,
|
|
68
57
|
risk_exclusions,
|
|
69
58
|
remote_config,
|
|
70
59
|
add_epss_gateway,
|
|
@@ -86,7 +75,7 @@ def process_findings(
|
|
|
86
75
|
dict_args,
|
|
87
76
|
remote_config,
|
|
88
77
|
risk_exclusions,
|
|
89
|
-
|
|
78
|
+
services,
|
|
90
79
|
add_epss_gateway,
|
|
91
80
|
print_table_gateway,
|
|
92
81
|
)
|
|
@@ -100,7 +89,7 @@ def process_active_findings(
|
|
|
100
89
|
dict_args,
|
|
101
90
|
remote_config,
|
|
102
91
|
risk_exclusions,
|
|
103
|
-
|
|
92
|
+
services,
|
|
104
93
|
add_epss_gateway,
|
|
105
94
|
print_table_gateway,
|
|
106
95
|
):
|
|
@@ -111,7 +100,7 @@ def process_active_findings(
|
|
|
111
100
|
data_added,
|
|
112
101
|
remote_config,
|
|
113
102
|
risk_exclusions,
|
|
114
|
-
|
|
103
|
+
services,
|
|
115
104
|
)
|
|
116
105
|
exclusions = get_exclusions.process()
|
|
117
106
|
break_build = BreakBuild(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
version = '1.13.
|
|
1
|
+
version = '1.13.3'
|
|
@@ -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=K0TqUoKMyUACp24cTZtCbXIzkTCAez5eGSJvHG9llqs,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
|
|
@@ -10,7 +10,7 @@ devsecops_engine_tools/engine_core/src/domain/__init__.py,sha256=47DEQpj8HBSa-_T
|
|
|
10
10
|
devsecops_engine_tools/engine_core/src/domain/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
11
|
devsecops_engine_tools/engine_core/src/domain/model/custom_level_vulnerability.py,sha256=eO9m76WVslcwhYbF9IAXqhI_iYK6zKLiOVt_3AxsOLY,302
|
|
12
12
|
devsecops_engine_tools/engine_core/src/domain/model/customs_exceptions.py,sha256=YLeOj4O7kNsUx8RD6pwBQdFLYbkm7Eh-F-ohZ3jFGbs,599
|
|
13
|
-
devsecops_engine_tools/engine_core/src/domain/model/exclusions.py,sha256=
|
|
13
|
+
devsecops_engine_tools/engine_core/src/domain/model/exclusions.py,sha256=rFinY7wQsIu4nNPdT9WlvzB-1S1tS3J3oQgb8tDxbZk,499
|
|
14
14
|
devsecops_engine_tools/engine_core/src/domain/model/finding.py,sha256=MntDksQuPt1L-1Ww3nK7NbMLfVwRjxPGCN_oHYXbbWk,383
|
|
15
15
|
devsecops_engine_tools/engine_core/src/domain/model/input_core.py,sha256=hc1WMzCwsGxnrlvvk84S5iNYJRDQWbaQP9MwR3N7tVM,422
|
|
16
16
|
devsecops_engine_tools/engine_core/src/domain/model/level_compliance.py,sha256=ntn_UWqHc6sT5g_LozBdjdewTQxFsp7Kt8M0xqw-k_o,98
|
|
@@ -26,7 +26,7 @@ devsecops_engine_tools/engine_core/src/domain/model/gateway/secrets_manager_gate
|
|
|
26
26
|
devsecops_engine_tools/engine_core/src/domain/model/gateway/vulnerability_management_gateway.py,sha256=c98JSdYYPyr82VZR4MRy49xSBVxueERbAS1mWwKqV6g,878
|
|
27
27
|
devsecops_engine_tools/engine_core/src/domain/usecases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
28
28
|
devsecops_engine_tools/engine_core/src/domain/usecases/break_build.py,sha256=JP-i5SFaMN7Yi4uDCe_AE1kJ197g1IJGcwQdq-RYbk4,16198
|
|
29
|
-
devsecops_engine_tools/engine_core/src/domain/usecases/handle_risk.py,sha256=
|
|
29
|
+
devsecops_engine_tools/engine_core/src/domain/usecases/handle_risk.py,sha256=nx71btr6Ma7I_TPtGNIPFDMxebYy_M1O8hENFycmaJs,8344
|
|
30
30
|
devsecops_engine_tools/engine_core/src/domain/usecases/handle_scan.py,sha256=yrPQdNvFNDeS4g4UxdxFDj-yw17K_OZ3T-HDEiePknE,7041
|
|
31
31
|
devsecops_engine_tools/engine_core/src/domain/usecases/metrics_manager.py,sha256=Xi0iNnPrFgqd2cBdAA5E_tgouhxs-BTo016aolnGgv8,2413
|
|
32
32
|
devsecops_engine_tools/engine_core/src/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -37,7 +37,7 @@ devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/secret
|
|
|
37
37
|
devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
38
38
|
devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/azure_devops.py,sha256=blI4ZrquRE4y6DJ7N2YRx1nL0wrAXvdpx0fLSUf5qwA,4831
|
|
39
39
|
devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
40
|
-
devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py,sha256=
|
|
40
|
+
devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py,sha256=bqtDUeaEqdecvyJ6cRx9CCiCG3F-Y6FPM74xHcW6o3o,16596
|
|
41
41
|
devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
42
42
|
devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/github_actions.py,sha256=pxlgjhX4-Dssn-XHKK8AdCOj6Ry6VcQtoDf5q8CxTks,3731
|
|
43
43
|
devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -64,7 +64,7 @@ devsecops_engine_tools/engine_dast/src/infrastructure/helpers/__init__.py,sha256
|
|
|
64
64
|
devsecops_engine_tools/engine_risk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
65
65
|
devsecops_engine_tools/engine_risk/src/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
66
66
|
devsecops_engine_tools/engine_risk/src/applications/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
67
|
-
devsecops_engine_tools/engine_risk/src/applications/runner_engine_risk.py,sha256=
|
|
67
|
+
devsecops_engine_tools/engine_risk/src/applications/runner_engine_risk.py,sha256=4-QLLQ1XIpJdnprDkxlNH5kf2-mHpm74nl8K5JRD_4Q,838
|
|
68
68
|
devsecops_engine_tools/engine_risk/src/deployment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
69
69
|
devsecops_engine_tools/engine_risk/src/deployment/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
70
70
|
devsecops_engine_tools/engine_risk/src/domain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -73,15 +73,15 @@ devsecops_engine_tools/engine_risk/src/domain/model/gateways/__init__.py,sha256=
|
|
|
73
73
|
devsecops_engine_tools/engine_risk/src/domain/model/gateways/add_epss_gateway.py,sha256=cTm4QSxiaUt7ETCdXWZxKEus8pmEDA3e9k5b39SLDDE,178
|
|
74
74
|
devsecops_engine_tools/engine_risk/src/domain/usecases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
75
75
|
devsecops_engine_tools/engine_risk/src/domain/usecases/add_data.py,sha256=4wqDj-q7hJfJscvrbMDcy7tONqxdxl-CSl_TWTRUGKA,402
|
|
76
|
-
devsecops_engine_tools/engine_risk/src/domain/usecases/break_build.py,sha256=
|
|
77
|
-
devsecops_engine_tools/engine_risk/src/domain/usecases/get_exclusions.py,sha256=
|
|
76
|
+
devsecops_engine_tools/engine_risk/src/domain/usecases/break_build.py,sha256=GFSRXp_PU4kp4Jx2Qdc0exg2j-65If5DK0UqRwIWq4w,11267
|
|
77
|
+
devsecops_engine_tools/engine_risk/src/domain/usecases/get_exclusions.py,sha256=o4vMpmgt5q1BsaWpGZWdCHPVs1CFyj-P3TrgOSEBcqM,2327
|
|
78
78
|
devsecops_engine_tools/engine_risk/src/domain/usecases/handle_filters.py,sha256=w18CVVSs0mkfLYo7f-wZJv1afoPWzEU-IBKUzk7LMYI,832
|
|
79
79
|
devsecops_engine_tools/engine_risk/src/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
80
80
|
devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
81
81
|
devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/first_csv/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
82
82
|
devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/first_csv/first_epss_csv.py,sha256=pWaRmIwVyiB5mlmWySHIx-DUgN9vtKQc-MqyRNVlTJo,2150
|
|
83
83
|
devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
84
|
-
devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/entry_point_risk.py,sha256=
|
|
84
|
+
devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/entry_point_risk.py,sha256=URwX6I8Rihhy8x-bUR1XsZ_S3jZT61WdIkGMjPJN0ZA,2820
|
|
85
85
|
devsecops_engine_tools/engine_risk/src/infrastructure/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
86
86
|
devsecops_engine_tools/engine_sast/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
87
87
|
devsecops_engine_tools/engine_sast/engine_code/__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.13.
|
|
290
|
-
devsecops_engine_tools-1.13.
|
|
291
|
-
devsecops_engine_tools-1.13.
|
|
292
|
-
devsecops_engine_tools-1.13.
|
|
293
|
-
devsecops_engine_tools-1.13.
|
|
289
|
+
devsecops_engine_tools-1.13.3.dist-info/METADATA,sha256=LTUr9T20OkPTGYM7m8ddBghwS0gyIcMhI1Ol8jnfEck,10854
|
|
290
|
+
devsecops_engine_tools-1.13.3.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
|
|
291
|
+
devsecops_engine_tools-1.13.3.dist-info/entry_points.txt,sha256=9IjXF_7Zpgowq_SY6OSmsA9vZze18a8_AeHwkQVrgKk,131
|
|
292
|
+
devsecops_engine_tools-1.13.3.dist-info/top_level.txt,sha256=ge6y0X_xBAU1aG3EMWFtl9djbVyg5BxuSp2r2Lg6EQU,23
|
|
293
|
+
devsecops_engine_tools-1.13.3.dist-info/RECORD,,
|
|
File without changes
|
{devsecops_engine_tools-1.13.2.dist-info → devsecops_engine_tools-1.13.3.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{devsecops_engine_tools-1.13.2.dist-info → devsecops_engine_tools-1.13.3.dist-info}/top_level.txt
RENAMED
|
File without changes
|