devsecops-engine-tools 1.35.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.

Files changed (22) hide show
  1. devsecops_engine_tools/engine_core/src/applications/runner_engine_core.py +1 -1
  2. devsecops_engine_tools/engine_core/src/domain/model/gateway/devops_platform_gateway.py +4 -0
  3. devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/azure_devops.py +3 -0
  4. devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py +3 -0
  5. devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/github_actions.py +3 -0
  6. devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/runtime_local.py +3 -0
  7. devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/tool_gateway.py +1 -1
  8. devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/dependencies_sca_scan.py +8 -0
  9. devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_tool.py +1 -0
  10. devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_manager_scan.py +35 -2
  11. devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/entry_point_tool.py +5 -0
  12. devsecops_engine_tools/engine_utilities/defect_dojo/applications/defect_dojo.py +7 -0
  13. devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/import_scan.py +3 -2
  14. devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/import_scan.py +1 -0
  15. devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/import_scan.py +70 -34
  16. devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/reimport_scan.py +74 -0
  17. devsecops_engine_tools/version.py +1 -1
  18. {devsecops_engine_tools-1.35.0.dist-info → devsecops_engine_tools-1.37.0.dist-info}/METADATA +2 -2
  19. {devsecops_engine_tools-1.35.0.dist-info → devsecops_engine_tools-1.37.0.dist-info}/RECORD +22 -21
  20. {devsecops_engine_tools-1.35.0.dist-info → devsecops_engine_tools-1.37.0.dist-info}/WHEEL +0 -0
  21. {devsecops_engine_tools-1.35.0.dist-info → devsecops_engine_tools-1.37.0.dist-info}/entry_points.txt +0 -0
  22. {devsecops_engine_tools-1.35.0.dist-info → devsecops_engine_tools-1.37.0.dist-info}/top_level.txt +0 -0
@@ -160,7 +160,7 @@ def get_inputs_from_cli(args):
160
160
  )
161
161
  parser.add_argument(
162
162
  "--xray_mode",
163
- choices=["scan", "audit"],
163
+ choices=["scan", "audit","build-scan"],
164
164
  required=False,
165
165
  default="scan",
166
166
  help="Mode to execute xray, only apply engine_dependencies xray tool",
@@ -21,6 +21,10 @@ class DevopsPlatformGateway(metaclass=ABCMeta):
21
21
  @abstractmethod
22
22
  def get_base_compact_remote_config_url(self, remote_config_repo):
23
23
  "get_base_compact_remote_config_url"
24
+
25
+ @abstractmethod
26
+ def get_build_pipeline_execution_url(self):
27
+ "get_build_pipeline_execution_url"
24
28
 
25
29
  @abstractmethod
26
30
  def get_variable(self, variable):
@@ -70,6 +70,9 @@ class AzureDevops(DevopsPlatformGateway):
70
70
  f"{remote_config_repo}?path=/"
71
71
  )
72
72
 
73
+ def get_build_pipeline_execution_url(self):
74
+ return f"{SystemVariables.System_TeamFoundationCollectionUri.value()}{SystemVariables.System_TeamProject.value()}/_build?buildId={BuildVariables.Build_BuildId.value()}"
75
+
73
76
  def get_variable(self, variable):
74
77
 
