devsecops-engine-tools 1.36.0__py3-none-any.whl → 1.37.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/infrastructure/driven_adapters/defect_dojo/defect_dojo.py +3 -0
- devsecops_engine_tools/engine_utilities/defect_dojo/applications/defect_dojo.py +7 -0
- devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/import_scan.py +3 -2
- devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/import_scan.py +1 -0
- devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/import_scan.py +70 -34
- devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/reimport_scan.py +74 -0
- devsecops_engine_tools/version.py +1 -1
- {devsecops_engine_tools-1.36.0.dist-info → devsecops_engine_tools-1.37.0.dist-info}/METADATA +1 -1
- {devsecops_engine_tools-1.36.0.dist-info → devsecops_engine_tools-1.37.0.dist-info}/RECORD +12 -11
- {devsecops_engine_tools-1.36.0.dist-info → devsecops_engine_tools-1.37.0.dist-info}/WHEEL +0 -0
- {devsecops_engine_tools-1.36.0.dist-info → devsecops_engine_tools-1.37.0.dist-info}/entry_points.txt +0 -0
- {devsecops_engine_tools-1.36.0.dist-info → devsecops_engine_tools-1.37.0.dist-info}/top_level.txt +0 -0
devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py
CHANGED
|
@@ -451,6 +451,7 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
|
|
|
451
451
|
"branch_tag": vulnerability_management.branch_tag,
|
|
452
452
|
"commit_hash": vulnerability_management.commit_hash,
|
|
453
453
|
"service": vulnerability_management.input_core.scope_pipeline,
|
|
454
|
+
"test_title": tags,
|
|
454
455
|
"environment": (
|
|
455
456
|
enviroment_mapping[vulnerability_management.environment.lower()]
|
|
456
457
|
if vulnerability_management.environment is not None
|
|
@@ -464,6 +465,8 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
|
|
|
464
465
|
"expression": vulnerability_management.config_tool["VULNERABILITY_MANAGER"][
|
|
465
466
|
"DEFECT_DOJO"
|
|
466
467
|
]["CMDB"]["REGEX_EXPRESSION_CMDB"],
|
|
468
|
+
"reimport_scan": vulnerability_management.config_tool["VULNERABILITY_MANAGER"][
|
|
469
|
+
"DEFECT_DOJO"]["REIMPORT_SCAN"]
|
|
467
470
|
}
|
|
468
471
|
|
|
469
472
|
if use_cmdb:
|
|
@@ -3,6 +3,9 @@ from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
|
|
|
3
3
|
from devsecops_engine_tools.engine_utilities.defect_dojo.infraestructure.driver_adapters.import_scan import (
|
|
4
4
|
ImportScanRestConsumer,
|
|
5
5
|
)
|
|
6
|
+
from devsecops_engine_tools.engine_utilities.defect_dojo.infraestructure.driver_adapters.reimport_scan import (
|
|
7
|
+
ReimportScanRestConsumer,
|
|
8
|
+
)
|
|
6
9
|
from devsecops_engine_tools.engine_utilities.defect_dojo.infraestructure.driver_adapters.product_type import (
|
|
7
10
|
ProductTypeRestConsumer,
|
|
8
11
|
)
|
|
@@ -48,12 +51,16 @@ class DefectDojo:
|
|
|
48
51
|
rest_scan_configuration = ScanConfigrationRestConsumer(
|
|
49
52
|
request, session=SessionManager()
|
|
50
53
|
)
|
|
54
|
+
rest_reimport_scan = ReimportScanRestConsumer(
|
|
55
|
+
request, session=SessionManager()
|
|
56
|
+
)
|
|
51
57
|
uc = ImportScanUserCase(
|
|
52
58
|
rest_import_scan,
|
|
53
59
|
rest_product_type,
|
|
54
60
|
rest_product,
|
|
55
61
|
rest_scan_configuration,
|
|
56
62
|
rest_engagement=rest_engagement,
|
|
63
|
+
rest_reimport_scan=rest_reimport_scan
|
|
57
64
|
)
|
|
58
65
|
return uc.execute(request)
|
|
59
66
|
except ApiError as e:
|
|
@@ -52,10 +52,10 @@ class ImportScanRequest:
|
|
|
52
52
|
cmdb_mapping: dict = None
|
|
53
53
|
product_type_name_mapping: dict = None
|
|
54
54
|
compact_remote_config_url: str = None
|
|
55
|
-
# ** Expression
|
|
56
55
|
expression: str = ""
|
|
57
|
-
# ** Test url
|
|
58
56
|
url: str = ""
|
|
57
|
+
reimport_scan: bool = None
|
|
58
|
+
test_title: str = ""
|
|
59
59
|
|
|
60
60
|
@classmethod
|
|
61
61
|
def from_dict(cls, obj):
|
|
@@ -100,6 +100,7 @@ class ImportScanRequest:
|
|
|
100
100
|
product_type_name_mapping=obj.get("product_type_name_mapping"),
|
|
101
101
|
expression=obj.get("expression"),
|
|
102
102
|
compact_remote_config_url=obj.get("compact_remote_config_url"),
|
|
103
|
+
reimport_scan=obj.get("reimport_scan"),
|
|
103
104
|
)
|
|
104
105
|
return obj
|
|
105
106
|
|
|
@@ -219,6 +219,7 @@ class ImportScanSerializer(Schema):
|
|
|
219
219
|
project_remote_config = fields.Str(required=False)
|
|
220
220
|
# regulare expression
|
|
221
221
|
expression = fields.Str(required=True)
|
|
222
|
+
reimport_scan = fields.Bool(required=False, default=False)
|
|
222
223
|
|
|
223
224
|
@post_load
|
|
224
225
|
def make_cmdb(self, data, **kwargs):
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import re
|
|
2
2
|
import os
|
|
3
|
-
|
|
3
|
+
import urllib3
|
|
4
4
|
from devsecops_engine_tools.engine_utilities.settings import SETTING_LOGGER
|
|
5
|
+
from devsecops_engine_tools.engine_utilities.utils.api_error import ApiError
|
|
5
6
|
from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
|
|
6
7
|
from devsecops_engine_tools.engine_utilities.defect_dojo.infraestructure.driver_adapters.import_scan import ImportScanRestConsumer
|
|
8
|
+
from devsecops_engine_tools.engine_utilities.defect_dojo.infraestructure.driver_adapters.reimport_scan import ReimportScanRestConsumer
|
|
7
9
|
from devsecops_engine_tools.engine_utilities.defect_dojo.infraestructure.driver_adapters.product_type import ProductTypeRestConsumer
|
|
8
10
|
from devsecops_engine_tools.engine_utilities.defect_dojo.infraestructure.driver_adapters.product import ProductRestConsumer
|
|
9
11
|
from devsecops_engine_tools.engine_utilities.defect_dojo.infraestructure.driver_adapters.scan_configurations import (
|
|
10
|
-
ScanConfigrationRestConsumer
|
|
11
|
-
)
|
|
12
|
+
ScanConfigrationRestConsumer)
|
|
12
13
|
from devsecops_engine_tools.engine_utilities.defect_dojo.infraestructure.driver_adapters.engagement import EngagementRestConsumer
|
|
13
14
|
from devsecops_engine_tools.engine_utilities.defect_dojo.domain.request_objects.import_scan import ImportScanRequest
|
|
14
|
-
import urllib3
|
|
15
15
|
|
|
16
16
|
logger = MyLogger.__call__(**SETTING_LOGGER).get_logger()
|
|
17
17
|
|
|
@@ -26,15 +26,76 @@ class ImportScanUserCase:
|
|
|
26
26
|
rest_product: ProductRestConsumer,
|
|
27
27
|
rest_scan_configuration: ScanConfigrationRestConsumer,
|
|
28
28
|
rest_engagement: EngagementRestConsumer,
|
|
29
|
+
rest_reimport_scan: ReimportScanRestConsumer,
|
|
29
30
|
):
|
|
30
31
|
self.__rest_import_scan = rest_import_scan
|
|
31
32
|
self.__rest_product_type = rest_product_type
|
|
32
33
|
self.__rest_product = rest_product
|
|
33
34
|
self.__rest_scan_configurations = rest_scan_configuration
|
|
34
35
|
self.__rest_engagement = rest_engagement
|
|
36
|
+
self.__rest_reimport_scan = rest_reimport_scan
|
|
35
37
|
|
|
36
|
-
|
|
38
|
+
|
|
39
|
+
def get_file_type(self, path_file):
|
|
40
|
+
__, extension = os.path.splitext(path_file)
|
|
41
|
+
dict_rule_type_file = {
|
|
42
|
+
".csv": "text/csv",
|
|
43
|
+
".json": "apllication/json",
|
|
44
|
+
".xml": "aplication/xml",
|
|
45
|
+
".sarif": "aplication/json",
|
|
46
|
+
}
|
|
47
|
+
file_type = dict_rule_type_file.get(extension)
|
|
48
|
+
return file_type
|
|
49
|
+
|
|
50
|
+
def import_scan(self, request, api_scan_bool):
|
|
37
51
|
response = None
|
|
52
|
+
|
|
53
|
+
if api_scan_bool:
|
|
54
|
+
response = self.__rest_import_scan.import_scan_api(request)
|
|
55
|
+
logger.info(f"End process Succesfull!!!: {response}")
|
|
56
|
+
else:
|
|
57
|
+
try:
|
|
58
|
+
file_type = self.get_file_type(request.file)
|
|
59
|
+
if file_type is None:
|
|
60
|
+
raise ApiError("File format not allowed")
|
|
61
|
+
|
|
62
|
+
with open(request.file, "rb") as file:
|
|
63
|
+
logger.info(f"read {file_type} file successful !!!")
|
|
64
|
+
files = [("file", (request.file, file, file_type))]
|
|
65
|
+
response = self.__rest_import_scan.import_scan(request, files)
|
|
66
|
+
|
|
67
|
+
except Exception as e:
|
|
68
|
+
raise ApiError(e)
|
|
69
|
+
|
|
70
|
+
response.url = f"{request.host_defect_dojo}/engagement/{str(response.engagement_id)}/finding/open"
|
|
71
|
+
return response
|
|
72
|
+
|
|
73
|
+
def reimport_scan(self, request, api_scan_bool):
|
|
74
|
+
response = None
|
|
75
|
+
|
|
76
|
+
if api_scan_bool:
|
|
77
|
+
logger.debug(f"reimport scan :{self.__rest_reimport_scan}")
|
|
78
|
+
response = self.__rest_reimport_scan.reimport_scan(request)
|
|
79
|
+
logger.info(f"End process Succesfull!!!: {response}")
|
|
80
|
+
else:
|
|
81
|
+
try:
|
|
82
|
+
logger.debug(f"reimport scan file :{self.__rest_reimport_scan}")
|
|
83
|
+
file_type = self.get_file_type(request.file)
|
|
84
|
+
if file_type is None:
|
|
85
|
+
raise ApiError("File format not allowed")
|
|
86
|
+
|
|
87
|
+
with open(request.file, "rb") as file:
|
|
88
|
+
logger.info(f"read {file_type} file successful !!!")
|
|
89
|
+
files = [("file", (request.file, file, file_type))]
|
|
90
|
+
response = self.__rest_reimport_scan.reimport_scan(request, files)
|
|
91
|
+
|
|
92
|
+
except Exception as e:
|
|
93
|
+
raise ApiError(e)
|
|
94
|
+
|
|
95
|
+
response.url = f"{request.host_defect_dojo}/engagement/{str(response.engagement_id)}/finding/open"
|
|
96
|
+
return response
|
|
97
|
+
|
|
98
|
+
def execute(self, request: ImportScanRequest) -> ImportScanRequest:
|
|
38
99
|
product_id = None
|
|
39
100
|
|
|
40
101
|
if (request.product_name or request.product_type_name) == "":
|
|
@@ -101,33 +162,8 @@ class ImportScanUserCase:
|
|
|
101
162
|
engagement = self.__rest_engagement.post_engagement(request.engagement_name, product_id)
|
|
102
163
|
logger.debug(f"Egagement created: {engagement.name} whit product id {engagement.product}")
|
|
103
164
|
|
|
104
|
-
if
|
|
105
|
-
|
|
106
|
-
|
|
165
|
+
if request.reimport_scan is True:
|
|
166
|
+
logger.debug("reimport scan flow")
|
|
167
|
+
return self.reimport_scan(request, api_scan_bool)
|
|
107
168
|
else:
|
|
108
|
-
|
|
109
|
-
file_type = self.get_file_type(request.file)
|
|
110
|
-
if file_type is None:
|
|
111
|
-
raise ApiError("File format not allowed")
|
|
112
|
-
|
|
113
|
-
with open(request.file, "rb") as file:
|
|
114
|
-
logger.info(f"read {file_type} file successful !!!")
|
|
115
|
-
files = [("file", (request.file, file, file_type))]
|
|
116
|
-
response = self.__rest_import_scan.import_scan(request, files)
|
|
117
|
-
|
|
118
|
-
except Exception as e:
|
|
119
|
-
raise ApiError(e)
|
|
120
|
-
|
|
121
|
-
response.url = f"{request.host_defect_dojo}/engagement/{str(response.engagement_id)}/finding/open"
|
|
122
|
-
return response
|
|
123
|
-
|
|
124
|
-
def get_file_type(self, path_file):
|
|
125
|
-
__, extension = os.path.splitext(path_file)
|
|
126
|
-
dict_rule_type_file = {
|
|
127
|
-
".csv": "text/csv",
|
|
128
|
-
".json": "apllication/json",
|
|
129
|
-
".xml": "aplication/xml",
|
|
130
|
-
".sarif": "aplication/json",
|
|
131
|
-
}
|
|
132
|
-
file_type = dict_rule_type_file.get(extension)
|
|
133
|
-
return file_type
|
|
169
|
+
return self.import_scan(request, api_scan_bool)
|
devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/reimport_scan.py
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
from devsecops_engine_tools.engine_utilities.utils.api_error import ApiError
|
|
2
|
+
from devsecops_engine_tools.engine_utilities.defect_dojo.domain.request_objects.import_scan import ImportScanRequest
|
|
3
|
+
from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
|
|
4
|
+
from devsecops_engine_tools.engine_utilities.defect_dojo.infraestructure.driver_adapters.settings.settings import VERIFY_CERTIFICATE
|
|
5
|
+
from devsecops_engine_tools.engine_utilities.utils.session_manager import SessionManager
|
|
6
|
+
from devsecops_engine_tools.engine_utilities.settings import SETTING_LOGGER
|
|
7
|
+
|
|
8
|
+
logger = MyLogger.__call__(**SETTING_LOGGER).get_logger()
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class ReimportScanRestConsumer:
|
|
12
|
+
|
|
13
|
+
def __init__(self, request: ImportScanRequest, session: SessionManager):
|
|
14
|
+
self.__token = request.token_defect_dojo
|
|
15
|
+
self.__host = request.host_defect_dojo
|
|
16
|
+
self.__session = session._instance
|
|
17
|
+
|
|
18
|
+
def reimport_scan(self, request: ImportScanRequest, files) -> ImportScanRequest:
|
|
19
|
+
url = f"{self.__host}/api/v2/reimport-scan/"
|
|
20
|
+
logger.debug(f"URL: {url}")
|
|
21
|
+
payload = {
|
|
22
|
+
"scan_date": request.scan_date,
|
|
23
|
+
"minimum_severity": request.minimum_severity,
|
|
24
|
+
"active": request.active,
|
|
25
|
+
"verified": request.verified,
|
|
26
|
+
"scan_type": request.scan_type,
|
|
27
|
+
"endpoint_to_add": request.endpoint_to_add,
|
|
28
|
+
"file": files,
|
|
29
|
+
"product_type_name": request.product_type_name,
|
|
30
|
+
"product_name": request.product_name,
|
|
31
|
+
"engagement_name": request.engagement_name,
|
|
32
|
+
"engagement_end_date": request.engagement_end_date,
|
|
33
|
+
"source_code_management_uri": request.source_code_management_uri,
|
|
34
|
+
"auto_create_context": "true",
|
|
35
|
+
"deduplication_on_engagement": request.deduplication_on_engagement,
|
|
36
|
+
"lead": request.lead,
|
|
37
|
+
"push_to_jira": request.push_to_jira,
|
|
38
|
+
"environment": request.environment,
|
|
39
|
+
"build_id": request.build_id,
|
|
40
|
+
"branch_tag": request.branch_tag,
|
|
41
|
+
"commit_hash": request.commit_hash,
|
|
42
|
+
"api_scan_configuration": str(request.api_scan_configuration)
|
|
43
|
+
if request.api_scan_configuration != 0
|
|
44
|
+
else "",
|
|
45
|
+
"service": request.service,
|
|
46
|
+
"group_by": request.group_by,
|
|
47
|
+
"create_finding_groups_for_all_findings": request.create_finding_groups_for_all_findings,
|
|
48
|
+
"do_not_reactive"
|
|
49
|
+
"scan_type": request.scan_type,
|
|
50
|
+
"close_old_findings": request.close_old_findings,
|
|
51
|
+
"close_old_findings_product_scope": request.close_old_findings_product_scope,
|
|
52
|
+
"version": request.version,
|
|
53
|
+
"tags": request.tags,
|
|
54
|
+
"test_title": request.test_title,
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
headers = {"Authorization": f"Token {self.__token}"}
|
|
58
|
+
try:
|
|
59
|
+
response = self.__session.post(
|
|
60
|
+
url,
|
|
61
|
+
headers=headers,
|
|
62
|
+
data=payload,
|
|
63
|
+
files=files,
|
|
64
|
+
verify=VERIFY_CERTIFICATE
|
|
65
|
+
)
|
|
66
|
+
if response.status_code != 201:
|
|
67
|
+
logger.error(response.json())
|
|
68
|
+
raise ApiError(response.json())
|
|
69
|
+
logger.info(f"Sucessfull {response}")
|
|
70
|
+
response = ImportScanRequest.from_dict(response.json())
|
|
71
|
+
except Exception as e:
|
|
72
|
+
logger.error(f"from dict import Scan: {response.json()}")
|
|
73
|
+
raise ApiError(e)
|
|
74
|
+
return response
|
|
@@ -1 +1 @@
|
|
|
1
|
-
version = '1.
|
|
1
|
+
version = '1.37.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=mKVVNS_mP15gWl2DD7oonpIpaGICZiDbUYmhzIK6Wtw,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
|
|
@@ -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=lNjYo83p3lovwfW4BeBtHQZckZl9m-9jlcIB-DesqhY,5316
|
|
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=aGwnDyQcI5NSufaQRPZHnXn4r2l_V0RnkWxzUj3hr0I,29560
|
|
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=cn9VGDaD9gUnJrLn9vEkQvfqYHIJftGE9ZACHEUOUxo,4132
|
|
44
44
|
devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -257,7 +257,7 @@ devsecops_engine_tools/engine_utilities/defect_dojo/hello_world.py,sha256=WDvgS2
|
|
|
257
257
|
devsecops_engine_tools/engine_utilities/defect_dojo/applications/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
258
258
|
devsecops_engine_tools/engine_utilities/defect_dojo/applications/component.py,sha256=Y6vA1nRfMCoqJEceRBDQ_QLpIKASqB-t8V1yqao-eUQ,1175
|
|
259
259
|
devsecops_engine_tools/engine_utilities/defect_dojo/applications/connect.py,sha256=tRvNN-zVKBJbHMvfW97SCsZoyjGaKttcQhLOKrbjK9E,2079
|
|
260
|
-
devsecops_engine_tools/engine_utilities/defect_dojo/applications/defect_dojo.py,sha256=
|
|
260
|
+
devsecops_engine_tools/engine_utilities/defect_dojo/applications/defect_dojo.py,sha256=WKx_nBZV9bZj-Y9UAg-C4SeCapbRhQb7475lcuzlGVg,2943
|
|
261
261
|
devsecops_engine_tools/engine_utilities/defect_dojo/applications/engagement.py,sha256=sPTeQs6QHg07QNthqhY3caVbG54vDkd_E_KJpBvgTk4,878
|
|
262
262
|
devsecops_engine_tools/engine_utilities/defect_dojo/applications/finding.py,sha256=Cw5_TElo0D0Ec8X0lu-La2H9Pp1rsrmw-2Wv-0w_9oI,1451
|
|
263
263
|
devsecops_engine_tools/engine_utilities/defect_dojo/applications/finding_exclusion.py,sha256=StnDFV3vGhBffBEs-jfV9nMprzRucm5VJqtZFWKF3Fo,689
|
|
@@ -276,17 +276,17 @@ 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=bISidRCaCMTXZBMOUlvQWW1yCLMPKRU0MCq2Nk9P7ZY,5085
|
|
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=CvAxMDQBgqI7sCE8wGL7PYlyhpUQQJT6iU763EngYmc,7354
|
|
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=N31WBga-wu0inWOuikasSUP9ASemDJtrcHg31whCALM,8573
|
|
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
|
|
@@ -298,6 +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=68Qd8o0oSxFG-3cRlX97BkX9muS6k64DGslGtX9sx6M,5897
|
|
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/reimport_scan.py,sha256=6Wtg88p9WFdWjEAfNT2qjUcRGRg6wmruvuKcmajG3A8,3469
|
|
301
302
|
devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/scan_configurations.py,sha256=YVIHiXPkJ8m1nOW7lG8LGbST16eMZoJwFQcrRRU7R6k,3089
|
|
302
303
|
devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
303
304
|
devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/settings.py,sha256=5ni59GuAHT-avpWNc4FSedVpoFRTGRNzjQJkAXpWv6c,28
|
|
@@ -347,8 +348,8 @@ devsecops_engine_tools/engine_utilities/utils/name_conversion.py,sha256=ADJrRGax
|
|
|
347
348
|
devsecops_engine_tools/engine_utilities/utils/printers.py,sha256=amYAr9YQfYgR6jK9a2l26z3oovFPQ3FAKmhq6BKhEBA,623
|
|
348
349
|
devsecops_engine_tools/engine_utilities/utils/session_manager.py,sha256=Z0fdhB3r-dxU0nGSD9zW_B4r2Qol1rUnUCkhFR0U-HQ,487
|
|
349
350
|
devsecops_engine_tools/engine_utilities/utils/utils.py,sha256=XFap4yOK7ItLWsqbwDhvLd7NpDhs7i-UGJAMD6jjd7w,6687
|
|
350
|
-
devsecops_engine_tools-1.
|
|
351
|
-
devsecops_engine_tools-1.
|
|
352
|
-
devsecops_engine_tools-1.
|
|
353
|
-
devsecops_engine_tools-1.
|
|
354
|
-
devsecops_engine_tools-1.
|
|
351
|
+
devsecops_engine_tools-1.37.0.dist-info/METADATA,sha256=i-HTGiYjg0YQjYwpabkhUQRCNp3Oxa5WAl4oi1_awHM,11605
|
|
352
|
+
devsecops_engine_tools-1.37.0.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
|
|
353
|
+
devsecops_engine_tools-1.37.0.dist-info/entry_points.txt,sha256=MHCTFFs9bdNKo6YcWCcBW2_8X6yTisgLOlmVx-V8Rxc,276
|
|
354
|
+
devsecops_engine_tools-1.37.0.dist-info/top_level.txt,sha256=ge6y0X_xBAU1aG3EMWFtl9djbVyg5BxuSp2r2Lg6EQU,23
|
|
355
|
+
devsecops_engine_tools-1.37.0.dist-info/RECORD,,
|
|
File without changes
|
{devsecops_engine_tools-1.36.0.dist-info → devsecops_engine_tools-1.37.0.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{devsecops_engine_tools-1.36.0.dist-info → devsecops_engine_tools-1.37.0.dist-info}/top_level.txt
RENAMED
|
File without changes
|