devsecops-engine-tools 1.20.0__tar.gz → 1.22.0__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.20.0 → devsecops_engine_tools-1.22.0}/PKG-INFO +1 -1
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/applications/runner_engine_core.py +1 -1
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/secrets_manager.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py +2 -1
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/github_actions.py +3 -6
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_tool.py +5 -70
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/DeserializeConfigTool.py +2 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_run.py +10 -3
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/github/infrastructure/github_api.py +14 -18
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/entry_points/entry_point_report_sonar.py +7 -3
- devsecops_engine_tools-1.22.0/devsecops_engine_tools/engine_utilities/utils/utils.py +138 -0
- devsecops_engine_tools-1.22.0/devsecops_engine_tools/version.py +1 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools.egg-info/PKG-INFO +1 -1
- devsecops_engine_tools-1.20.0/devsecops_engine_tools/engine_utilities/utils/utils.py +0 -45
- devsecops_engine_tools-1.20.0/devsecops_engine_tools/version.py +0 -1
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/README.md +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/model/customs_exceptions.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/model/exclusions.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/model/finding.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/devops_platform_gateway.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/metrics_manager_gateway.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/printer_table_gateway.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/secrets_manager_gateway.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/vulnerability_management_gateway.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/model/input_core.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/model/level_compliance.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/model/level_vulnerability.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/model/report.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/model/threshold.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/model/vulnerability_management.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/usecases/break_build.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/usecases/handle_risk.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/usecases/handle_scan.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/usecases/metrics_manager.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/s3_manager.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/azure_devops.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/printer_pretty_table.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_rich_table/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_rich_table/printer_rich_table.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/runtime_local.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/entry_point_core.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/aws.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/util.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_dast/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_dast/src/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_dast/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_dast/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_dast/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_dast/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_dast/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_dast/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_dast/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_dast/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_dast/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/applications/runner_engine_risk.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/domain/model/gateways/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/domain/model/gateways/add_epss_gateway.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/add_data.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/break_build.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/check_threshold.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/get_exclusions.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/handle_filters.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/first_csv/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/first_csv/first_epss_csv.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/entry_point_risk.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/applications/runner_engine_code.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/config_tool.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/gateways/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/gateways/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases/code_scan.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/bearer_deserealizator.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/bearer_tool.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/entry_points/entry_point_tool.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/applications/runner_iac_scan.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/config_tool.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/iac_scan.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_config.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_deserealizator.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_deserealizator.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_tool.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_deserealizator.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_tool.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/entry_point_tool.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/file_generator_tool.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/applications/runner_secret_scan.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/gateway_deserealizator.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/secret_scan.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/set_input_core.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_deserealizator.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/entry_point_tool.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/applications/runner_container_scan.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/deserealizator_gateway.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/images_gateway.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/container_sca_scan.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/handle_remote_config_patterns.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/set_input_core.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/docker_images.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_cloud_manager_scan.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_deserialize_output.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_deserialize_output.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_manager_scan.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/entry_point_tool.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/runner_dependencies_scan.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/deserializator_gateway.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/dependencies_sca_scan.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/handle_remote_config_patterns.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/set_input_core.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_deserialize.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_tool.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_deserialize_output.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_manager_scan.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/entry_point_tool.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/get_artifacts.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/azuredevops/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure/azure_devops_api.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzureMessageLoggingPipeline.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzurePredefinedVariables.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/azuredevops/models/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/connect.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/defect_dojo.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/engagement.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/finding.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/product.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/cmdb.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/engagement.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/finding.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_list.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type_list.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/scan_configuration.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/finding.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/import_scan.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/finding.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/import_scan.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/cmdb.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/engagement.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/finding.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/import_scan.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/product.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/hello_world.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/cmdb.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/engagement.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/finding.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/import_scan.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product_type.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/scan_configurations.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/settings.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/repository/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/git_cli/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/git_cli/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/git_cli/infrastructure/git_run.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/git_cli/model/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/git_cli/model/gateway/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/git_cli/model/gateway/git_gateway.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/github/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/github/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/github/models/GithubPredefinedVariables.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/github/models/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/input_validations/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/input_validations/env_utils.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/input_validations/validate_input_with_regex_letters_number_and_only.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/settings.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/sonarqube/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/applications/runner_report_sonar.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/gateways/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/gateways/sonar_gateway.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases/report_sonar.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/sonarqube/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/sonarqube/sonarqube_report.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/helpers/utils.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/ssh/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/ssh/managment_private_key.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/utils/__init__.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/utils/api_error.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/utils/dataclass_classmethod.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/utils/datetime_parsing.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/utils/logger_info.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/utils/name_conversion.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/utils/printers.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/utils/session_manager.py +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools.egg-info/SOURCES.txt +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools.egg-info/dependency_links.txt +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools.egg-info/entry_points.txt +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools.egg-info/requires.txt +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools.egg-info/top_level.txt +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/setup.cfg +0 -0
- {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/setup.py +0 -0
|
@@ -144,7 +144,7 @@ def get_inputs_from_cli(args):
|
|
|
144
144
|
parser.add_argument(
|
|
145
145
|
"--token_external_checks",
|
|
146
146
|
required=False,
|
|
147
|
-
help="Token for downloading external checks from engine_iac or engine_secret if is necessary. Ej:
|
|
147
|
+
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
148
|
)
|
|
149
149
|
parser.add_argument(
|
|
150
150
|
"--xray_mode",
|
|
File without changes
|
|
@@ -243,7 +243,7 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
|
|
|
243
243
|
self.FALSE_POSITIVE,
|
|
244
244
|
)
|
|
245
245
|
|
|
246
|
-
|
|
246
|
+
exclusions_out_of_scope = self._get_findings_with_exclusions(
|
|
247
247
|
session_manager,
|
|
248
248
|
service,
|
|
249
249
|
dd_max_retries,
|
|
@@ -266,6 +266,7 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
|
|
|
266
266
|
return (
|
|
267
267
|
list(exclusions_risk_accepted)
|
|
268
268
|
+ list(exclusions_false_positive)
|
|
269
|
+
+ list(exclusions_out_of_scope)
|
|
269
270
|
+ list(exclusions_transfer_finding)
|
|
270
271
|
)
|
|
271
272
|
except Exception as ex:
|
|
@@ -28,11 +28,8 @@ class GithubActions(DevopsPlatformGateway):
|
|
|
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()
|
|
31
|
+
utils_github = GithubApi()
|
|
32
|
+
git_client = utils_github.get_github_connection(SystemVariables.github_access_token.value())
|
|
36
33
|
json_config = utils_github.get_remote_json_config(git_client, owner, repository, path)
|
|
37
34
|
|
|
38
35
|
return json_config
|
|
@@ -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
|
|
@@ -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"]
|
|
@@ -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:
|
|
@@ -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,9 +48,8 @@ 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
55
|
def get_remote_json_config(self, git_client: Github, owner, repository, path):
|
|
@@ -65,4 +61,4 @@ class GithubApi:
|
|
|
65
61
|
|
|
66
62
|
return content_json
|
|
67
63
|
except Exception as e:
|
|
68
|
-
raise ApiError("Error getting remote github configuration file: " + str(e))
|
|
64
|
+
raise ApiError("Error getting remote github configuration file: " + str(e))
|
|
@@ -26,8 +26,9 @@ def init_report_sonar(vulnerability_management_gateway, secrets_manager_gateway,
|
|
|
26
26
|
branch = devops_platform_gateway.get_variable("branch_name")
|
|
27
27
|
is_valid_pipeline = not re.match(report_config_tool["IGNORE_SEARCH_PATTERN"], pipeline_name, re.IGNORECASE)
|
|
28
28
|
is_valid_branch = branch in report_config_tool["TARGET_BRANCHES"]
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
is_enabled = config_tool["REPORT_SONAR"]["ENABLED"] == "true"
|
|
30
|
+
|
|
31
|
+
if is_enabled and is_valid_pipeline and is_valid_branch:
|
|
31
32
|
input_core = ReportSonar(
|
|
32
33
|
vulnerability_management_gateway,
|
|
33
34
|
secrets_manager_gateway,
|
|
@@ -40,7 +41,10 @@ def init_report_sonar(vulnerability_management_gateway, secrets_manager_gateway,
|
|
|
40
41
|
config_tool, input_core, {"tool": "report_sonar"}, ""
|
|
41
42
|
)
|
|
42
43
|
else:
|
|
44
|
+
if not is_enabled: message = "DevSecOps Engine Tool - {0} in maintenance...".format("report_sonar")
|
|
45
|
+
else: message = "Tool skipped by DevSecOps policy"
|
|
46
|
+
|
|
43
47
|
print(
|
|
44
48
|
devops_platform_gateway.message(
|
|
45
|
-
"warning",
|
|
49
|
+
"warning", message),
|
|
46
50
|
)
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import zipfile
|
|
2
|
+
import platform
|
|
3
|
+
from devsecops_engine_tools.engine_utilities.github.infrastructure.github_api import (
|
|
4
|
+
GithubApi,
|
|
5
|
+
)
|
|
6
|
+
from devsecops_engine_tools.engine_utilities.ssh.managment_private_key import (
|
|
7
|
+
create_ssh_private_file,
|
|
8
|
+
add_ssh_private_key,
|
|
9
|
+
decode_base64,
|
|
10
|
+
config_knowns_hosts,
|
|
11
|
+
)
|
|
12
|
+
from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
|
|
13
|
+
from devsecops_engine_tools.engine_utilities import settings
|
|
14
|
+
logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
|
|
15
|
+
import base64
|
|
16
|
+
import re
|
|
17
|
+
|
|
18
|
+
from devsecops_engine_tools.engine_core.src.domain.model.threshold import Threshold
|
|
19
|
+
from devsecops_engine_tools.engine_core.src.domain.model.level_vulnerability import (
|
|
20
|
+
LevelVulnerability,
|
|
21
|
+
)
|
|
22
|
+
from devsecops_engine_tools.engine_core.src.domain.model.level_compliance import (
|
|
23
|
+
LevelCompliance,
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class Utils:
|
|
28
|
+
|
|
29
|
+
def unzip_file(self, zip_file_path, extract_path):
|
|
30
|
+
with zipfile.ZipFile(zip_file_path, "r") as zip_ref:
|
|
31
|
+
zip_ref.extractall(extract_path)
|
|
32
|
+
|
|
33
|
+
def configurate_external_checks(self, tool, config_tool, secret_tool, secret_external_checks):
|
|
34
|
+
try:
|
|
35
|
+
agent_env = None
|
|
36
|
+
secret = None
|
|
37
|
+
github_token = None
|
|
38
|
+
github_api = GithubApi()
|
|
39
|
+
|
|
40
|
+
if secret_tool is not None:
|
|
41
|
+
secret = secret_tool
|
|
42
|
+
github_token = github_api.get_installation_access_token(
|
|
43
|
+
secret["github_token"],
|
|
44
|
+
config_tool[tool]["APP_ID_GITHUB"],
|
|
45
|
+
config_tool[tool]["INSTALLATION_ID_GITHUB"]
|
|
46
|
+
)
|
|
47
|
+
|
|
48
|
+
elif secret_external_checks is not None:
|
|
49
|
+
secret_external_checks_parts = {
|
|
50
|
+
"github_token": (
|
|
51
|
+
secret_external_checks.split("github_token:")[1]
|
|
52
|
+
if "github_token" in secret_external_checks
|
|
53
|
+
else None
|
|
54
|
+
),
|
|
55
|
+
"github_apps": (
|
|
56
|
+
secret_external_checks.split("github_apps:")[1]
|
|
57
|
+
if "github_apps" in secret_external_checks
|
|
58
|
+
else None
|
|
59
|
+
),
|
|
60
|
+
"repository_ssh_private_key": (
|
|
61
|
+
secret_external_checks.split("ssh:")[1].split(":")[0]
|
|
62
|
+
if "ssh" in secret_external_checks
|
|
63
|
+
else None
|
|
64
|
+
),
|
|
65
|
+
"repository_ssh_password": (
|
|
66
|
+
secret_external_checks.split("ssh:")[1].split(":")[1]
|
|
67
|
+
if "ssh" in secret_external_checks
|
|
68
|
+
else None
|
|
69
|
+
),
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
secret = {
|
|
73
|
+
key: secret_external_checks_parts[key]
|
|
74
|
+
for key in secret_external_checks_parts
|
|
75
|
+
if secret_external_checks_parts[key] is not None
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
if secret is None:
|
|
79
|
+
logger.warning("The secret is not configured for external controls")
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
elif config_tool[tool]["USE_EXTERNAL_CHECKS_GIT"] == "True" and platform.system() in (
|
|
83
|
+
"Linux", "Darwin",
|
|
84
|
+
):
|
|
85
|
+
config_knowns_hosts(
|
|
86
|
+
config_tool[tool]["EXTERNAL_GIT_SSH_HOST"],
|
|
87
|
+
config_tool[tool]["EXTERNAL_GIT_PUBLIC_KEY_FINGERPRINT"],
|
|
88
|
+
)
|
|
89
|
+
ssh_key_content = decode_base64(secret["repository_ssh_private_key"])
|
|
90
|
+
ssh_key_file_path = "/tmp/ssh_key_file"
|
|
91
|
+
create_ssh_private_file(ssh_key_file_path, ssh_key_content)
|
|
92
|
+
ssh_key_password = decode_base64(secret["repository_ssh_password"])
|
|
93
|
+
agent_env = add_ssh_private_key(ssh_key_file_path, ssh_key_password)
|
|
94
|
+
|
|
95
|
+
elif config_tool[tool]["USE_EXTERNAL_CHECKS_DIR"] == "True":
|
|
96
|
+
if not github_token:
|
|
97
|
+
github_token = github_api.get_installation_access_token(
|
|
98
|
+
secret.get("github_apps"),
|
|
99
|
+
config_tool[tool]["APP_ID_GITHUB"],
|
|
100
|
+
config_tool[tool]["INSTALLATION_ID_GITHUB"]
|
|
101
|
+
) if secret.get("github_apps") else secret.get("github_token")
|
|
102
|
+
github_api.download_latest_release_assets(
|
|
103
|
+
config_tool[tool]["EXTERNAL_DIR_OWNER"],
|
|
104
|
+
config_tool[tool]["EXTERNAL_DIR_REPOSITORY"],
|
|
105
|
+
github_token,
|
|
106
|
+
"/tmp",
|
|
107
|
+
)
|
|
108
|
+
|
|
109
|
+
except Exception as ex:
|
|
110
|
+
logger.error(f"An error occurred configuring external checks: {ex}")
|
|
111
|
+
return agent_env
|
|
112
|
+
|
|
113
|
+
def encode_token_to_base64(self, token):
|
|
114
|
+
token_bytes = f"{token}:".encode("utf-8")
|
|
115
|
+
base64_token = base64.b64encode(token_bytes).decode("utf-8")
|
|
116
|
+
return base64_token
|
|
117
|
+
|
|
118
|
+
def update_threshold(self, threshold: Threshold, exclusions_data, pipeline_name):
|
|
119
|
+
def set_threshold(new_threshold):
|
|
120
|
+
threshold.vulnerability = LevelVulnerability(new_threshold.get("VULNERABILITY"))
|
|
121
|
+
threshold.compliance = LevelCompliance(new_threshold.get("COMPLIANCE")) if new_threshold.get("COMPLIANCE") else threshold.compliance
|
|
122
|
+
threshold.cve = new_threshold.get("CVE") if new_threshold.get("CVE") is not None else threshold.cve
|
|
123
|
+
return threshold
|
|
124
|
+
|
|
125
|
+
threshold_pipeline = exclusions_data.get(pipeline_name, {}).get("THRESHOLD", {})
|
|
126
|
+
if threshold_pipeline:
|
|
127
|
+
return set_threshold(threshold_pipeline)
|
|
128
|
+
|
|
129
|
+
search_patterns = exclusions_data.get("BY_PATTERN_SEARCH", {})
|
|
130
|
+
|
|
131
|
+
match_pattern = next(
|
|
132
|
+
(v["THRESHOLD"]
|
|
133
|
+
for pattern, v in search_patterns.items()
|
|
134
|
+
if re.match(pattern, pipeline_name, re.IGNORECASE)),
|
|
135
|
+
None
|
|
136
|
+
)
|
|
137
|
+
|
|
138
|
+
return set_threshold(match_pattern) if match_pattern else threshold
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
version = '1.22.0'
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import zipfile
|
|
2
|
-
import base64
|
|
3
|
-
import re
|
|
4
|
-
|
|
5
|
-
from devsecops_engine_tools.engine_core.src.domain.model.threshold import Threshold
|
|
6
|
-
from devsecops_engine_tools.engine_core.src.domain.model.level_vulnerability import (
|
|
7
|
-
LevelVulnerability,
|
|
8
|
-
)
|
|
9
|
-
from devsecops_engine_tools.engine_core.src.domain.model.level_compliance import (
|
|
10
|
-
LevelCompliance,
|
|
11
|
-
)
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
class Utils:
|
|
15
|
-
|
|
16
|
-
def unzip_file(self, zip_file_path, extract_path):
|
|
17
|
-
with zipfile.ZipFile(zip_file_path, "r") as zip_ref:
|
|
18
|
-
zip_ref.extractall(extract_path)
|
|
19
|
-
|
|
20
|
-
def encode_token_to_base64(self, token):
|
|
21
|
-
token_bytes = f"{token}:".encode("utf-8")
|
|
22
|
-
base64_token = base64.b64encode(token_bytes).decode("utf-8")
|
|
23
|
-
return base64_token
|
|
24
|
-
|
|
25
|
-
def update_threshold(self, threshold: Threshold, exclusions_data, pipeline_name):
|
|
26
|
-
def set_threshold(new_threshold):
|
|
27
|
-
threshold.vulnerability = LevelVulnerability(new_threshold.get("VULNERABILITY"))
|
|
28
|
-
threshold.compliance = LevelCompliance(new_threshold.get("COMPLIANCE")) if new_threshold.get("COMPLIANCE") else threshold.compliance
|
|
29
|
-
threshold.cve = new_threshold.get("CVE") if new_threshold.get("CVE") is not None else threshold.cve
|
|
30
|
-
return threshold
|
|
31
|
-
|
|
32
|
-
threshold_pipeline = exclusions_data.get(pipeline_name, {}).get("THRESHOLD", {})
|
|
33
|
-
if threshold_pipeline:
|
|
34
|
-
return set_threshold(threshold_pipeline)
|
|
35
|
-
|
|
36
|
-
search_patterns = exclusions_data.get("BY_PATTERN_SEARCH", {})
|
|
37
|
-
|
|
38
|
-
match_pattern = next(
|
|
39
|
-
(v["THRESHOLD"]
|
|
40
|
-
for pattern, v in search_patterns.items()
|
|
41
|
-
if re.match(pattern, pipeline_name, re.IGNORECASE)),
|
|
42
|
-
None
|
|
43
|
-
)
|
|
44
|
-
|
|
45
|
-
return set_threshold(match_pattern) if match_pattern else threshold
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
version = '1.20.0'
|
|
File without changes
|
{devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|