75
78
  variable_map = {
@@ -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:
@@ -61,6 +61,9 @@ class GithubActions(DevopsPlatformGateway):
61
61
  owner = split[0]
62
62
  return f"{SystemVariables.github_server_url}/{owner}/{remote_config_repo}"
63
63
 
64
+ def get_build_pipeline_execution_url(self):
65
+ return f"{SystemVariables.github_server_url.value()}/{SystemVariables.github_repository.value()}/actions/runs/{BuildVariables.github_run_id.value()}"
66
+
64
67
  def get_variable(self, variable):
65
68
  variable_map = {
66
69
  "branch_name": BuildVariables.github_ref,
@@ -42,6 +42,9 @@ class RuntimeLocal(DevopsPlatformGateway):
42
42
 
43
43
  def get_source_code_management_uri(self):
44
44
  return os.environ.get("DET_SOURCE_CODE_MANAGEMENT_URI")
45
+
46
+ def get_build_pipeline_execution_url(self):
47
+ return os.environ.get("DET_BUILD_PIPELINE_EXECUTION_URL")
45
48
 
46
49
  def get_base_compact_remote_config_url(self, remote_config_repo):
47
50
  return f"{os.environ.get('DET_BASE_COMPACT_REMOTE_CONFIG_URL')}?path=/"
@@ -4,6 +4,6 @@ from abc import ABCMeta, abstractmethod
4
4
  class ToolGateway(metaclass=ABCMeta):
5
5
  @abstractmethod
6
6
  def run_tool_dependencies_sca(
7
- self, remote_config, dict_args, to_scan, secret_tool, token_engine_dependencies
7
+ self, remote_config, dict_args,to_scan, secret_tool, token_engine_dependencies,**kwargs
8
8
  ) -> str:
9
9
  "run tool dependencies sca"
@@ -17,6 +17,9 @@ class DependenciesScan:
17
17
  pipeline_name,
18
18
  to_scan,
19
19
  secret_tool,
20
+ build_id,
21
+ build_url
22
+
20
23
  ):
21
24
  self.tool_run = tool_run
22
25
  self.tool_deserializator = tool_deserializator
@@ -26,6 +29,9 @@ class DependenciesScan:
26
29
  self.dict_args = dict_args
27
30
  self.to_scan = to_scan
28
31
  self.secret_tool = secret_tool
32
+ self.build_id = build_id
33
+ self.build_url = build_url
34
+
29
35
 
30
36
  def process(self):
31
37
  """
@@ -41,6 +47,8 @@ class DependenciesScan:
41
47
  self.to_scan,
42
48
  self.secret_tool,
43
49
  self.dict_args["token_engine_dependencies"],
50
+ build_id=self.build_id,
51
+ build_url=self.build_url
44
52
  )
45
53
 
46
54
  def deserializator(self, dependencies_scanned):
@@ -119,6 +119,7 @@ class DependencyCheckTool(ToolGateway):
119
119
  to_scan,
120
120
  token,
121
121
  token_engine_dependencies,
122
+ **kwargs,
122
123
  ):
123
124
  if not self.is_java_installed():
124
125
  logger.error(
@@ -105,13 +105,42 @@ class XrayScan(ToolGateway):
105
105
  if os.path.exists(gradlew_path):
106
106
  os.chmod(gradlew_path, 0o755)
107
107
 
108
- def scan_dependencies(self, prefix, cwd, config, mode, to_scan):
108
+ def scan_dependencies(self, prefix, cwd,pipeline_name,build_id,build_url,config, mode, to_scan):
109
109
  command = [
110
110
  prefix,
111
111
  mode,
112
112
  "--format=json",
113
113
  f"{to_scan}",
114
114
  ]
115
+
116
+ if mode == "build-scan":
117
+ #build info execution command
118
+ build_info_command =[
119
+ prefix,
120
+ "rt",
121
+ "bp",
122
+ pipeline_name,
123
+ build_id,
124
+ "--env-exclude=*password*;*psw*;*secret*;*key*;*token*;*auth*;",
125
+ f"--build-url={build_url}"
126
+ ]
127
+ build_info_result = subprocess.run(build_info_command, cwd=cwd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
128
+
129
+ if not build_info_result.stdout:
130
+ logger.error(f"Build info NOT successfully deployed to Jfrog Arifactory.: {build_info_result.stderr}")
131
+ return None
132
+ print("##[info]Build info successfully deployed.")
133
+ #build-scan execution command
134
+ command = [
135
+ prefix,
136
+ mode,
137
+ pipeline_name,
138
+ build_id,
139
+ "--format=json",
140
+ "--vuln",
141
+ "--fail=false",
142
+ "--rescan=true"
143
+ ]
115
144
  result = subprocess.run(
116
145
  command, cwd=cwd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True
117
146
  )
@@ -153,9 +182,10 @@ class XrayScan(ToolGateway):
153
182
  to_scan,
154
183
  secret_tool,
155
184
  token_engine_dependencies,
185
+ **kwargs,
156
186
  ):
157
187
  token = secret_tool["token_xray"] if secret_tool else token_engine_dependencies
158
- if dict_args["xray_mode"] == "scan":
188
+ if dict_args["xray_mode"] == "scan" or dict_args["xray_mode"] == "build-scan":
159
189
  get_artifacts = GetArtifacts()
160
190
  pattern = get_artifacts.excluded_files(
161
191
  remote_config, pipeline_name, exclusion, "XRAY"
@@ -192,6 +222,9 @@ class XrayScan(ToolGateway):
192
222
  results_file = self.scan_dependencies(
193
223
  command_prefix,
194
224
  cwd,
225
+ pipeline_name,
226
+ kwargs.get("build_id"),
227
+ kwargs.get("build_url"),
195
228
  remote_config,
196
229
  dict_args["xray_mode"],
197
230
  to_scan,
@@ -42,6 +42,8 @@ def init_engine_dependencies(
42
42
  dict_args["remote_config_branch"]
43
43
  )
44
44
  pipeline_name = tool_remote.get_variable("pipeline_name")
45
+ build_id = tool_remote.get_variable("build_id")
46
+ build_url = tool_remote.get_build_pipeline_execution_url()
45
47
 
46
48
  handle_remote_config_patterns = HandleRemoteConfigPatterns(
47
49
  remote_config, exclusions, pipeline_name
@@ -72,6 +74,9 @@ def init_engine_dependencies(
72
74
  pipeline_name,
73
75
  to_scan,
74
76
  secret_tool,
77
+ build_id,
78
+ build_url
79
+
75
80
  )
76
81
  if config_sbom["ENABLED"] and any(
77
82
  branch in str(tool_remote.get_variable("branch_tag"))
@@ -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
- from devsecops_engine_tools.engine_utilities.utils.api_error import ApiError
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
- def execute(self, request: ImportScanRequest) -> ImportScanRequest:
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 api_scan_bool:
105
- response = self.__rest_import_scan.import_scan_api(request)
106
- logger.info(f"End process Succesfull!!!: {response}")
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
- try:
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)
@@ -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.35.0'
1
+ version = '1.37.0'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: devsecops-engine-tools
3
- Version: 1.35.0
3
+ Version: 1.37.0
4
4
  Summary: Tool for DevSecOps strategy
5
5
  Home-page: https://github.com/bancolombia/devsecops-engine-tools
6
6
  Author: Bancolombia DevSecOps Team
@@ -74,7 +74,7 @@ pip3 install devsecops-engine-tools
74
74
  ### Scan running - flags (CLI)
75
75
 
76
76
  ```bash
77
- devsecops-engine-tools --platform_devops ["local","azure","github"] --remote_config_repo ["remote_config_repo"] --remote_config_branch ["remote_config_branch"] --tool ["engine_iac", "engine_dast", "engine_secret", "engine_dependencies", "engine_container", "engine_risk", "engine_code"] --folder_path ["Folder path scan engine_iac, engine_code, engine_dependencies and engine_secret"] --platform ["k8s","cloudformation","docker", "openapi", "terraform"] --use_secrets_manager ["false", "true"] --use_vulnerability_management ["false", "true"] --send_metrics ["false", "true"] --token_cmdb ["token_cmdb"] --token_vulnerability_management ["token_vulnerability_management"] --token_engine_container ["token_engine_container"] --token_engine_dependencies ["token_engine_dependencies"] --token_external_checks ["token_external_checks"] --xray_mode ["scan", "audit"] --image_to_scan ["image_to_scan"] --dast_file_path ["dast_file_path"]
77
+ devsecops-engine-tools --platform_devops ["local","azure","github"] --remote_config_repo ["remote_config_repo"] --remote_config_branch ["remote_config_branch"] --tool ["engine_iac", "engine_dast", "engine_secret", "engine_dependencies", "engine_container", "engine_risk", "engine_code"] --folder_path ["Folder path scan engine_iac, engine_code, engine_dependencies and engine_secret"] --platform ["k8s","cloudformation","docker", "openapi", "terraform"] --use_secrets_manager ["false", "true"] --use_vulnerability_management ["false", "true"] --send_metrics ["false", "true"] --token_cmdb ["token_cmdb"] --token_vulnerability_management ["token_vulnerability_management"] --token_engine_container ["token_engine_container"] --token_engine_dependencies ["token_engine_dependencies"] --token_external_checks ["token_external_checks"] --xray_mode ["scan", "audit","build-scan"] --image_to_scan ["image_to_scan"] --dast_file_path ["dast_file_path"]
78
78
  ```
79
79
 
80
80
  ### Structure Remote Config
@@ -1,9 +1,9 @@
1
1
  devsecops_engine_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- devsecops_engine_tools/version.py,sha256=AhwlqZYhNUZRiQCFEqxX4A3RccAOI4GKRaFQDLe8wGs,19
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
6
- devsecops_engine_tools/engine_core/src/applications/runner_engine_core.py,sha256=68fhJcBdGM3DElwGGvZWFI9JJVAHrGUFTuaDa_qVxMg,8181
6
+ devsecops_engine_tools/engine_core/src/applications/runner_engine_core.py,sha256=panasPdwMUKZYgcQXQdMqTjOISzx0OQcmsS61EeMucI,8194
7
7
  devsecops_engine_tools/engine_core/src/deployment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
8
  devsecops_engine_tools/engine_core/src/deployment/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
9
  devsecops_engine_tools/engine_core/src/domain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -19,7 +19,7 @@ devsecops_engine_tools/engine_core/src/domain/model/report.py,sha256=09QV_jBQbuc
19
19
  devsecops_engine_tools/engine_core/src/domain/model/threshold.py,sha256=TCBECuvoC3-9g8vg3iKWGIixssNecP0iUaZ9Qzv0n7w,596
20
20
  devsecops_engine_tools/engine_core/src/domain/model/vulnerability_management.py,sha256=04ALQoTM4uoea9s505WCDw18J3Cvu6phf54ZTKODN64,552
21
21
  devsecops_engine_tools/engine_core/src/domain/model/gateway/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
- devsecops_engine_tools/engine_core/src/domain/model/gateway/devops_platform_gateway.py,sha256=7u7Qq2fq_QW7PJmGnSKZZyVSjTwnj3Oj-HBpj6nI8jk,684
22
+ devsecops_engine_tools/engine_core/src/domain/model/gateway/devops_platform_gateway.py,sha256=-L7O48UlUe2wI1DRnpAdZ98SLge7pcvoUOXITgFaBLg,800
23
23
  devsecops_engine_tools/engine_core/src/domain/model/gateway/metrics_manager_gateway.py,sha256=u_ivbmCyymw0Je7gRFg0uD9iDmZfTbteH5UwcgP0JAs,191
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
@@ -36,17 +36,17 @@ devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/__init
36
36
  devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/s3_manager.py,sha256=4h1k5EQnL_3NoGI6oRyVibkN5u3s4j5VUthNU1m1zQc,2206
37
37
  devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/secrets_manager.py,sha256=ELihQBgSPH4f9QCyg2dgjudsFitaqgdsljnVOmaA_v4,1972
38
38
  devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
- devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/azure_devops.py,sha256=buCBJ6kAg-5b_7P-gWzem6NEMbk5lK9Hx0Zuf-BQfXQ,5090
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=erkwrgzqUXArghRmFfgyWiS0UeQmo0eSKIgqkvmcRMA,29388
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
- devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/github_actions.py,sha256=KCg6tTDncasrRZbB20QiLZNE6TKYkfgQ9zP0wPd3xe0,3925
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
45
45
  devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/printer_pretty_table.py,sha256=NkXu7JYoCHXIx0HzHl4DhdLGEpocPMIqs2L0ADS-RcI,5369
46
46
  devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_rich_table/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
47
47
  devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_rich_table/printer_rich_table.py,sha256=LPr3xSv0I7ENEdu1xj8ve5PXzpUohs7hbQvHjDSaUuE,3028
48
48
  devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
49
- devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/runtime_local.py,sha256=O1ZstzA7JHoFvNCNA_mHK1w7ZWCfMEXz-CZa48tDQqg,2748
49
+ devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/runtime_local.py,sha256=uIO3rihY5uBm40dC9pAKaZoKO_606O1ZIgKG7TZCeS4,2867
50
50
  devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/syft/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
51
51
  devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/syft/syft.py,sha256=hP5MitHTeZf3Ia-xwi5bUdIU5hIwbUNuDSzcsqlxG5c,4457
52
52
  devsecops_engine_tools/engine_core/src/infrastructure/entry_points/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -227,21 +227,21 @@ devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/__init__.py,sha
227
227
  devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
228
228
  devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
229
229
  devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/deserializator_gateway.py,sha256=A4WPW-cNMlitI7-P2L-W2hFUPvIU7Ejk6JxRJGATfwc,301
230
- devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/tool_gateway.py,sha256=KVHx_8A7hSUQqZdq0S8-yX2f_L2wYDC6TodSV96f3ww,273
230
+ devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/tool_gateway.py,sha256=3DrF1v-E5tUGAj2N9f47o5TqPljCGjurWecUz36vRPY,281
231
231
  devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
232
- devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/dependencies_sca_scan.py,sha256=0JYY5g3bSSiEqFdsN5phglX76z3YpiyGTL_CvBvO274,1562
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
234
  devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/set_input_core.py,sha256=yy-S8nP7KGFUA9e19SaSvX5fnRTH_pjuwAGL-oDfOdM,2251
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
238
238
  devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_deserialize.py,sha256=Na8FSmBODt9XtxTtWvGpLWy3RvhoPJ2i7jneEfvpaHM,7210
239
- devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_tool.py,sha256=bU2u__bgV_MmwB8JCVAq1NHvkKfMV2-mFkteQ2iA-j8,4864
239
+ devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_tool.py,sha256=JH1GiB11OLfs8nRNOSMgK7VmQBUYC5gA3_XbVMiNX5A,4882
240
240
  devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
241
241
  devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_deserialize_output.py,sha256=ZUk-e1PKzV7uRAT7BpET363pgl2eMnXMCGSpewsOpKg,2236
242
- devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_manager_scan.py,sha256=xFNvfPd0L-dc4Ghm-1PtKEU0ueR_XCRZEaJNggug_9U,7648
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=gZZRX1oGg1tyZD3yikBXBbH7u33v-nzz6tuSJH5TApk,3453
244
+ devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/entry_point_tool.py,sha256=1A_KeCVCQN0z17zpvKQVajHAbNDbA7OCZkt8P1dwLK0,3621
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
@@ -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=gJMBVtE--Kvdc908fQa2T35mYyBXAWNTxM0DKsZ7e-w,2615
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=UfvICLF-Wjii3iqvsRq0Tpc-quK4t3oS8U79tozzjfA,5014
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=AYYPtuAOKagT5qmFvdwuGQ_GupZfQNdMCyMaKzCkTDE,7290
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=2Hjhquy_tAwww3YOVY_EuO7S3YSN8DAKH8Q4uEmzDIk,6931
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.35.0.dist-info/METADATA,sha256=NOdqyaGyAmy__8RBhDfRx59201ldTDtLfRz1MOOXzdw,11592
351
- devsecops_engine_tools-1.35.0.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
352
- devsecops_engine_tools-1.35.0.dist-info/entry_points.txt,sha256=MHCTFFs9bdNKo6YcWCcBW2_8X6yTisgLOlmVx-V8Rxc,276
353
- devsecops_engine_tools-1.35.0.dist-info/top_level.txt,sha256=ge6y0X_xBAU1aG3EMWFtl9djbVyg5BxuSp2r2Lg6EQU,23
354
- devsecops_engine_tools-1.35.0.dist-info/RECORD,,
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,,