devsecops-engine-tools 1.53.2__py3-none-any.whl → 1.54.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_core/src/domain/model/gateway/vulnerability_management_gateway.py +2 -2
- devsecops_engine_tools/engine_core/src/domain/model/input_core.py +1 -0
- devsecops_engine_tools/engine_core/src/domain/usecases/handle_risk.py +1 -0
- devsecops_engine_tools/engine_core/src/domain/usecases/handle_scan.py +2 -2
- devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py +8 -2
- devsecops_engine_tools/engine_dast/src/applications/runner_dast_scan.py +1 -0
- devsecops_engine_tools/engine_dast/src/domain/usecases/dast_scan.py +1 -0
- devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases/code_scan.py +2 -0
- devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/config_tool.py +1 -0
- devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/iac_scan.py +5 -1
- devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/secret_scan.py +1 -0
- devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/set_input_core.py +1 -0
- devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/set_input_core.py +1 -0
- devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/entry_point_tool.py +2 -0
- devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/set_input_core.py +1 -0
- devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/entry_point_tool.py +1 -0
- devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/import_scan.py +2 -0
- devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/import_scan.py +2 -0
- devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/import_scan.py +1 -1
- devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/cmdb.py +98 -29
- devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/scan_configurations.py +2 -2
- devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases/report_sonar.py +3 -0
- devsecops_engine_tools/version.py +1 -1
- {devsecops_engine_tools-1.53.2.dist-info → devsecops_engine_tools-1.54.0.dist-info}/METADATA +1 -1
- {devsecops_engine_tools-1.53.2.dist-info → devsecops_engine_tools-1.54.0.dist-info}/RECORD +28 -28
- {devsecops_engine_tools-1.53.2.dist-info → devsecops_engine_tools-1.54.0.dist-info}/WHEEL +0 -0
- {devsecops_engine_tools-1.53.2.dist-info → devsecops_engine_tools-1.54.0.dist-info}/entry_points.txt +0 -0
- {devsecops_engine_tools-1.53.2.dist-info → devsecops_engine_tools-1.54.0.dist-info}/top_level.txt +0 -0
devsecops_engine_tools/engine_core/src/domain/model/gateway/vulnerability_management_gateway.py
CHANGED
|
@@ -11,8 +11,8 @@ class VulnerabilityManagementGateway(metaclass=ABCMeta):
|
|
|
11
11
|
"send_vulnerability_management"
|
|
12
12
|
|
|
13
13
|
@abstractmethod
|
|
14
|
-
def
|
|
15
|
-
"
|
|
14
|
+
def get_product_type_pipeline(self, pipeline, dict_args, secret_tool, config_tool):
|
|
15
|
+
"get_product_type_pipeline"
|
|
16
16
|
|
|
17
17
|
@abstractmethod
|
|
18
18
|
def get_findings_excepted(
|
|
@@ -208,7 +208,7 @@ class HandleScan:
|
|
|
208
208
|
try:
|
|
209
209
|
input_core.totalized_exclusions.extend(
|
|
210
210
|
self.vulnerability_management.get_findings_excepted(
|
|
211
|
-
input_core.
|
|
211
|
+
input_core.scope_service,
|
|
212
212
|
dict_args,
|
|
213
213
|
secret_tool,
|
|
214
214
|
config_tool,
|
|
@@ -234,7 +234,7 @@ class HandleScan:
|
|
|
234
234
|
input_core.threshold_defined.quality_vulnerability_management
|
|
235
235
|
)
|
|
236
236
|
if quality_vulnerability_management and input_core.threshold_defined.name == "default":
|
|
237
|
-
product_type = self.vulnerability_management.
|
|
237
|
+
product_type = self.vulnerability_management.get_product_type_pipeline(
|
|
238
238
|
input_core.scope_pipeline, dict_args, secret_tool, config_tool
|
|
239
239
|
)
|
|
240
240
|
if product_type:
|
devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py
CHANGED
|
@@ -98,6 +98,8 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
|
|
|
98
98
|
tags = [
|
|
99
99
|
f"{vulnerability_management.dict_args['module']}_{'_'.join(vulnerability_management.dict_args['platform'])}"
|
|
100
100
|
]
|
|
101
|
+
if vulnerability_management.input_core.scope_service != vulnerability_management.input_core.scope_pipeline:
|
|
102
|
+
tags.append(vulnerability_management.input_core.scope_service.replace(f"{vulnerability_management.input_core.scope_pipeline}_", ""))
|
|
101
103
|
if (
|
|
102
104
|
vulnerability_management.dict_args["module"] == "engine_container"
|
|
103
105
|
and sum(
|
|
@@ -156,7 +158,7 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
|
|
|
156
158
|
)
|
|
157
159
|
)
|
|
158
160
|
|
|
159
|
-
def
|
|
161
|
+
def get_product_type_pipeline(self, service, dict_args, secret_tool, config_tool):
|
|
160
162
|
try:
|
|
161
163
|
session_manager = self._get_session_manager(
|
|
162
164
|
dict_args, secret_tool, config_tool
|
|
@@ -482,7 +484,7 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
|
|
|
482
484
|
"build_id": vulnerability_management.build_id,
|
|
483
485
|
"branch_tag": vulnerability_management.branch_tag,
|
|
484
486
|
"commit_hash": vulnerability_management.commit_hash,
|
|
485
|
-
"service": vulnerability_management.input_core.
|
|
487
|
+
"service": vulnerability_management.input_core.scope_service,
|
|
486
488
|
"test_title": "_".join(tags),
|
|
487
489
|
"environment": (
|
|
488
490
|
self.enviroment_mapping[vulnerability_management.environment.lower()]
|
|
@@ -517,6 +519,10 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
|
|
|
517
519
|
"VULNERABILITY_MANAGER"
|
|
518
520
|
]["DEFECT_DOJO"]["CMDB"]["CMDB_MAPPING"]
|
|
519
521
|
return Connect.cmdb(
|
|
522
|
+
generate_auth_cmdb=vulnerability_management.config_tool["VULNERABILITY_MANAGER"]["DEFECT_DOJO"]["CMDB"]["GENERATE_AUTH_CMDB"],
|
|
523
|
+
auth_cmdb_request_response=vulnerability_management.config_tool[
|
|
524
|
+
"VULNERABILITY_MANAGER"
|
|
525
|
+
]["DEFECT_DOJO"]["CMDB"]["AUTH_CMDB_REQUEST_REPONSE"],
|
|
520
526
|
cmdb_mapping={
|
|
521
527
|
"product_type_name": cmdb_mapping["PRODUCT_TYPE_NAME"],
|
|
522
528
|
"product_name": cmdb_mapping["PRODUCT_NAME"],
|
|
@@ -114,6 +114,7 @@ def runner_engine_dast(dict_args, config_tool, secret_tool, devops_platform_gate
|
|
|
114
114
|
path_file_results="",
|
|
115
115
|
custom_message_break_build=config_tool_dast.get("MESSAGE_INFO_DAST"),
|
|
116
116
|
scope_pipeline="",
|
|
117
|
+
scope_service="",
|
|
117
118
|
stage_pipeline=devops_platform_gateway.get_variable("stage"),
|
|
118
119
|
)
|
|
119
120
|
return [], input_core
|
|
@@ -128,6 +128,7 @@ class DastScan:
|
|
|
128
128
|
path_file_results=path_file_results,
|
|
129
129
|
custom_message_break_build=config_tool.get("MESSAGE_INFO_DAST"),
|
|
130
130
|
scope_pipeline=config_tool.get("SCOPE_PIPELINE"),
|
|
131
|
+
scope_service=config_tool.get("SCOPE_PIPELINE"),
|
|
131
132
|
stage_pipeline=self.devops_platform_gateway.get_variable("stage"),
|
|
132
133
|
)
|
|
133
134
|
|
|
@@ -121,6 +121,7 @@ class CodeScan:
|
|
|
121
121
|
else:
|
|
122
122
|
print("Tool skipped by DevSecOps policy")
|
|
123
123
|
dict_args["send_metrics"] = "false"
|
|
124
|
+
dict_args["use_vulnerability_management"] = "false"
|
|
124
125
|
|
|
125
126
|
input_core = InputCore(
|
|
126
127
|
totalized_exclusions=list_exclusions,
|
|
@@ -133,6 +134,7 @@ class CodeScan:
|
|
|
133
134
|
path_file_results=path_file_results,
|
|
134
135
|
custom_message_break_build=config_tool.message_info_engine_code,
|
|
135
136
|
scope_pipeline=config_tool.scope_pipeline,
|
|
137
|
+
scope_service=config_tool.scope_pipeline,
|
|
136
138
|
stage_pipeline=self.devops_platform_gateway.get_variable(
|
|
137
139
|
"stage"
|
|
138
140
|
).capitalize(),
|
|
@@ -9,6 +9,7 @@ class ConfigTool:
|
|
|
9
9
|
self.message_info_engine_iac = json_data["MESSAGE_INFO_ENGINE_IAC"]
|
|
10
10
|
self.threshold = Threshold(json_data["THRESHOLD"])
|
|
11
11
|
self.scope_pipeline = ""
|
|
12
|
+
self.scope_service = ""
|
|
12
13
|
self.exclusions = None
|
|
13
14
|
self.exclusions_all = None
|
|
14
15
|
self.exclusions_scope = None
|
|
@@ -52,6 +52,7 @@ class IacScan:
|
|
|
52
52
|
else:
|
|
53
53
|
print("Tool skipped by DevSecOps policy")
|
|
54
54
|
dict_args["send_metrics"] = "false"
|
|
55
|
+
dict_args["use_vulnerability_management"] = "false"
|
|
55
56
|
|
|
56
57
|
totalized_exclusions = []
|
|
57
58
|
(
|
|
@@ -80,6 +81,7 @@ class IacScan:
|
|
|
80
81
|
path_file_results=path_file_results,
|
|
81
82
|
custom_message_break_build=config_tool_core.message_info_engine_iac,
|
|
82
83
|
scope_pipeline=config_tool_core.scope_pipeline,
|
|
84
|
+
scope_service=config_tool_core.scope_service,
|
|
83
85
|
stage_pipeline=self.devops_platform_gateway.get_variable(
|
|
84
86
|
"stage"
|
|
85
87
|
).capitalize(),
|
|
@@ -121,9 +123,11 @@ class IacScan:
|
|
|
121
123
|
files = os.listdir(os.path.join(os.getcwd(), dict_args["folder_path"]))
|
|
122
124
|
if len(files) > 0:
|
|
123
125
|
name_file, _ = os.path.splitext(files[0])
|
|
124
|
-
config_tool.
|
|
126
|
+
config_tool.scope_service = (
|
|
125
127
|
f"{config_tool.scope_pipeline}_{name_file}"
|
|
126
128
|
)
|
|
129
|
+
else:
|
|
130
|
+
config_tool.scope_service = config_tool.scope_pipeline
|
|
127
131
|
|
|
128
132
|
folders_to_scan = [dict_args["folder_path"]]
|
|
129
133
|
else:
|
|
@@ -64,6 +64,7 @@ class SecretScan:
|
|
|
64
64
|
else:
|
|
65
65
|
print("Tool skipped by DevSecOps policy")
|
|
66
66
|
dict_args["send_metrics"] = "false"
|
|
67
|
+
dict_args["use_vulnerability_management"] = "false"
|
|
67
68
|
return finding_list, file_path_findings
|
|
68
69
|
|
|
69
70
|
def complete_config_tool(self, dict_args, tool):
|
|
@@ -84,5 +84,6 @@ class SetInputCore:
|
|
|
84
84
|
path_file_results=finding_list,
|
|
85
85
|
custom_message_break_build=self.config_tool["MESSAGE_INFO_ENGINE_SECRET"],
|
|
86
86
|
scope_pipeline=self.config_tool["SCOPE_PIPELINE"],
|
|
87
|
+
scope_service=self.config_tool["SCOPE_PIPELINE"],
|
|
87
88
|
stage_pipeline=self.tool_remote.get_variable("stage").capitalize(),
|
|
88
89
|
)
|
|
@@ -61,6 +61,8 @@ def init_engine_sca_rm(
|
|
|
61
61
|
else:
|
|
62
62
|
print("Tool skipped by DevSecOps policy")
|
|
63
63
|
dict_args["send_metrics"] = "false"
|
|
64
|
+
dict_args["use_vulnerability_management"] = "false"
|
|
65
|
+
|
|
64
66
|
core_input = input_core.set_input_core(image_scanned,base_image)
|
|
65
67
|
|
|
66
68
|
return deseralized, core_input, sbom_components
|
|
@@ -40,6 +40,8 @@ class ImportScanRequest:
|
|
|
40
40
|
tool_sonarqube_configuration: str = ""
|
|
41
41
|
tool_scm_configuration: str = ""
|
|
42
42
|
code_app: str = ""
|
|
43
|
+
generate_auth_cmdb: bool = False
|
|
44
|
+
auth_cmdb_request_response: dict = None
|
|
43
45
|
token_cmdb: str = ""
|
|
44
46
|
host_cmdb: str = ""
|
|
45
47
|
cmdb_request_response: dict = None
|
|
@@ -206,6 +206,8 @@ class ImportScanSerializer(Schema):
|
|
|
206
206
|
tool_scm_configuration = fields.Int(required=False)
|
|
207
207
|
code_app = fields.Str(required=False)
|
|
208
208
|
# defect-dojo credential
|
|
209
|
+
generate_auth_cmdb = fields.Bool(required=False, default=False)
|
|
210
|
+
auth_cmdb_request_response = fields.Dict(required=False)
|
|
209
211
|
token_cmdb = fields.Str(required=False)
|
|
210
212
|
host_cmdb = fields.Url(required=False)
|
|
211
213
|
cmdb_request_response = fields.Dict(required=False)
|
|
@@ -109,7 +109,7 @@ class ImportScanUserCase:
|
|
|
109
109
|
|
|
110
110
|
api_scan_bool = re.search(" API ", request.scan_type)
|
|
111
111
|
if api_scan_bool:
|
|
112
|
-
scan_configuration_list = self.__rest_scan_configurations.get_api_scan_configuration(request)
|
|
112
|
+
scan_configuration_list = self.__rest_scan_configurations.get_api_scan_configuration(request, product_id)
|
|
113
113
|
if scan_configuration_list.results == []:
|
|
114
114
|
scan_configuration = self.__rest_scan_configurations.post_api_scan_configuration(
|
|
115
115
|
request, product_id, request.tool_sonarqube_configuration
|
|
@@ -1,18 +1,26 @@
|
|
|
1
1
|
import json
|
|
2
2
|
import ast
|
|
3
3
|
from devsecops_engine_tools.engine_utilities.utils.api_error import ApiError
|
|
4
|
+
from devsecops_engine_tools.engine_utilities.utils.utils import Utils
|
|
4
5
|
from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
|
|
5
6
|
from devsecops_engine_tools.engine_utilities.defect_dojo.domain.models.cmdb import Cmdb
|
|
6
|
-
from devsecops_engine_tools.engine_utilities.defect_dojo.infraestructure.driver_adapters.settings.settings import
|
|
7
|
+
from devsecops_engine_tools.engine_utilities.defect_dojo.infraestructure.driver_adapters.settings.settings import (
|
|
8
|
+
VERIFY_CERTIFICATE,
|
|
9
|
+
)
|
|
7
10
|
from devsecops_engine_tools.engine_utilities.utils.session_manager import SessionManager
|
|
8
|
-
from devsecops_engine_tools.engine_utilities.defect_dojo.domain.request_objects.import_scan import
|
|
11
|
+
from devsecops_engine_tools.engine_utilities.defect_dojo.domain.request_objects.import_scan import (
|
|
12
|
+
ImportScanRequest,
|
|
13
|
+
)
|
|
9
14
|
from devsecops_engine_tools.engine_utilities.settings import SETTING_LOGGER
|
|
10
15
|
|
|
11
16
|
logger = MyLogger.__call__(**SETTING_LOGGER).get_logger()
|
|
12
17
|
|
|
13
18
|
|
|
14
19
|
class CmdbRestConsumer:
|
|
15
|
-
def __init__(
|
|
20
|
+
def __init__(
|
|
21
|
+
self, token: str, host: str, mapping_cmdb: dict, session: SessionManager
|
|
22
|
+
) -> None:
|
|
23
|
+
self.__token_auth = token
|
|
16
24
|
self.__token = token
|
|
17
25
|
self.__host = host
|
|
18
26
|
self.__mapping_cmdb = mapping_cmdb
|
|
@@ -20,42 +28,93 @@ class CmdbRestConsumer:
|
|
|
20
28
|
|
|
21
29
|
def get_product_info(self, request: ImportScanRequest) -> Cmdb:
|
|
22
30
|
method = request.cmdb_request_response.get("METHOD")
|
|
23
|
-
headers = self.prepare_headers(request.cmdb_request_response.get("HEADERS"))
|
|
24
31
|
response_format = request.cmdb_request_response.get("RESPONSE")
|
|
25
32
|
|
|
26
33
|
if method not in ["GET", "POST"]:
|
|
27
34
|
raise ValueError(f"Unsupported method: {method}")
|
|
28
|
-
|
|
29
|
-
return self.handle_request(method, headers, request, response_format)
|
|
30
35
|
|
|
31
|
-
|
|
32
|
-
cmdb_object = self.initialize_cmdb_object(request)
|
|
36
|
+
return self.handle_request(method, request, response_format)
|
|
33
37
|
|
|
38
|
+
def handle_request(
|
|
39
|
+
self, method, request: ImportScanRequest, response_format
|
|
40
|
+
) -> Cmdb:
|
|
41
|
+
cmdb_object = self.initialize_cmdb_object(request)
|
|
34
42
|
try:
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
|
|
44
|
+
def make_request():
|
|
45
|
+
headers = {}
|
|
46
|
+
if request.generate_auth_cmdb:
|
|
47
|
+
self.auth_cmdb(request)
|
|
48
|
+
headers = self.prepare_headers(
|
|
49
|
+
request.cmdb_request_response.get("HEADERS")
|
|
50
|
+
)
|
|
51
|
+
else:
|
|
52
|
+
headers = self.prepare_headers(
|
|
53
|
+
request.cmdb_request_response.get("HEADERS")
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
if method == "GET":
|
|
57
|
+
params = self.replace_placeholders(
|
|
58
|
+
request.cmdb_request_response.get("PARAMS", {}),
|
|
59
|
+
request.code_app,
|
|
60
|
+
)
|
|
61
|
+
response = self.__session.get(
|
|
62
|
+
self.__host,
|
|
63
|
+
headers=headers,
|
|
64
|
+
params=params,
|
|
65
|
+
verify=VERIFY_CERTIFICATE,
|
|
66
|
+
)
|
|
67
|
+
elif method == "POST":
|
|
68
|
+
body = self.replace_placeholders(
|
|
69
|
+
request.cmdb_request_response.get("BODY", {}), request.code_app
|
|
70
|
+
)
|
|
71
|
+
body_json = json.dumps(body)
|
|
72
|
+
response = self.__session.post(
|
|
73
|
+
self.__host,
|
|
74
|
+
headers=headers,
|
|
75
|
+
data=body_json,
|
|
76
|
+
verify=VERIFY_CERTIFICATE,
|
|
77
|
+
)
|
|
78
|
+
|
|
79
|
+
return self.process_response(
|
|
80
|
+
response, response_format, cmdb_object, request.code_app
|
|
45
81
|
)
|
|
46
|
-
body_json = json.dumps(body)
|
|
47
|
-
response = self.__session.post(self.__host, headers=headers, data=body_json, verify=VERIFY_CERTIFICATE)
|
|
48
82
|
|
|
49
|
-
return
|
|
83
|
+
return Utils().retries_requests(
|
|
84
|
+
make_request, 3, 5
|
|
85
|
+
)
|
|
50
86
|
except Exception as e:
|
|
51
87
|
logger.warning(e)
|
|
52
88
|
return cmdb_object
|
|
53
89
|
|
|
54
|
-
def
|
|
90
|
+
def auth_cmdb(self, request: ImportScanRequest):
|
|
91
|
+
dict_auth = request.auth_cmdb_request_response
|
|
92
|
+
if dict_auth.get("METHOD") == "POST":
|
|
93
|
+
headers = self.prepare_headers(dict_auth.get("HEADERS"))
|
|
94
|
+
payload = dict_auth.get("PARAMS").replace("#{passwordvalue}#", self.__token_auth)
|
|
95
|
+
response = self.__session.post(
|
|
96
|
+
dict_auth.get("URL"),
|
|
97
|
+
headers=headers,
|
|
98
|
+
data=payload,
|
|
99
|
+
verify=VERIFY_CERTIFICATE,
|
|
100
|
+
)
|
|
101
|
+
if response.status_code != 200:
|
|
102
|
+
logger.warning(response)
|
|
103
|
+
raise ApiError(f"Error auth cmdb: {response.reason}")
|
|
104
|
+
response = (
|
|
105
|
+
self.get_nested_data(response.json(), dict_auth.get("RESPONSE"))
|
|
106
|
+
if dict_auth.get("RESPONSE")
|
|
107
|
+
else response.text
|
|
108
|
+
)
|
|
109
|
+
self.__token = response
|
|
110
|
+
|
|
111
|
+
def process_response(
|
|
112
|
+
self, response, response_format, cmdb_object, code_app
|
|
113
|
+
) -> Cmdb:
|
|
55
114
|
if response.status_code != 200:
|
|
56
115
|
logger.warning(response)
|
|
57
116
|
raise ApiError(f"Error querying cmdb: {response.reason}")
|
|
58
|
-
|
|
117
|
+
|
|
59
118
|
if response.json() == []:
|
|
60
119
|
logger.warning(f"Engagement: {code_app} not found")
|
|
61
120
|
return cmdb_object # Producto es Orphan
|
|
@@ -85,18 +144,29 @@ class CmdbRestConsumer:
|
|
|
85
144
|
if isinstance(data, dict) and key in data:
|
|
86
145
|
data = data[key]
|
|
87
146
|
elif isinstance(data, list) and isinstance(key, int):
|
|
88
|
-
key = key if key >=0 else len(data) + key
|
|
147
|
+
key = key if key >= 0 else len(data) + key
|
|
89
148
|
if 0 <= key < len(data):
|
|
90
149
|
data = data[key]
|
|
91
150
|
else:
|
|
92
|
-
raise KeyError(
|
|
151
|
+
raise KeyError(
|
|
152
|
+
f"Index '{key}' out of range in the current context."
|
|
153
|
+
)
|
|
93
154
|
else:
|
|
94
|
-
raise KeyError(
|
|
155
|
+
raise KeyError(
|
|
156
|
+
f"Key '{key}' not found or invalid in the current context."
|
|
157
|
+
)
|
|
95
158
|
return data
|
|
96
159
|
|
|
97
160
|
def prepare_headers(self, headers: dict) -> dict:
|
|
98
|
-
return {
|
|
99
|
-
|
|
161
|
+
return {
|
|
162
|
+
key: (
|
|
163
|
+
value.replace("tokenvalue", self.__token)
|
|
164
|
+
if "tokenvalue" in value
|
|
165
|
+
else value
|
|
166
|
+
)
|
|
167
|
+
for key, value in headers.items()
|
|
168
|
+
}
|
|
169
|
+
|
|
100
170
|
def replace_placeholders(self, data, replacements):
|
|
101
171
|
data = str(data)
|
|
102
172
|
data = data.replace("codappvalue", replacements)
|
|
@@ -104,4 +174,3 @@ class CmdbRestConsumer:
|
|
|
104
174
|
return ast.literal_eval(data)
|
|
105
175
|
except (SyntaxError, ValueError) as e:
|
|
106
176
|
raise ValueError(f"Error converting string to dictionary: {e}")
|
|
107
|
-
|
|
@@ -48,8 +48,8 @@ class ScanConfigrationRestConsumer:
|
|
|
48
48
|
raise ApiError(e)
|
|
49
49
|
return scan_configuration_object
|
|
50
50
|
|
|
51
|
-
def get_api_scan_configuration(self, request: ImportScanRequest) -> ScanConfigurationList:
|
|
52
|
-
url = f"{self.__host}/api/v2/product_api_scan_configurations/?service_key_1={request.engagement_name}"
|
|
51
|
+
def get_api_scan_configuration(self, request: ImportScanRequest, product_id) -> ScanConfigurationList:
|
|
52
|
+
url = f"{self.__host}/api/v2/product_api_scan_configurations/?service_key_1={request.engagement_name}&product={product_id}"
|
|
53
53
|
headers = {
|
|
54
54
|
"Authorization": f"Token {self.__token}",
|
|
55
55
|
"Conten-Type": "application/json",
|
|
@@ -49,6 +49,7 @@ class ReportSonar:
|
|
|
49
49
|
"",
|
|
50
50
|
"",
|
|
51
51
|
"",
|
|
52
|
+
"",
|
|
52
53
|
self.devops_platform_gateway.get_variable("stage").capitalize(),
|
|
53
54
|
)
|
|
54
55
|
|
|
@@ -217,10 +218,12 @@ class ReportSonar:
|
|
|
217
218
|
logger.warning(f"It was not possible to synchronize Sonar and Vulnerability Manager: {e}")
|
|
218
219
|
|
|
219
220
|
input_core.scope_pipeline = project_key
|
|
221
|
+
input_core.scope_service = project_key
|
|
220
222
|
|
|
221
223
|
self.vulnerability_management_gateway.send_vulnerability_management(
|
|
222
224
|
vulnerability_management=vulnerability_manager
|
|
223
225
|
)
|
|
224
226
|
|
|
225
227
|
input_core.scope_pipeline = pipeline_name
|
|
228
|
+
input_core.scope_service = pipeline_name
|
|
226
229
|
return input_core
|
|
@@ -1 +1 @@
|
|
|
1
|
-
version = '1.
|
|
1
|
+
version = '1.54.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=ChvCaBbtG1pJ06arW9rL_vxFoeKalG9EDpaLF7q1tfk,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
|
|
@@ -12,7 +12,7 @@ devsecops_engine_tools/engine_core/src/domain/model/component.py,sha256=_rWtP0v_
|
|
|
12
12
|
devsecops_engine_tools/engine_core/src/domain/model/customs_exceptions.py,sha256=YLeOj4O7kNsUx8RD6pwBQdFLYbkm7Eh-F-ohZ3jFGbs,599
|
|
13
13
|
devsecops_engine_tools/engine_core/src/domain/model/exclusions.py,sha256=ujzfzp_gwkd2Qzy_F8be3evgDVk2pxbSa0YuMlM2aYU,754
|
|
14
14
|
devsecops_engine_tools/engine_core/src/domain/model/finding.py,sha256=MntDksQuPt1L-1Ww3nK7NbMLfVwRjxPGCN_oHYXbbWk,383
|
|
15
|
-
devsecops_engine_tools/engine_core/src/domain/model/input_core.py,sha256=
|
|
15
|
+
devsecops_engine_tools/engine_core/src/domain/model/input_core.py,sha256=CG2QicpqM3RZVGj9lhlVAJwpc9nFnBZdgpkXfGudCJ8,445
|
|
16
16
|
devsecops_engine_tools/engine_core/src/domain/model/level_compliance.py,sha256=ntn_UWqHc6sT5g_LozBdjdewTQxFsp7Kt8M0xqw-k_o,98
|
|
17
17
|
devsecops_engine_tools/engine_core/src/domain/model/level_vulnerability.py,sha256=0sySEnFNkS2Y8uF5GUVAYehXw-i2OglUClkVobnSTPc,257
|
|
18
18
|
devsecops_engine_tools/engine_core/src/domain/model/report.py,sha256=09QV_jBQbucoiGM_PjVzRwWvvnebAx24Vehs2bqEe2o,1929
|
|
@@ -24,11 +24,11 @@ devsecops_engine_tools/engine_core/src/domain/model/gateway/metrics_manager_gate
|
|
|
24
24
|
devsecops_engine_tools/engine_core/src/domain/model/gateway/printer_table_gateway.py,sha256=ROBsh7Lyu62a5RqZ4KgGQcwrBzbHRwxAJ9Rj3LoupQc,602
|
|
25
25
|
devsecops_engine_tools/engine_core/src/domain/model/gateway/sbom_manager.py,sha256=HpkUZYbmW72r4KDIPWwDmAOU_uawmKaexxmWheR9QAA,321
|
|
26
26
|
devsecops_engine_tools/engine_core/src/domain/model/gateway/secrets_manager_gateway.py,sha256=CTwUIvUWF0NSSzdCqASUFst6KUysW53NV9eatjLGdl8,170
|
|
27
|
-
devsecops_engine_tools/engine_core/src/domain/model/gateway/vulnerability_management_gateway.py,sha256=
|
|
27
|
+
devsecops_engine_tools/engine_core/src/domain/model/gateway/vulnerability_management_gateway.py,sha256=CB6KMjSNNgOEGdmzsxMLMMhs1MRf_C3GFsrEP77gOIo,1432
|
|
28
28
|
devsecops_engine_tools/engine_core/src/domain/usecases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
29
29
|
devsecops_engine_tools/engine_core/src/domain/usecases/break_build.py,sha256=gIMtuO6J1jv80wJwdaBqHhPsHshYodF0fbDJ6UBzpcc,16924
|
|
30
|
-
devsecops_engine_tools/engine_core/src/domain/usecases/handle_risk.py,sha256=
|
|
31
|
-
devsecops_engine_tools/engine_core/src/domain/usecases/handle_scan.py,sha256=
|
|
30
|
+
devsecops_engine_tools/engine_core/src/domain/usecases/handle_risk.py,sha256=GrNdnA5qZ3fpTP9-UhVau_cVK6tGsQBOQDDLDQgZ4VA,9430
|
|
31
|
+
devsecops_engine_tools/engine_core/src/domain/usecases/handle_scan.py,sha256=abeULdsu_KzF3bx31qFlCWulq01aL34emKkYssR1b-w,10994
|
|
32
32
|
devsecops_engine_tools/engine_core/src/domain/usecases/metrics_manager.py,sha256=xfaGrDf9rnN32qG_zOD9NN-a62reqQ5KOd2bP6xoRnw,2417
|
|
33
33
|
devsecops_engine_tools/engine_core/src/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
34
34
|
devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -38,7 +38,7 @@ devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/secret
|
|
|
38
38
|
devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
39
39
|
devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/azure_devops.py,sha256=dKe8hno53uC7JDzRWeBdBeRbDHAasEYLxVaFSvWUVxU,5863
|
|
40
40
|
devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
41
|
-
devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py,sha256=
|
|
41
|
+
devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py,sha256=5OB8MkkC6seE0ce-Rot2yjj4VGmXBgLSxgiHK0bb1sg,32286
|
|
42
42
|
devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
43
43
|
devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/github_actions.py,sha256=jK3Qtt0UfSX4wbE4wo4iY7a8v8u1pcQcWASWmJ7sFfk,4216
|
|
44
44
|
devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -57,7 +57,7 @@ devsecops_engine_tools/engine_core/src/infrastructure/helpers/util.py,sha256=lDt
|
|
|
57
57
|
devsecops_engine_tools/engine_dast/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
58
58
|
devsecops_engine_tools/engine_dast/src/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
59
59
|
devsecops_engine_tools/engine_dast/src/applications/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
60
|
-
devsecops_engine_tools/engine_dast/src/applications/runner_dast_scan.py,sha256=
|
|
60
|
+
devsecops_engine_tools/engine_dast/src/applications/runner_dast_scan.py,sha256=kZa6jbb0qhqdZ9wjxXfHh5hgSBZr9um8A71wMPdp1GQ,5089
|
|
61
61
|
devsecops_engine_tools/engine_dast/src/deployment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
62
62
|
devsecops_engine_tools/engine_dast/src/deployment/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
63
63
|
devsecops_engine_tools/engine_dast/src/domain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -69,7 +69,7 @@ devsecops_engine_tools/engine_dast/src/domain/model/gateways/__init__.py,sha256=
|
|
|
69
69
|
devsecops_engine_tools/engine_dast/src/domain/model/gateways/authentication_gateway.py,sha256=JSi2LAK8kPctqPmh3KfxIkXeDY5sSRsXoPWqudlmyYQ,175
|
|
70
70
|
devsecops_engine_tools/engine_dast/src/domain/model/gateways/tool_gateway.py,sha256=F9Xusc7bQo25GpRvCMWPPQ_hlILbGF1yZKMAnm15Axs,255
|
|
71
71
|
devsecops_engine_tools/engine_dast/src/domain/usecases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
72
|
-
devsecops_engine_tools/engine_dast/src/domain/usecases/dast_scan.py,sha256=
|
|
72
|
+
devsecops_engine_tools/engine_dast/src/domain/usecases/dast_scan.py,sha256=1AvCnlfHEFNmdPaIg94C82zcdpiIW168Fy017ZhGQXg,4979
|
|
73
73
|
devsecops_engine_tools/engine_dast/src/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
74
74
|
devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
75
75
|
devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/http/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -125,7 +125,7 @@ devsecops_engine_tools/engine_sast/engine_code/src/domain/model/config_tool.py,s
|
|
|
125
125
|
devsecops_engine_tools/engine_sast/engine_code/src/domain/model/gateways/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
126
126
|
devsecops_engine_tools/engine_sast/engine_code/src/domain/model/gateways/tool_gateway.py,sha256=kseBXn2SzCaFNJLghY9bTOCVvD2v5t7DKcfxgSmvBc0,459
|
|
127
127
|
devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
128
|
-
devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases/code_scan.py,sha256=
|
|
128
|
+
devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases/code_scan.py,sha256=InGVKpQJHBrAuh68NcC-PQ9iWrpnIJRTrNpFBgOSx50,6108
|
|
129
129
|
devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
130
130
|
devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
131
131
|
devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -142,11 +142,11 @@ devsecops_engine_tools/engine_sast/engine_iac/src/deployment/__init__.py,sha256=
|
|
|
142
142
|
devsecops_engine_tools/engine_sast/engine_iac/src/deployment/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
143
143
|
devsecops_engine_tools/engine_sast/engine_iac/src/domain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
144
144
|
devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
145
|
-
devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/config_tool.py,sha256=
|
|
145
|
+
devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/config_tool.py,sha256=0QlOyVm6rNwaJ_OleY9sjKJ0y8YuOGx9gMe9TYeexdM,663
|
|
146
146
|
devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
147
147
|
devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/tool_gateway.py,sha256=ClElxyHbwfDCW0fgcehaNfQLq00zozhO71EnyCjzt-U,182
|
|
148
148
|
devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
149
|
-
devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/iac_scan.py,sha256=
|
|
149
|
+
devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/iac_scan.py,sha256=k8w4lLiWKrjNuAP2A_EadjAcpjWLkbj1YtIPHOVGoyw,6208
|
|
150
150
|
devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
151
151
|
devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
152
152
|
devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -175,8 +175,8 @@ devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/__init
|
|
|
175
175
|
devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/gateway_deserealizator.py,sha256=4fYPengHW3K0uVP6wHgOiNu-gRb08m78E7QZayZ2LC4,441
|
|
176
176
|
devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/tool_gateway.py,sha256=VMhjJFEXxFT7tqY3m2c384IhBRjCk7YMZ-DKs9lHivA,771
|
|
177
177
|
devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
178
|
-
devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/secret_scan.py,sha256=
|
|
179
|
-
devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/set_input_core.py,sha256=
|
|
178
|
+
devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/secret_scan.py,sha256=pqKuvngjTKslx57rOkEqEdUQK8puV9mtuzpuT2X6mDc,4593
|
|
179
|
+
devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/set_input_core.py,sha256=60UbHOUUviMzGwQGMHGCKI-Opxl5toDC-GHrsSkxAWQ,3252
|
|
180
180
|
devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
181
181
|
devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
182
182
|
devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/gitleaks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -203,7 +203,7 @@ devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/too
|
|
|
203
203
|
devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
204
204
|
devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/container_sca_scan.py,sha256=GvXsT-umEqB-2itAZiwlKIR581w78DbIJNknJ0o7EPw,4925
|
|
205
205
|
devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/handle_remote_config_patterns.py,sha256=4wgBTQSDE-C5v01C3Vxzeq0DJKZUSqQ5TVLG7yPZPKs,926
|
|
206
|
-
devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/set_input_core.py,sha256=
|
|
206
|
+
devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/set_input_core.py,sha256=_JolwotLLrrac1EdO0D86ZduO6XQROhGpsIXC7eyOgs,2666
|
|
207
207
|
devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
208
208
|
devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
209
209
|
devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -215,7 +215,7 @@ devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_ada
|
|
|
215
215
|
devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_deserialize_output.py,sha256=LGqnO10Zt-0-TxUW6F1S46jVktlIwxWSYATKSVblCWI,2535
|
|
216
216
|
devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_manager_scan.py,sha256=7hGrUU37ZqZKHfkiNX2YrhIlDna8XnhJ3F7ONhneexs,5105
|
|
217
217
|
devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
218
|
-
devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/entry_point_tool.py,sha256=
|
|
218
|
+
devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/entry_point_tool.py,sha256=SW6cJSc2pK42iRmYiqFz76kU4W2Tbhieq2IrppsgcNw,2666
|
|
219
219
|
devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
220
220
|
devsecops_engine_tools/engine_sca/engine_dependencies/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
221
221
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -231,7 +231,7 @@ devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/
|
|
|
231
231
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
232
232
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/dependencies_sca_scan.py,sha256=jrdWJhy9i6E_JFqXQDDgE7It-wYXjY3o9CgEfSTovsw,1741
|
|
233
233
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/handle_remote_config_patterns.py,sha256=cTM8IQRZJBr5zG5nhCkTxuw2fCHDZ3wrPgQhRjG88pg,968
|
|
234
|
-
devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/set_input_core.py,sha256=
|
|
234
|
+
devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/set_input_core.py,sha256=E3-ff4NcyIvPCN5xUV_d0Vh7k1OVXqbPrHzUPJBgmr0,2283
|
|
235
235
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
236
236
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
237
237
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -241,7 +241,7 @@ devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_
|
|
|
241
241
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_deserialize_output.py,sha256=ZUk-e1PKzV7uRAT7BpET363pgl2eMnXMCGSpewsOpKg,2236
|
|
242
242
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_manager_scan.py,sha256=Z6PHC5mV14q6yDDQ75qskjtIbV0mUn1LI47yshgY89Q,8910
|
|
243
243
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
244
|
-
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/entry_point_tool.py,sha256=
|
|
244
|
+
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/entry_point_tool.py,sha256=UZHaZDsfmHxMpFnLfwIxfgise5PuxrBbCR9LgT9AB7U,3681
|
|
245
245
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
246
246
|
devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/get_artifacts.py,sha256=CpzyUJyO2bRtv6mZJODV5NL5ea79_VRqsYKC0oYDsNU,4077
|
|
247
247
|
devsecops_engine_tools/engine_utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -276,21 +276,21 @@ devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type_l
|
|
|
276
276
|
devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/scan_configuration.py,sha256=-uVxaTkxnDmUUGQUdN9x_VKR8KJUagJKnGR6B1emoEU,577
|
|
277
277
|
devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
278
278
|
devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/finding.py,sha256=RinG3ISc-u_3VXVqntwdcQvZoQdmHPCvDHWSvnkCkcU,2619
|
|
279
|
-
devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/import_scan.py,sha256=
|
|
279
|
+
devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/import_scan.py,sha256=HVztT9mZoosfQp_vFC-fLnFHnEswqNdd2SlJUUk8B58,5281
|
|
280
280
|
devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
281
281
|
devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/finding.py,sha256=4IQLjqgyImVdn8AxoU3UKgXnvU-F-x7Tm2bJdp6nHm4,5265
|
|
282
|
-
devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/import_scan.py,sha256=
|
|
282
|
+
devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/import_scan.py,sha256=u66r-Dahak82bBCf8qMz5mEboWuCC52IjZo36jO4c4k,7623
|
|
283
283
|
devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
284
284
|
devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/cmdb.py,sha256=BUOdvP39bEMQ6Unr2hB28eljVGU2Uv8dDEkzRyEJgyQ,2650
|
|
285
285
|
devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/component.py,sha256=_icc-ZAqw-aVgE5J4VH8Q7fSqpCgEGcfmurgRIN9NqM,448
|
|
286
286
|
devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/engagement.py,sha256=SVX-weFRPT3DK7w6IBrLuWS4L6vboMuZtwXAQmIHfEE,406
|
|
287
287
|
devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/finding.py,sha256=TjfpdJtaBwQvT8XNJKBf6tuOASOAw7ZiOxJbqsKadaA,1689
|
|
288
288
|
devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/finding_exclusion.py,sha256=VqdwBiQGc9XFpatvbXGL837LtTxkWlfhWH46W1cTbCg,455
|
|
289
|
-
devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/import_scan.py,sha256=
|
|
289
|
+
devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/import_scan.py,sha256=59nAOG2I11ieVsQ5DJ7hoUFuIGVMmc4iQtSnw9f8EQM,7216
|
|
290
290
|
devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/product.py,sha256=6f6eABdC79zOopMe_Rif3XoGG-yFfq9x_EOkevTuGDY,368
|
|
291
291
|
devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
292
292
|
devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
293
|
-
devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/cmdb.py,sha256=
|
|
293
|
+
devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/cmdb.py,sha256=4F64rEQLwB-GsKmR5mnV3uMxVhV7VBHNdthN3fcvVGI,7029
|
|
294
294
|
devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/component.py,sha256=-J0Sv7z709Hctb-tgM0wmp5ofE4WKEIA_uJwzvMnStE,2132
|
|
295
295
|
devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/engagement.py,sha256=E6ilSQLOcJeBGYn_XXzJimUdi3l9vo0FpN1FhdNJV58,3866
|
|
296
296
|
devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/finding.py,sha256=k-z2tg_NPKMni7rZgXMZa2-t8_8F35r8YtF1EcjMyDs,2355
|
|
@@ -298,7 +298,7 @@ devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapt
|
|
|
298
298
|
devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/import_scan.py,sha256=uZqPM9sOyclq8q-uKRWUY9qR67SzpIzirM6T7KMkYZ4,6515
|
|
299
299
|
devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product.py,sha256=DhiLPv8KyRhHBRhvF0ULhchhGAT8SQyn1ftiuou_aKw,2576
|
|
300
300
|
devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product_type.py,sha256=x-Gh2BEP6IZccS2m_DLB8xI6aEkS19J0ZUpP2mjY88o,3078
|
|
301
|
-
devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/scan_configurations.py,sha256=
|
|
301
|
+
devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/scan_configurations.py,sha256=zTGOUJ4BFoF7aFTsuiecme2NAzJ_SWnnfS6mIsFWoVo,3122
|
|
302
302
|
devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
303
303
|
devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/settings.py,sha256=5ni59GuAHT-avpWNc4FSedVpoFRTGRNzjQJkAXpWv6c,28
|
|
304
304
|
devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/repository/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -329,7 +329,7 @@ devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/__init__.py,s
|
|
|
329
329
|
devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/gateways/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
330
330
|
devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/gateways/sonar_gateway.py,sha256=mgycD3bzC_BYv7qT0tMLAro9hyNOvi4gJRzceYNF0t8,1339
|
|
331
331
|
devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
332
|
-
devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases/report_sonar.py,sha256=
|
|
332
|
+
devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases/report_sonar.py,sha256=gXtkP3Ty4IoJpReWklVAGwuvxhqvrZUVThftOtTVYYo,10748
|
|
333
333
|
devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
334
334
|
devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
335
335
|
devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/sonarqube/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -349,8 +349,8 @@ devsecops_engine_tools/engine_utilities/utils/name_conversion.py,sha256=ADJrRGax
|
|
|
349
349
|
devsecops_engine_tools/engine_utilities/utils/printers.py,sha256=amYAr9YQfYgR6jK9a2l26z3oovFPQ3FAKmhq6BKhEBA,623
|
|
350
350
|
devsecops_engine_tools/engine_utilities/utils/session_manager.py,sha256=Z0fdhB3r-dxU0nGSD9zW_B4r2Qol1rUnUCkhFR0U-HQ,487
|
|
351
351
|
devsecops_engine_tools/engine_utilities/utils/utils.py,sha256=HCjS900TBoNcHrC4LaiP-Kf9frVdtagF130qOUgnO2M,6757
|
|
352
|
-
devsecops_engine_tools-1.
|
|
353
|
-
devsecops_engine_tools-1.
|
|
354
|
-
devsecops_engine_tools-1.
|
|
355
|
-
devsecops_engine_tools-1.
|
|
356
|
-
devsecops_engine_tools-1.
|
|
352
|
+
devsecops_engine_tools-1.54.0.dist-info/METADATA,sha256=bEyQiEaWJFiJ_FR6DczUgZ0FpN6njmsiyqWqS_mZgBc,11779
|
|
353
|
+
devsecops_engine_tools-1.54.0.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
|
|
354
|
+
devsecops_engine_tools-1.54.0.dist-info/entry_points.txt,sha256=MHCTFFs9bdNKo6YcWCcBW2_8X6yTisgLOlmVx-V8Rxc,276
|
|
355
|
+
devsecops_engine_tools-1.54.0.dist-info/top_level.txt,sha256=ge6y0X_xBAU1aG3EMWFtl9djbVyg5BxuSp2r2Lg6EQU,23
|
|
356
|
+
devsecops_engine_tools-1.54.0.dist-info/RECORD,,
|
|
File without changes
|
{devsecops_engine_tools-1.53.2.dist-info → devsecops_engine_tools-1.54.0.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{devsecops_engine_tools-1.53.2.dist-info → devsecops_engine_tools-1.54.0.dist-info}/top_level.txt
RENAMED
|
File without changes
|