devsecops-engine-tools 1.21.0__tar.gz → 1.23.1__tar.gz
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-1.21.0 → devsecops_engine_tools-1.23.1}/PKG-INFO +2 -2
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/README.md +1 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/applications/runner_engine_core.py +11 -2
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/model/gateway/devops_platform_gateway.py +1 -1
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/usecases/handle_risk.py +3 -3
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/secrets_manager.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/azure_devops.py +3 -2
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/github_actions.py +5 -8
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/runtime_local.py +4 -2
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/entry_point_core.py +1 -1
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/domain/usecases/get_exclusions.py +2 -2
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/entry_point_risk.py +2 -2
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases/code_scan.py +1 -1
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/iac_scan.py +2 -2
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_tool.py +5 -70
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/DeserializeConfigTool.py +2 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/secret_scan.py +1 -1
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/set_input_core.py +1 -1
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_run.py +10 -3
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/entry_point_tool.py +1 -1
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/entry_point_tool.py +2 -2
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/entry_point_tool.py +2 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/get_artifacts.py +3 -1
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure/azure_devops_api.py +7 -1
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/github/infrastructure/github_api.py +19 -20
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/applications/runner_report_sonar.py +9 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases/report_sonar.py +4 -2
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/entry_points/entry_point_report_sonar.py +1 -1
- devsecops_engine_tools-1.23.1/devsecops_engine_tools/engine_utilities/utils/utils.py +138 -0
- devsecops_engine_tools-1.23.1/devsecops_engine_tools/version.py +1 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools.egg-info/PKG-INFO +2 -2
- devsecops_engine_tools-1.21.0/devsecops_engine_tools/engine_utilities/utils/utils.py +0 -45
- devsecops_engine_tools-1.21.0/devsecops_engine_tools/version.py +0 -1
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/model/customs_exceptions.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/model/exclusions.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/model/finding.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/model/gateway/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/model/gateway/metrics_manager_gateway.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/model/gateway/printer_table_gateway.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/model/gateway/secrets_manager_gateway.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/model/gateway/vulnerability_management_gateway.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/model/input_core.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/model/level_compliance.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/model/level_vulnerability.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/model/report.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/model/threshold.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/model/vulnerability_management.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/usecases/break_build.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/usecases/handle_scan.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/usecases/metrics_manager.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/s3_manager.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/printer_pretty_table.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_rich_table/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_rich_table/printer_rich_table.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/aws.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/util.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_dast/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_dast/src/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_dast/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_dast/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_dast/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_dast/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_dast/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_dast/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_dast/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_dast/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_dast/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/applications/runner_engine_risk.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/domain/model/gateways/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/domain/model/gateways/add_epss_gateway.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/domain/usecases/add_data.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/domain/usecases/break_build.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/domain/usecases/check_threshold.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/domain/usecases/handle_filters.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/first_csv/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/first_csv/first_epss_csv.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/applications/runner_engine_code.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/config_tool.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/gateways/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/gateways/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/bearer_deserealizator.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/bearer_tool.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/entry_points/entry_point_tool.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/applications/runner_iac_scan.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/config_tool.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_config.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_deserealizator.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_deserealizator.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_tool.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_deserealizator.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_tool.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/entry_point_tool.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/file_generator_tool.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/applications/runner_secret_scan.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/gateway_deserealizator.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_deserealizator.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/applications/runner_container_scan.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/deserealizator_gateway.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/images_gateway.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/container_sca_scan.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/handle_remote_config_patterns.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/set_input_core.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/docker_images.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_cloud_manager_scan.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_deserialize_output.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_deserialize_output.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_manager_scan.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/runner_dependencies_scan.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/deserializator_gateway.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/dependencies_sca_scan.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/handle_remote_config_patterns.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/set_input_core.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_deserialize.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_tool.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_deserialize_output.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_manager_scan.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/azuredevops/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzureMessageLoggingPipeline.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzurePredefinedVariables.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/azuredevops/models/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/connect.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/defect_dojo.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/engagement.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/finding.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/product.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/cmdb.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/engagement.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/finding.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_list.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type_list.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/scan_configuration.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/finding.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/import_scan.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/finding.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/import_scan.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/cmdb.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/engagement.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/finding.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/import_scan.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/product.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/hello_world.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/cmdb.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/engagement.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/finding.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/import_scan.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product_type.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/scan_configurations.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/settings.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/repository/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/git_cli/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/git_cli/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/git_cli/infrastructure/git_run.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/git_cli/model/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/git_cli/model/gateway/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/git_cli/model/gateway/git_gateway.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/github/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/github/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/github/models/GithubPredefinedVariables.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/github/models/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/input_validations/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/input_validations/env_utils.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/input_validations/validate_input_with_regex_letters_number_and_only.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/settings.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/sonarqube/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/gateways/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/gateways/sonar_gateway.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/sonarqube/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/sonarqube/sonarqube_report.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/helpers/utils.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/ssh/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/ssh/managment_private_key.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/utils/__init__.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/utils/api_error.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/utils/dataclass_classmethod.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/utils/datetime_parsing.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/utils/logger_info.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/utils/name_conversion.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/utils/printers.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/utils/session_manager.py +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools.egg-info/SOURCES.txt +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools.egg-info/dependency_links.txt +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools.egg-info/entry_points.txt +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools.egg-info/requires.txt +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools.egg-info/top_level.txt +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/setup.cfg +0 -0
- {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: devsecops-engine-tools
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.23.1
|
|
4
4
|
Summary: Tool for DevSecOps strategy
|
|
5
5
|
Home-page: https://github.com/bancolombia/devsecops-engine-tools
|
|
6
6
|
Author: Bancolombia DevSecOps Team
|
|
@@ -68,7 +68,7 @@ pip3 install devsecops-engine-tools
|
|
|
68
68
|
### Scan running - flags (CLI)
|
|
69
69
|
|
|
70
70
|
```bash
|
|
71
|
-
devsecops-engine-tools --platform_devops ["local","azure","github"] --remote_config_repo ["remote_config_repo"] --tool ["engine_iac", "engine_dast", "engine_secret", "engine_dependencies", "engine_container", "engine_risk", "engine_code"] --folder_path ["Folder path scan engine_iac, engine_code and engine_dependencies"] --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"]
|
|
71
|
+
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 and engine_dependencies"] --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"]
|
|
72
72
|
```
|
|
73
73
|
|
|
74
74
|
### Structure Remote Config
|
|
@@ -69,7 +69,15 @@ def get_inputs_from_cli(args):
|
|
|
69
69
|
"--remote_config_repo",
|
|
70
70
|
type=str,
|
|
71
71
|
required=True,
|
|
72
|
-
help="Name or Folder Path of Config Repo",
|
|
72
|
+
help="Name or Folder Path of Remote Config Repo",
|
|
73
|
+
)
|
|
74
|
+
parser.add_argument(
|
|
75
|
+
"-rcb",
|
|
76
|
+
"--remote_config_branch",
|
|
77
|
+
type=str,
|
|
78
|
+
required=False,
|
|
79
|
+
default="",
|
|
80
|
+
help="Name of the branch of Remote Config Repo",
|
|
73
81
|
)
|
|
74
82
|
parser.add_argument(
|
|
75
83
|
"-t",
|
|
@@ -144,7 +152,7 @@ def get_inputs_from_cli(args):
|
|
|
144
152
|
parser.add_argument(
|
|
145
153
|
"--token_external_checks",
|
|
146
154
|
required=False,
|
|
147
|
-
help="Token for downloading external checks from engine_iac or engine_secret if is necessary. Ej:
|
|
155
|
+
help="Token for downloading external checks from engine_iac or engine_secret if is necessary. Ej: github_token:token, github_app:private_key, ssh:privatekey:pass",
|
|
148
156
|
)
|
|
149
157
|
parser.add_argument(
|
|
150
158
|
"--xray_mode",
|
|
@@ -162,6 +170,7 @@ def get_inputs_from_cli(args):
|
|
|
162
170
|
return {
|
|
163
171
|
"platform_devops": args.platform_devops,
|
|
164
172
|
"remote_config_repo": args.remote_config_repo,
|
|
173
|
+
"remote_config_branch": args.remote_config_branch,
|
|
165
174
|
"tool": args.tool,
|
|
166
175
|
"folder_path": args.folder_path,
|
|
167
176
|
"platform": args.platform,
|
|
@@ -86,7 +86,7 @@ class HandleRisk:
|
|
|
86
86
|
|
|
87
87
|
def _exclude_services(self, dict_args, pipeline_name, service_list):
|
|
88
88
|
risk_exclusions = self.devops_platform_gateway.get_remote_config(
|
|
89
|
-
dict_args["remote_config_repo"], "engine_risk/Exclusions.json"
|
|
89
|
+
dict_args["remote_config_repo"], "engine_risk/Exclusions.json", dict_args["remote_config_branch"]
|
|
90
90
|
)
|
|
91
91
|
if (
|
|
92
92
|
pipeline_name in risk_exclusions
|
|
@@ -129,10 +129,10 @@ class HandleRisk:
|
|
|
129
129
|
|
|
130
130
|
def process(self, dict_args: any, remote_config: any):
|
|
131
131
|
risk_config = self.devops_platform_gateway.get_remote_config(
|
|
132
|
-
dict_args["remote_config_repo"], "engine_risk/ConfigTool.json"
|
|
132
|
+
dict_args["remote_config_repo"], "engine_risk/ConfigTool.json", dict_args["remote_config_branch"]
|
|
133
133
|
)
|
|
134
134
|
risk_exclusions = self.devops_platform_gateway.get_remote_config(
|
|
135
|
-
dict_args["remote_config_repo"], "engine_risk/Exclusions.json"
|
|
135
|
+
dict_args["remote_config_repo"], "engine_risk/Exclusions.json", dict_args["remote_config_branch"]
|
|
136
136
|
)
|
|
137
137
|
pipeline_name = self.devops_platform_gateway.get_variable("pipeline_name")
|
|
138
138
|
|
|
File without changes
|
|
@@ -23,7 +23,8 @@ logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
|
|
|
23
23
|
|
|
24
24
|
@dataclass
|
|
25
25
|
class AzureDevops(DevopsPlatformGateway):
|
|
26
|
-
def get_remote_config(self, repository, path):
|
|
26
|
+
def get_remote_config(self, repository, path, branch=""):
|
|
27
|
+
|
|
27
28
|
base_compact_remote_config_url = (
|
|
28
29
|
f"https://{SystemVariables.System_TeamFoundationCollectionUri.value().rstrip('/').split('/')[-1].replace('.visualstudio.com','')}"
|
|
29
30
|
f".visualstudio.com/{SystemVariables.System_TeamProject.value()}/_git/"
|
|
@@ -34,7 +35,7 @@ class AzureDevops(DevopsPlatformGateway):
|
|
|
34
35
|
compact_remote_config_url=base_compact_remote_config_url,
|
|
35
36
|
)
|
|
36
37
|
connection = utils_azure.get_azure_connection()
|
|
37
|
-
return utils_azure.get_remote_json_config(connection=connection)
|
|
38
|
+
return utils_azure.get_remote_json_config(connection=connection, branch=branch)
|
|
38
39
|
|
|
39
40
|
def message(self, type, message):
|
|
40
41
|
if type == "succeeded":
|
|
@@ -22,18 +22,15 @@ class GithubActions(DevopsPlatformGateway):
|
|
|
22
22
|
ICON_FAIL = "\u2718"
|
|
23
23
|
ICON_SUCCESS = "\u2714"
|
|
24
24
|
|
|
25
|
-
def get_remote_config(self, repository, path):
|
|
25
|
+
def get_remote_config(self, repository, path, branch=""):
|
|
26
26
|
|
|
27
27
|
github_repository = SystemVariables.github_repository.value()
|
|
28
28
|
split = github_repository.split("/")
|
|
29
29
|
owner = split[0]
|
|
30
30
|
|
|
31
|
-
utils_github = GithubApi(
|
|
32
|
-
|
|
33
|
-
)
|
|
34
|
-
|
|
35
|
-
git_client = utils_github.get_github_connection()
|
|
36
|
-
json_config = utils_github.get_remote_json_config(git_client, owner, repository, path)
|
|
31
|
+
utils_github = GithubApi()
|
|
32
|
+
git_client = utils_github.get_github_connection(SystemVariables.github_access_token.value())
|
|
33
|
+
json_config = utils_github.get_remote_json_config(git_client, owner, repository, path, branch)
|
|
37
34
|
|
|
38
35
|
return json_config
|
|
39
36
|
|
|
@@ -92,4 +89,4 @@ class GithubActions(DevopsPlatformGateway):
|
|
|
92
89
|
try:
|
|
93
90
|
return variable_map.get(variable).value()
|
|
94
91
|
except ValueError:
|
|
95
|
-
return None
|
|
92
|
+
return None
|
|
@@ -18,8 +18,10 @@ class RuntimeLocal(DevopsPlatformGateway):
|
|
|
18
18
|
ICON_SUCCESS = "\u2714"
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
def get_remote_config(self, repository, path):
|
|
22
|
-
|
|
21
|
+
def get_remote_config(self, repository, path, branch=""):
|
|
22
|
+
remote_config_path = f"{repository}/{path}"
|
|
23
|
+
|
|
24
|
+
with open(remote_config_path) as f:
|
|
23
25
|
return json.load(f)
|
|
24
26
|
|
|
25
27
|
def message(self, type, message):
|
|
@@ -24,7 +24,7 @@ def init_engine_core(
|
|
|
24
24
|
args: any
|
|
25
25
|
):
|
|
26
26
|
config_tool = devops_platform_gateway.get_remote_config(
|
|
27
|
-
args["remote_config_repo"], "/engine_core/ConfigTool.json"
|
|
27
|
+
args["remote_config_repo"], "/engine_core/ConfigTool.json", args["remote_config_branch"]
|
|
28
28
|
)
|
|
29
29
|
Printers.print_logo_tool(config_tool["BANNER"])
|
|
30
30
|
|
|
@@ -22,7 +22,7 @@ class GetExclusions:
|
|
|
22
22
|
|
|
23
23
|
def process(self):
|
|
24
24
|
core_config = self.devops_platform_gateway.get_remote_config(
|
|
25
|
-
self.dict_args["remote_config_repo"], "engine_core/ConfigTool.json"
|
|
25
|
+
self.dict_args["remote_config_repo"], "engine_core/ConfigTool.json", self.dict_args["remote_config_branch"]
|
|
26
26
|
)
|
|
27
27
|
unique_tags = self._get_unique_tags()
|
|
28
28
|
exclusions = []
|
|
@@ -42,7 +42,7 @@ class GetExclusions:
|
|
|
42
42
|
|
|
43
43
|
def _get_exclusions_by_practice(self, core_config, practice, path):
|
|
44
44
|
exclusions_config = self.devops_platform_gateway.get_remote_config(
|
|
45
|
-
self.dict_args["remote_config_repo"], path
|
|
45
|
+
self.dict_args["remote_config_repo"], path, self.dict_args["remote_config_branch"]
|
|
46
46
|
)
|
|
47
47
|
tool = core_config[practice.upper()]["TOOL"]
|
|
48
48
|
return self._get_exclusions(exclusions_config, tool)
|
|
@@ -31,10 +31,10 @@ def init_engine_risk(
|
|
|
31
31
|
vm_exclusions,
|
|
32
32
|
):
|
|
33
33
|
remote_config = devops_platform_gateway.get_remote_config(
|
|
34
|
-
dict_args["remote_config_repo"], "engine_risk/ConfigTool.json"
|
|
34
|
+
dict_args["remote_config_repo"], "engine_risk/ConfigTool.json", dict_args["remote_config_branch"]
|
|
35
35
|
)
|
|
36
36
|
risk_exclusions = devops_platform_gateway.get_remote_config(
|
|
37
|
-
dict_args["remote_config_repo"], "engine_risk/Exclusions.json"
|
|
37
|
+
dict_args["remote_config_repo"], "engine_risk/Exclusions.json", dict_args["remote_config_branch"]
|
|
38
38
|
)
|
|
39
39
|
pipeline_name = devops_platform_gateway.get_variable("pipeline_name")
|
|
40
40
|
|
|
@@ -33,7 +33,7 @@ class CodeScan:
|
|
|
33
33
|
|
|
34
34
|
def set_config_tool(self, dict_args):
|
|
35
35
|
init_config_tool = self.devops_platform_gateway.get_remote_config(
|
|
36
|
-
dict_args["remote_config_repo"], "engine_sast/engine_code/ConfigTool.json"
|
|
36
|
+
dict_args["remote_config_repo"], "engine_sast/engine_code/ConfigTool.json", dict_args["remote_config_branch"]
|
|
37
37
|
)
|
|
38
38
|
scope_pipeline = self.devops_platform_gateway.get_variable("pipeline_name")
|
|
39
39
|
return ConfigTool(json_data=init_config_tool, scope=scope_pipeline)
|
|
@@ -28,11 +28,11 @@ class IacScan:
|
|
|
28
28
|
|
|
29
29
|
def process(self, dict_args, secret_tool, tool, env):
|
|
30
30
|
config_tool_iac = self.devops_platform_gateway.get_remote_config(
|
|
31
|
-
dict_args["remote_config_repo"], "engine_sast/engine_iac/ConfigTool.json"
|
|
31
|
+
dict_args["remote_config_repo"], "engine_sast/engine_iac/ConfigTool.json", dict_args["remote_config_branch"]
|
|
32
32
|
)
|
|
33
33
|
|
|
34
34
|
exclusions = self.devops_platform_gateway.get_remote_config(
|
|
35
|
-
dict_args["remote_config_repo"], "engine_sast/engine_iac/Exclusions.json"
|
|
35
|
+
dict_args["remote_config_repo"], "engine_sast/engine_iac/Exclusions.json", dict_args["remote_config_branch"]
|
|
36
36
|
)
|
|
37
37
|
|
|
38
38
|
config_tool_core, folders_to_scan, skip_tool = self.complete_config_tool(
|
|
@@ -19,22 +19,15 @@ from devsecops_engine_tools.engine_sast.engine_iac.src.infrastructure.driven_ada
|
|
|
19
19
|
from devsecops_engine_tools.engine_sast.engine_iac.src.infrastructure.helpers.file_generator_tool import (
|
|
20
20
|
generate_file_from_tool,
|
|
21
21
|
)
|
|
22
|
-
from devsecops_engine_tools.engine_utilities.github.infrastructure.github_api import (
|
|
23
|
-
GithubApi,
|
|
24
|
-
)
|
|
25
|
-
from devsecops_engine_tools.engine_utilities.ssh.managment_private_key import (
|
|
26
|
-
create_ssh_private_file,
|
|
27
|
-
add_ssh_private_key,
|
|
28
|
-
decode_base64,
|
|
29
|
-
config_knowns_hosts,
|
|
30
|
-
)
|
|
31
22
|
from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
|
|
32
23
|
from devsecops_engine_tools.engine_utilities import settings
|
|
24
|
+
from devsecops_engine_tools.engine_utilities.utils.utils import Utils
|
|
33
25
|
|
|
34
26
|
logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
|
|
35
27
|
|
|
36
28
|
|
|
37
29
|
class CheckovTool(ToolGateway):
|
|
30
|
+
|
|
38
31
|
CHECKOV_CONFIG_FILE = "checkov_config.yaml"
|
|
39
32
|
TOOL_CHECKOV = "CHECKOV"
|
|
40
33
|
framework_mapping = {
|
|
@@ -62,43 +55,6 @@ class CheckovTool(ToolGateway):
|
|
|
62
55
|
yaml.dump(checkov_config.dict_confg_file, file)
|
|
63
56
|
file.close()
|
|
64
57
|
|
|
65
|
-
def configurate_external_checks(self, config_tool, secret):
|
|
66
|
-
agent_env = None
|
|
67
|
-
try:
|
|
68
|
-
if secret is None:
|
|
69
|
-
logger.warning("The secret is not configured for external controls")
|
|
70
|
-
|
|
71
|
-
# Create configuration git external checks
|
|
72
|
-
elif config_tool[self.TOOL_CHECKOV][
|
|
73
|
-
"USE_EXTERNAL_CHECKS_GIT"
|
|
74
|
-
] == "True" and platform.system() in (
|
|
75
|
-
"Linux",
|
|
76
|
-
"Darwin",
|
|
77
|
-
):
|
|
78
|
-
config_knowns_hosts(
|
|
79
|
-
config_tool[self.TOOL_CHECKOV]["EXTERNAL_GIT_SSH_HOST"],
|
|
80
|
-
config_tool[self.TOOL_CHECKOV][
|
|
81
|
-
"EXTERNAL_GIT_PUBLIC_KEY_FINGERPRINT"
|
|
82
|
-
],
|
|
83
|
-
)
|
|
84
|
-
ssh_key_content = decode_base64(secret["repository_ssh_private_key"])
|
|
85
|
-
ssh_key_file_path = "/tmp/ssh_key_file"
|
|
86
|
-
create_ssh_private_file(ssh_key_file_path, ssh_key_content)
|
|
87
|
-
ssh_key_password = decode_base64(secret["repository_ssh_password"])
|
|
88
|
-
agent_env = add_ssh_private_key(ssh_key_file_path, ssh_key_password)
|
|
89
|
-
|
|
90
|
-
# Create configuration dir external checks
|
|
91
|
-
elif config_tool[self.TOOL_CHECKOV]["USE_EXTERNAL_CHECKS_DIR"] == "True":
|
|
92
|
-
github_api = GithubApi(secret["github_token"])
|
|
93
|
-
github_api.download_latest_release_assets(
|
|
94
|
-
config_tool[self.TOOL_CHECKOV]["EXTERNAL_DIR_OWNER"],
|
|
95
|
-
config_tool[self.TOOL_CHECKOV]["EXTERNAL_DIR_REPOSITORY"],
|
|
96
|
-
"/tmp",
|
|
97
|
-
)
|
|
98
|
-
|
|
99
|
-
except Exception as ex:
|
|
100
|
-
logger.error(f"An error ocurred configuring external checks {ex}")
|
|
101
|
-
return agent_env
|
|
102
58
|
|
|
103
59
|
def retryable_install_package(self, package: str, version: str) -> bool:
|
|
104
60
|
MAX_RETRIES = 3
|
|
@@ -258,29 +214,8 @@ class CheckovTool(ToolGateway):
|
|
|
258
214
|
secret_tool,
|
|
259
215
|
secret_external_checks,
|
|
260
216
|
):
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
secret = secret_tool
|
|
264
|
-
elif secret_external_checks is not None:
|
|
265
|
-
secret = {
|
|
266
|
-
"github_token": (
|
|
267
|
-
secret_external_checks.split("github:")[1]
|
|
268
|
-
if "github" in secret_external_checks
|
|
269
|
-
else None
|
|
270
|
-
),
|
|
271
|
-
"repository_ssh_private_key": (
|
|
272
|
-
secret_external_checks.split("ssh:")[1].split(":")[0]
|
|
273
|
-
if "ssh" in secret_external_checks
|
|
274
|
-
else None
|
|
275
|
-
),
|
|
276
|
-
"repository_ssh_password": (
|
|
277
|
-
secret_external_checks.split("ssh:")[1].split(":")[1]
|
|
278
|
-
if "ssh" in secret_external_checks
|
|
279
|
-
else None
|
|
280
|
-
),
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
agent_env = self.configurate_external_checks(config_tool, secret)
|
|
217
|
+
util = Utils()
|
|
218
|
+
agent_env = util.configurate_external_checks(self.TOOL_CHECKOV,config_tool, secret_tool,secret_external_checks)
|
|
284
219
|
|
|
285
220
|
checkov_install = self.retryable_install_package(
|
|
286
221
|
"checkov", config_tool[self.TOOL_CHECKOV]["VERSION"]
|
|
@@ -310,4 +245,4 @@ class CheckovTool(ToolGateway):
|
|
|
310
245
|
),
|
|
311
246
|
)
|
|
312
247
|
else:
|
|
313
|
-
return [], None
|
|
248
|
+
return [], None
|
|
@@ -12,5 +12,7 @@ class DeserializeConfigTool:
|
|
|
12
12
|
self.enable_custom_rules = json_data[tool]["ENABLE_CUSTOM_RULES"]
|
|
13
13
|
self.external_dir_owner = json_data[tool]["EXTERNAL_DIR_OWNER"]
|
|
14
14
|
self.external_dir_repo = json_data[tool]["EXTERNAL_DIR_REPOSITORY"]
|
|
15
|
+
self.app_id_github = json_data[tool]["APP_ID_GITHUB"]
|
|
16
|
+
self.installation_id_github = json_data[tool]["INSTALLATION_ID_GITHUB"]
|
|
15
17
|
self.tool_version = json_data[tool]["VERSION"]
|
|
16
18
|
self.extradata_rules = json_data[tool]["RULES"]
|
|
@@ -67,7 +67,7 @@ class SecretScan:
|
|
|
67
67
|
def complete_config_tool(self, dict_args, tool):
|
|
68
68
|
tool = str(tool).lower()
|
|
69
69
|
init_config_tool = self.devops_platform_gateway.get_remote_config(
|
|
70
|
-
dict_args["remote_config_repo"], "engine_sast/engine_secret/ConfigTool.json"
|
|
70
|
+
dict_args["remote_config_repo"], "engine_sast/engine_secret/ConfigTool.json", dict_args["remote_config_branch"]
|
|
71
71
|
)
|
|
72
72
|
config_tool = DeserializeConfigTool(json_data=init_config_tool, tool=tool)
|
|
73
73
|
config_tool.scope_pipeline = self.devops_platform_gateway.get_variable("pipeline_name")
|
|
@@ -30,7 +30,7 @@ class SetInputCore:
|
|
|
30
30
|
dict: Remote configuration.
|
|
31
31
|
"""
|
|
32
32
|
return self.tool_remote.get_remote_config(
|
|
33
|
-
self.dict_args["remote_config_repo"], file_path
|
|
33
|
+
self.dict_args["remote_config_repo"], file_path, self.dict_args["remote_config_branch"]
|
|
34
34
|
)
|
|
35
35
|
|
|
36
36
|
def get_variable(self, variable):
|
|
@@ -73,9 +73,15 @@ class TrufflehogRun(ToolGateway):
|
|
|
73
73
|
include_paths = self.config_include_path(files_commits, agent_work_folder, agent_os)
|
|
74
74
|
enable_custom_rules = config_tool.enable_custom_rules.lower()
|
|
75
75
|
secret = None
|
|
76
|
-
|
|
76
|
+
github_api = GithubApi()
|
|
77
|
+
|
|
77
78
|
if secret_tool is not None:
|
|
78
|
-
|
|
79
|
+
secret_tmp = secret_tool
|
|
80
|
+
secret = github_api.get_installation_access_token(
|
|
81
|
+
secret_tmp["github_token"],
|
|
82
|
+
config_tool.app_id_github,
|
|
83
|
+
config_tool.installation_id_github
|
|
84
|
+
)
|
|
79
85
|
elif secret_external_checks is not None:
|
|
80
86
|
secret = secret_external_checks.split("github:")[1] if "github" in secret_external_checks else None
|
|
81
87
|
|
|
@@ -161,10 +167,11 @@ class TrufflehogRun(ToolGateway):
|
|
|
161
167
|
|
|
162
168
|
def configurate_external_checks(self, config_tool, secret):
|
|
163
169
|
try:
|
|
164
|
-
github_api = GithubApi(
|
|
170
|
+
github_api = GithubApi()
|
|
165
171
|
github_api.download_latest_release_assets(
|
|
166
172
|
config_tool.external_dir_owner,
|
|
167
173
|
config_tool.external_dir_repo,
|
|
174
|
+
secret,
|
|
168
175
|
"/tmp",
|
|
169
176
|
)
|
|
170
177
|
except Exception as ex:
|
|
@@ -6,7 +6,7 @@ from devsecops_engine_tools.engine_sast.engine_secret.src.domain.usecases.set_in
|
|
|
6
6
|
|
|
7
7
|
def engine_secret_scan(devops_platform_gateway, tool_gateway, dict_args, tool, tool_deserealizator, git_gateway, secret_tool):
|
|
8
8
|
exclusions = devops_platform_gateway.get_remote_config(
|
|
9
|
-
dict_args["remote_config_repo"], "engine_sast/engine_secret/Exclusions.json"
|
|
9
|
+
dict_args["remote_config_repo"], "engine_sast/engine_secret/Exclusions.json", dict_args["remote_config_branch"]
|
|
10
10
|
)
|
|
11
11
|
secret_scan = SecretScan(tool_gateway, devops_platform_gateway, tool_deserealizator, git_gateway)
|
|
12
12
|
config_tool, skip_tool_isp = secret_scan.complete_config_tool(dict_args, tool)
|
|
@@ -23,10 +23,10 @@ def init_engine_sca_rm(
|
|
|
23
23
|
tool,
|
|
24
24
|
):
|
|
25
25
|
remote_config = tool_remote.get_remote_config(
|
|
26
|
-
dict_args["remote_config_repo"], "engine_sca/engine_container/ConfigTool.json"
|
|
26
|
+
dict_args["remote_config_repo"], "engine_sca/engine_container/ConfigTool.json", dict_args["remote_config_branch"]
|
|
27
27
|
)
|
|
28
28
|
exclusions = tool_remote.get_remote_config(
|
|
29
|
-
dict_args["remote_config_repo"], "engine_sca/engine_container/Exclusions.json"
|
|
29
|
+
dict_args["remote_config_repo"], "engine_sca/engine_container/Exclusions.json", dict_args["remote_config_branch"]
|
|
30
30
|
)
|
|
31
31
|
pipeline_name = tool_remote.get_variable("pipeline_name")
|
|
32
32
|
handle_remote_config_patterns = HandleRemoteConfigPatterns(
|
|
@@ -23,10 +23,12 @@ def init_engine_dependencies(
|
|
|
23
23
|
remote_config = tool_remote.get_remote_config(
|
|
24
24
|
dict_args["remote_config_repo"],
|
|
25
25
|
"engine_sca/engine_dependencies/ConfigTool.json",
|
|
26
|
+
dict_args["remote_config_branch"]
|
|
26
27
|
)
|
|
27
28
|
exclusions = tool_remote.get_remote_config(
|
|
28
29
|
dict_args["remote_config_repo"],
|
|
29
30
|
"engine_sca/engine_dependencies/Exclusions.json",
|
|
31
|
+
dict_args["remote_config_branch"]
|
|
30
32
|
)
|
|
31
33
|
pipeline_name = tool_remote.get_variable("pipeline_name")
|
|
32
34
|
|
|
@@ -14,7 +14,9 @@ class GetArtifacts:
|
|
|
14
14
|
|
|
15
15
|
def excluded_files(self, remote_config, pipeline_name, exclusions, tool):
|
|
16
16
|
pattern = remote_config[tool]["REGEX_EXPRESSION_EXTENSIONS"]
|
|
17
|
-
if pipeline_name in exclusions
|
|
17
|
+
if (pipeline_name in exclusions) and (
|
|
18
|
+
exclusions[pipeline_name].get(tool, None)
|
|
19
|
+
):
|
|
18
20
|
for ex in exclusions[pipeline_name][tool]:
|
|
19
21
|
if ex.get("SKIP_FILES", 0):
|
|
20
22
|
exclusion = ex.get("SKIP_FILES")
|
|
@@ -2,6 +2,7 @@ import json
|
|
|
2
2
|
from devsecops_engine_tools.engine_utilities.utils.api_error import ApiError
|
|
3
3
|
from urllib.parse import urlsplit, unquote
|
|
4
4
|
from azure.devops.connection import Connection
|
|
5
|
+
from azure.devops.v7_1.wiki.models import GitVersionDescriptor
|
|
5
6
|
from msrest.authentication import BasicAuthentication
|
|
6
7
|
from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
|
|
7
8
|
from devsecops_engine_tools.engine_utilities.settings import SETTING_LOGGER
|
|
@@ -48,14 +49,19 @@ class AzureDevopsApi:
|
|
|
48
49
|
except Exception as e:
|
|
49
50
|
raise ApiError("Error getting Azure DevOps connection: " + str(e))
|
|
50
51
|
|
|
51
|
-
def get_remote_json_config(self, connection: Connection):
|
|
52
|
+
def get_remote_json_config(self, connection: Connection, branch):
|
|
52
53
|
try:
|
|
53
54
|
git_client = connection.clients.get_git_client()
|
|
55
|
+
version_descriptor = None
|
|
56
|
+
if branch: version_descriptor = GitVersionDescriptor(version=branch, version_type="branch")
|
|
57
|
+
|
|
54
58
|
file_content = git_client.get_item_text(
|
|
55
59
|
repository_id=self.__repository_id,
|
|
56
60
|
path=self.__remote_config_path,
|
|
57
61
|
project=self.__project_remote_config,
|
|
62
|
+
version_descriptor=version_descriptor
|
|
58
63
|
)
|
|
64
|
+
|
|
59
65
|
data = json.loads(b"".join(file_content).decode("utf-8"))
|
|
60
66
|
return data
|
|
61
67
|
except Exception as e:
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import requests
|
|
2
2
|
import zipfile
|
|
3
3
|
import json
|
|
4
|
-
from github import Github
|
|
4
|
+
from github import Github, GithubIntegration
|
|
5
5
|
from devsecops_engine_tools.engine_utilities.utils.api_error import ApiError
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
class GithubApi:
|
|
9
|
-
def __init__(
|
|
10
|
-
self,
|
|
11
|
-
personal_access_token: str = ""
|
|
12
|
-
):
|
|
13
|
-
self.__personal_access_token = personal_access_token
|
|
14
9
|
|
|
15
10
|
def unzip_file(self, zip_file_path, extract_path):
|
|
16
11
|
with zipfile.ZipFile(zip_file_path, "r") as zip_ref:
|
|
17
12
|
zip_ref.extractall(extract_path)
|
|
13
|
+
|
|
14
|
+
def get_installation_access_token(self,private_key,app_id,instalation_id):
|
|
15
|
+
if private_key:
|
|
16
|
+
private_key = private_key.replace("\\n", "\n")
|
|
17
|
+
integration = GithubIntegration(app_id, private_key)
|
|
18
|
+
access_token = integration.get_access_token(instalation_id)
|
|
19
|
+
return access_token.token
|
|
18
20
|
|
|
19
21
|
def download_latest_release_assets(
|
|
20
|
-
self, owner, repository, download_path="."
|
|
21
|
-
):
|
|
22
|
+
self, owner, repository, token, download_path=".",
|
|
23
|
+
):
|
|
22
24
|
url = f"https://api.github.com/repos/{owner}/{repository}/releases/latest"
|
|
23
|
-
|
|
24
|
-
headers = {"Authorization": f"token {self.__personal_access_token}"}
|
|
25
|
-
|
|
25
|
+
headers = {"Authorization": f"token {token}", "Accept": "application/vnd.github+json"}
|
|
26
26
|
response = requests.get(url, headers=headers)
|
|
27
27
|
|
|
28
28
|
if response.status_code == 200:
|
|
@@ -32,11 +32,8 @@ class GithubApi:
|
|
|
32
32
|
for asset in assets:
|
|
33
33
|
asset_url = asset["url"]
|
|
34
34
|
asset_name = asset["name"]
|
|
35
|
-
|
|
36
35
|
headers.update({"Accept": "application/octet-stream"})
|
|
37
|
-
|
|
38
36
|
response = requests.get(asset_url, headers=headers, stream=True)
|
|
39
|
-
|
|
40
37
|
if response.status_code == 200:
|
|
41
38
|
with open(f"{download_path}/{asset_name}", "wb") as file:
|
|
42
39
|
for chunk in response.iter_content(chunk_size=8192):
|
|
@@ -51,18 +48,20 @@ class GithubApi:
|
|
|
51
48
|
f"Error getting the assets of the last release. Status code: {response.status_code}"
|
|
52
49
|
)
|
|
53
50
|
|
|
54
|
-
def get_github_connection(self):
|
|
55
|
-
git_client = Github(
|
|
56
|
-
|
|
51
|
+
def get_github_connection(self,personal_access_token):
|
|
52
|
+
git_client = Github(personal_access_token)
|
|
57
53
|
return git_client
|
|
58
54
|
|
|
59
|
-
def get_remote_json_config(self, git_client: Github, owner, repository, path):
|
|
55
|
+
def get_remote_json_config(self, git_client: Github, owner, repository, path, branch=""):
|
|
60
56
|
try:
|
|
61
57
|
repo = git_client.get_repo(f"{owner}/{repository}")
|
|
62
|
-
|
|
58
|
+
|
|
59
|
+
if branch: file_content = repo.get_contents(path, ref=branch)
|
|
60
|
+
else: file_content = repo.get_contents(path)
|
|
61
|
+
|
|
63
62
|
data = file_content.decoded_content.decode()
|
|
64
63
|
content_json = json.loads(data)
|
|
65
64
|
|
|
66
65
|
return content_json
|
|
67
66
|
except Exception as e:
|
|
68
|
-
raise ApiError("Error getting remote github configuration file: " + str(e))
|
|
67
|
+
raise ApiError("Error getting remote github configuration file: " + str(e))
|
|
@@ -32,6 +32,14 @@ def get_inputs_from_cli(args):
|
|
|
32
32
|
required=True,
|
|
33
33
|
help="Name of Config Repo",
|
|
34
34
|
)
|
|
35
|
+
parser.add_argument(
|
|
36
|
+
"-rcb",
|
|
37
|
+
"--remote_config_branch",
|
|
38
|
+
type=str,
|
|
39
|
+
required=False,
|
|
40
|
+
default="",
|
|
41
|
+
help="Name of the branch of Config Repo",
|
|
42
|
+
)
|
|
35
43
|
parser.add_argument(
|
|
36
44
|
"--use_secrets_manager",
|
|
37
45
|
choices=["true", "false"],
|
|
@@ -70,6 +78,7 @@ def get_inputs_from_cli(args):
|
|
|
70
78
|
args = parser.parse_args()
|
|
71
79
|
return {
|
|
72
80
|
"remote_config_repo": args.remote_config_repo,
|
|
81
|
+
"remote_config_branch": args.remote_config_branch,
|
|
73
82
|
"use_secrets_manager": args.use_secrets_manager,
|
|
74
83
|
"send_metrics": args.send_metrics,
|
|
75
84
|
"sonar_url": args.sonar_url,
|
|
@@ -60,7 +60,8 @@ class ReportSonar:
|
|
|
60
60
|
)
|
|
61
61
|
config_tool = self.devops_platform_gateway.get_remote_config(
|
|
62
62
|
args["remote_config_repo"],
|
|
63
|
-
"/engine_core/ConfigTool.json"
|
|
63
|
+
"/engine_core/ConfigTool.json",
|
|
64
|
+
args["remote_config_branch"]
|
|
64
65
|
)
|
|
65
66
|
environment = define_env(None, branch)
|
|
66
67
|
|
|
@@ -73,7 +74,8 @@ class ReportSonar:
|
|
|
73
74
|
|
|
74
75
|
report_config_tool = self.devops_platform_gateway.get_remote_config(
|
|
75
76
|
args["remote_config_repo"],
|
|
76
|
-
"/report_sonar/ConfigTool.json"
|
|
77
|
+
"/report_sonar/ConfigTool.json",
|
|
78
|
+
args["remote_config_branch"]
|
|
77
79
|
)
|
|
78
80
|
|
|
79
81
|
get_components = report_config_tool["PIPELINE_COMPONENTS"].get(pipeline_name)
|
|
@@ -15,7 +15,7 @@ logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
|
|
|
15
15
|
|
|
16
16
|
def init_report_sonar(vulnerability_management_gateway, secrets_manager_gateway, devops_platform_gateway, sonar_gateway, metrics_manager_gateway, args):
|
|
17
17
|
config_tool = devops_platform_gateway.get_remote_config(
|
|
18
|
-
args["remote_config_repo"], "/engine_core/ConfigTool.json"
|
|
18
|
+
args["remote_config_repo"], "/engine_core/ConfigTool.json", args["remote_config_branch"]
|
|
19
19
|
)
|
|
20
20
|
report_config_tool = devops_platform_gateway.get_remote_config(
|
|
21
21
|
args["remote_config_repo"], "/report_sonar/ConfigTool.json"
|