devsecops-engine-tools 1.24.4__tar.gz → 1.25.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.24.4 → devsecops_engine_tools-1.25.1}/PKG-INFO +3 -1
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/images_gateway.py +4 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/tool_gateway.py +1 -1
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/container_sca_scan.py +18 -4
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/set_input_core.py +30 -17
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/docker_images.py +17 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_cloud_manager_scan.py +28 -3
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_manager_scan.py +4 -3
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/entry_point_tool.py +4 -2
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_deserialize.py +70 -4
- devsecops_engine_tools-1.25.1/devsecops_engine_tools/version.py +1 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools.egg-info/PKG-INFO +3 -1
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools.egg-info/requires.txt +2 -0
- devsecops_engine_tools-1.24.4/devsecops_engine_tools/version.py +0 -1
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/README.md +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/applications/runner_engine_core.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/model/customs_exceptions.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/model/exclusions.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/model/finding.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/model/gateway/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/model/gateway/devops_platform_gateway.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/model/gateway/metrics_manager_gateway.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/model/gateway/printer_table_gateway.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/model/gateway/secrets_manager_gateway.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/model/gateway/vulnerability_management_gateway.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/model/input_core.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/model/level_compliance.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/model/level_vulnerability.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/model/report.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/model/threshold.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/model/vulnerability_management.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/usecases/break_build.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/usecases/handle_risk.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/usecases/handle_scan.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/usecases/metrics_manager.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/s3_manager.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/secrets_manager.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/azure_devops.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/github_actions.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/printer_pretty_table.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_rich_table/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_rich_table/printer_rich_table.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/runtime_local.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/entry_point_core.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/aws.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/util.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_dast/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_dast/src/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_dast/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_dast/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_dast/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_dast/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_dast/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_dast/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_dast/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_dast/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_dast/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/applications/runner_engine_risk.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/domain/model/gateways/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/domain/model/gateways/add_epss_gateway.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/domain/usecases/add_data.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/domain/usecases/break_build.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/domain/usecases/check_threshold.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/domain/usecases/get_exclusions.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/domain/usecases/handle_filters.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/first_csv/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/first_csv/first_epss_csv.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/entry_point_risk.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/applications/runner_engine_code.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/config_tool.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/gateways/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/gateways/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases/code_scan.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/bearer_deserealizator.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/bearer_tool.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/entry_points/entry_point_tool.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/applications/runner_iac_scan.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/config_tool.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/iac_scan.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_config.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_deserealizator.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_tool.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_deserealizator.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_tool.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_deserealizator.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_tool.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/entry_point_tool.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/file_generator_tool.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/applications/runner_secret_scan.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/DeserializeConfigTool.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/gateway_deserealizator.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/secret_scan.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/set_input_core.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_deserealizator.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_run.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/entry_point_tool.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/applications/runner_container_scan.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/deserealizator_gateway.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/handle_remote_config_patterns.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_deserialize_output.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_deserialize_output.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/runner_dependencies_scan.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/deserializator_gateway.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/dependencies_sca_scan.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/handle_remote_config_patterns.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/set_input_core.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_tool.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_deserialize_output.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_manager_scan.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/entry_point_tool.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/get_artifacts.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/azuredevops/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure/azure_devops_api.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzureMessageLoggingPipeline.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzurePredefinedVariables.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/azuredevops/models/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/connect.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/defect_dojo.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/engagement.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/finding.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/product.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/cmdb.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/engagement.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/finding.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_list.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type_list.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/scan_configuration.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/finding.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/import_scan.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/finding.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/import_scan.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/cmdb.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/engagement.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/finding.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/import_scan.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/product.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/hello_world.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/cmdb.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/engagement.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/finding.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/import_scan.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product_type.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/scan_configurations.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/settings.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/repository/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/git_cli/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/git_cli/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/git_cli/infrastructure/git_run.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/git_cli/model/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/git_cli/model/gateway/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/git_cli/model/gateway/git_gateway.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/github/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/github/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/github/infrastructure/github_api.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/github/models/GithubPredefinedVariables.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/github/models/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/input_validations/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/input_validations/env_utils.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/input_validations/validate_input_with_regex_letters_number_and_only.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/settings.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/sonarqube/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/applications/runner_report_sonar.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/gateways/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/gateways/sonar_gateway.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases/report_sonar.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/sonarqube/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/sonarqube/sonarqube_report.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/entry_points/entry_point_report_sonar.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/helpers/utils.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/ssh/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/ssh/managment_private_key.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/utils/__init__.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/utils/api_error.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/utils/dataclass_classmethod.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/utils/datetime_parsing.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/utils/logger_info.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/utils/name_conversion.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/utils/printers.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/utils/session_manager.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/utils/utils.py +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools.egg-info/SOURCES.txt +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools.egg-info/dependency_links.txt +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools.egg-info/entry_points.txt +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools.egg-info/top_level.txt +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/setup.cfg +0 -0
- {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.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.25.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
|
|
@@ -26,6 +26,8 @@ Requires-Dist: boto3==1.34.157
|
|
|
26
26
|
Requires-Dist: docker==7.1.0
|
|
27
27
|
Requires-Dist: setuptools==72.1.0
|
|
28
28
|
Requires-Dist: rich==13.9.4
|
|
29
|
+
Requires-Dist: cpe==1.3.1
|
|
30
|
+
Requires-Dist: packageurl-python==0.15.6
|
|
29
31
|
|
|
30
32
|
# DevSecOps Engine Tools
|
|
31
33
|
|
|
@@ -3,5 +3,5 @@ from abc import ABCMeta, abstractmethod
|
|
|
3
3
|
|
|
4
4
|
class ToolGateway(metaclass=ABCMeta):
|
|
5
5
|
@abstractmethod
|
|
6
|
-
def run_tool_container_sca(self, dict_args, secret_tool, token_engine_container, scan_image, release) -> str:
|
|
6
|
+
def run_tool_container_sca(self, dict_args, secret_tool, token_engine_container, scan_image, release, base_image, exclusions) -> str:
|
|
7
7
|
"run tool container sca"
|
|
@@ -22,6 +22,7 @@ class ContainerScaScan:
|
|
|
22
22
|
secret_tool,
|
|
23
23
|
token_engine_container,
|
|
24
24
|
image_to_scan,
|
|
25
|
+
exclusions
|
|
25
26
|
):
|
|
26
27
|
self.tool_run = tool_run
|
|
27
28
|
self.remote_config = remote_config
|
|
@@ -31,6 +32,7 @@ class ContainerScaScan:
|
|
|
31
32
|
self.secret_tool = secret_tool
|
|
32
33
|
self.token_engine_container = token_engine_container
|
|
33
34
|
self.image_to_scan = image_to_scan
|
|
35
|
+
self.exclusions = exclusions
|
|
34
36
|
|
|
35
37
|
def get_image(self, image_to_scan):
|
|
36
38
|
"""
|
|
@@ -41,6 +43,15 @@ class ContainerScaScan:
|
|
|
41
43
|
"""
|
|
42
44
|
return self.tool_images.list_images(image_to_scan)
|
|
43
45
|
|
|
46
|
+
def get_base_image(self, matching_image):
|
|
47
|
+
"""
|
|
48
|
+
Process the base image.
|
|
49
|
+
|
|
50
|
+
Returns:
|
|
51
|
+
String: base image.
|
|
52
|
+
"""
|
|
53
|
+
return self.tool_images.get_base_image(matching_image)
|
|
54
|
+
|
|
44
55
|
def get_images_already_scanned(self):
|
|
45
56
|
"""
|
|
46
57
|
Create images scanned file if it does not exist and get the images that have already been scanned.
|
|
@@ -66,21 +77,24 @@ class ContainerScaScan:
|
|
|
66
77
|
Returns:
|
|
67
78
|
string: file scanning results name.
|
|
68
79
|
"""
|
|
69
|
-
|
|
80
|
+
base_image = None
|
|
70
81
|
image_scanned = None
|
|
82
|
+
matching_image = self.get_image(self.image_to_scan)
|
|
83
|
+
if self.remote_config['GET_IMAGE_BASE']:
|
|
84
|
+
base_image = self.get_base_image(matching_image)
|
|
71
85
|
if matching_image:
|
|
72
86
|
image_name = matching_image.tags[0]
|
|
73
87
|
result_file = image_name.replace("/","_") + "_scan_result.json"
|
|
74
88
|
if image_name in self.get_images_already_scanned():
|
|
75
89
|
print(f"The image {image_name} has already been scanned previously.")
|
|
76
|
-
return image_scanned
|
|
90
|
+
return image_scanned, base_image
|
|
77
91
|
image_scanned = self.tool_run.run_tool_container_sca(
|
|
78
|
-
self.remote_config, self.secret_tool, self.token_engine_container, image_name, result_file
|
|
92
|
+
self.remote_config, self.secret_tool, self.token_engine_container, image_name, result_file, base_image, self.exclusions
|
|
79
93
|
)
|
|
80
94
|
self.set_image_scanned(image_name)
|
|
81
95
|
else:
|
|
82
96
|
print(f"'Not image found for {self.image_to_scan}'. Tool skipped.")
|
|
83
|
-
return image_scanned
|
|
97
|
+
return image_scanned, base_image
|
|
84
98
|
|
|
85
99
|
def deseralizator(self, image_scanned):
|
|
86
100
|
"""
|
|
@@ -12,25 +12,37 @@ class SetInputCore:
|
|
|
12
12
|
self.tool = tool
|
|
13
13
|
self.stage = stage
|
|
14
14
|
|
|
15
|
-
def get_exclusions(self, exclusions_data, pipeline_name, tool):
|
|
16
|
-
list_exclusions = [
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
15
|
+
def get_exclusions(self, exclusions_data, pipeline_name, tool, base_image):
|
|
16
|
+
list_exclusions = []
|
|
17
|
+
print("The base image used is:", base_image)
|
|
18
|
+
for key, value in exclusions_data.items():
|
|
19
|
+
if key not in {"All", pipeline_name} or not value.get(tool):
|
|
20
|
+
continue
|
|
21
|
+
|
|
22
|
+
for item in value[tool]:
|
|
23
|
+
if key == "All":
|
|
24
|
+
source_images = item.get("source_images", [])
|
|
25
|
+
if source_images and base_image is None:
|
|
26
|
+
continue
|
|
27
|
+
if source_images and not any(base_image in source for source in source_images):
|
|
28
|
+
continue
|
|
29
|
+
|
|
30
|
+
list_exclusions.append(
|
|
31
|
+
Exclusions(
|
|
32
|
+
id=item.get("id", ""),
|
|
33
|
+
where=item.get("where", ""),
|
|
34
|
+
cve_id=item.get("cve_id", ""),
|
|
35
|
+
create_date=item.get("create_date", ""),
|
|
36
|
+
expired_date=item.get("expired_date", ""),
|
|
37
|
+
severity=item.get("severity", ""),
|
|
38
|
+
hu=item.get("hu", ""),
|
|
39
|
+
reason=item.get("reason", "Risk acceptance"),
|
|
40
|
+
)
|
|
41
|
+
)
|
|
42
|
+
|
|
31
43
|
return list_exclusions
|
|
32
44
|
|
|
33
|
-
def set_input_core(self, image_scanned):
|
|
45
|
+
def set_input_core(self, image_scanned,base_image):
|
|
34
46
|
"""
|
|
35
47
|
Set the input core.
|
|
36
48
|
|
|
@@ -42,6 +54,7 @@ class SetInputCore:
|
|
|
42
54
|
self.exclusions,
|
|
43
55
|
self.pipeline_name,
|
|
44
56
|
self.tool,
|
|
57
|
+
base_image
|
|
45
58
|
),
|
|
46
59
|
Utils.update_threshold(
|
|
47
60
|
self,
|
|
@@ -31,3 +31,20 @@ class DockerImages(ImagesGateway):
|
|
|
31
31
|
logger.error(
|
|
32
32
|
f"Error listing images, docker must be running and added to PATH: {e}"
|
|
33
33
|
)
|
|
34
|
+
|
|
35
|
+
def get_base_image(self, matching_image):
|
|
36
|
+
try:
|
|
37
|
+
client = docker.from_env()
|
|
38
|
+
image_details = client.api.inspect_image(matching_image.id)
|
|
39
|
+
labels = image_details.get("Config", {}).get("Labels", {})
|
|
40
|
+
source_image = labels.get("source-image")
|
|
41
|
+
if source_image:
|
|
42
|
+
logger.info(f"Base image for '{matching_image}' from source-image label: {source_image}")
|
|
43
|
+
return source_image
|
|
44
|
+
|
|
45
|
+
logger.warning(f"Base image not found for '{matching_image}'.")
|
|
46
|
+
return None
|
|
47
|
+
|
|
48
|
+
except Exception as e:
|
|
49
|
+
logger.error(f"Error getting base image: {e}")
|
|
50
|
+
return None
|
|
@@ -4,6 +4,7 @@ import os
|
|
|
4
4
|
import subprocess
|
|
5
5
|
import logging
|
|
6
6
|
import base64
|
|
7
|
+
import json
|
|
7
8
|
from devsecops_engine_tools.engine_sca.engine_container.src.domain.model.gateways.tool_gateway import (
|
|
8
9
|
ToolGateway,
|
|
9
10
|
)
|
|
@@ -68,14 +69,36 @@ class PrismaCloudManagerScan(ToolGateway):
|
|
|
68
69
|
text=True,
|
|
69
70
|
)
|
|
70
71
|
print(f"The image {image_name} was scanned")
|
|
71
|
-
|
|
72
72
|
return result_file
|
|
73
73
|
|
|
74
74
|
except subprocess.CalledProcessError as e:
|
|
75
75
|
logger.error(f"Error during image scan of {image_name}: {e.stderr}")
|
|
76
76
|
|
|
77
|
+
def _write_image_base(self, result_file, base_image, exclusions_data):
|
|
78
|
+
try:
|
|
79
|
+
with open(result_file, "r") as file:
|
|
80
|
+
data = json.load(file)
|
|
81
|
+
|
|
82
|
+
prisma_exclusions = exclusions_data.get("All", {}).get("PRISMA", [])
|
|
83
|
+
modified = False
|
|
84
|
+
for result in data.get("results", []):
|
|
85
|
+
for vulnerability in result.get("vulnerabilities", []):
|
|
86
|
+
for exclusion in prisma_exclusions:
|
|
87
|
+
if (
|
|
88
|
+
vulnerability.get("id") == exclusion.get("id") and
|
|
89
|
+
any(image.startswith(base_image) for image in exclusion.get("source_images", []))
|
|
90
|
+
):
|
|
91
|
+
vulnerability["baseImage"] = base_image
|
|
92
|
+
modified = True
|
|
93
|
+
|
|
94
|
+
if modified:
|
|
95
|
+
with open(result_file, "w") as file:
|
|
96
|
+
json.dump(data, file, indent=4)
|
|
97
|
+
except subprocess.CalledProcessError as e:
|
|
98
|
+
logger.error(f"Error during write image base of {base_image}: {e.stderr}")
|
|
99
|
+
|
|
77
100
|
def run_tool_container_sca(
|
|
78
|
-
self, remoteconfig, secret_tool, token_engine_container, image_name, result_file
|
|
101
|
+
self, remoteconfig, secret_tool, token_engine_container, image_name, result_file, base_image, exclusions
|
|
79
102
|
):
|
|
80
103
|
prisma_secret_key = secret_tool["token_prisma_cloud"] if secret_tool else token_engine_container
|
|
81
104
|
file_path = os.path.join(
|
|
@@ -95,7 +118,9 @@ class PrismaCloudManagerScan(ToolGateway):
|
|
|
95
118
|
image_name,
|
|
96
119
|
result_file,
|
|
97
120
|
remoteconfig,
|
|
98
|
-
prisma_secret_key
|
|
121
|
+
prisma_secret_key
|
|
99
122
|
)
|
|
123
|
+
if base_image:
|
|
124
|
+
self._write_image_base(result_file, base_image, exclusions)
|
|
100
125
|
|
|
101
126
|
return image_scanned
|
|
@@ -7,6 +7,7 @@ import platform
|
|
|
7
7
|
import requests
|
|
8
8
|
import tarfile
|
|
9
9
|
import zipfile
|
|
10
|
+
import json
|
|
10
11
|
|
|
11
12
|
from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
|
|
12
13
|
from devsecops_engine_tools.engine_utilities import settings
|
|
@@ -52,7 +53,7 @@ class TrivyScan(ToolGateway):
|
|
|
52
53
|
except Exception as e:
|
|
53
54
|
logger.error(f"Error installing trivy: {e}")
|
|
54
55
|
|
|
55
|
-
def scan_image(self, prefix, image_name, result_file):
|
|
56
|
+
def scan_image(self, prefix, image_name, result_file, base_image):
|
|
56
57
|
command = [
|
|
57
58
|
prefix,
|
|
58
59
|
"--scanners",
|
|
@@ -78,7 +79,7 @@ class TrivyScan(ToolGateway):
|
|
|
78
79
|
except Exception as e:
|
|
79
80
|
logger.error(f"Error during image scan of {image_name}: {e}")
|
|
80
81
|
|
|
81
|
-
def run_tool_container_sca(self, remoteconfig, secret_tool, token_engine_container, image_name, result_file):
|
|
82
|
+
def run_tool_container_sca(self, remoteconfig, secret_tool, token_engine_container, image_name, result_file ,base_image, exclusions):
|
|
82
83
|
trivy_version = remoteconfig["TRIVY"]["TRIVY_VERSION"]
|
|
83
84
|
os_platform = platform.system()
|
|
84
85
|
arch_platform = platform.architecture()[0]
|
|
@@ -101,7 +102,7 @@ class TrivyScan(ToolGateway):
|
|
|
101
102
|
return None
|
|
102
103
|
|
|
103
104
|
image_scanned = (
|
|
104
|
-
self.scan_image(command_prefix, image_name, result_file)
|
|
105
|
+
self.scan_image(command_prefix, image_name, result_file, base_image)
|
|
105
106
|
)
|
|
106
107
|
|
|
107
108
|
return image_scanned
|
|
@@ -38,6 +38,7 @@ def init_engine_sca_rm(
|
|
|
38
38
|
stage = tool_remote.get_variable("stage")
|
|
39
39
|
image_to_scan = dict_args["image_to_scan"]
|
|
40
40
|
image_scanned = None
|
|
41
|
+
base_image = None
|
|
41
42
|
deseralized = []
|
|
42
43
|
input_core = SetInputCore(remote_config, exclusions, pipeline_name, tool, stage)
|
|
43
44
|
if scan_flag and not (skip_flag):
|
|
@@ -50,13 +51,14 @@ def init_engine_sca_rm(
|
|
|
50
51
|
secret_tool,
|
|
51
52
|
dict_args["token_engine_container"],
|
|
52
53
|
image_to_scan,
|
|
54
|
+
exclusions
|
|
53
55
|
)
|
|
54
|
-
image_scanned = container_sca_scan.process()
|
|
56
|
+
image_scanned,base_image = container_sca_scan.process()
|
|
55
57
|
if image_scanned:
|
|
56
58
|
deseralized = container_sca_scan.deseralizator(image_scanned)
|
|
57
59
|
else:
|
|
58
60
|
print("Tool skipped by DevSecOps policy")
|
|
59
61
|
dict_args["send_metrics"] = "false"
|
|
60
|
-
core_input = input_core.set_input_core(image_scanned)
|
|
62
|
+
core_input = input_core.set_input_core(image_scanned,base_image)
|
|
61
63
|
|
|
62
64
|
return deseralized, core_input
|
|
@@ -8,6 +8,8 @@ from devsecops_engine_tools.engine_core.src.domain.model.finding import (
|
|
|
8
8
|
from dataclasses import dataclass
|
|
9
9
|
from datetime import datetime
|
|
10
10
|
import xml.etree.ElementTree as ET
|
|
11
|
+
from packageurl import PackageURL
|
|
12
|
+
from cpe import CPE
|
|
11
13
|
from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
|
|
12
14
|
from devsecops_engine_tools.engine_utilities import settings
|
|
13
15
|
|
|
@@ -37,14 +39,14 @@ class DependencyCheckDeserialize(DeserializatorGateway):
|
|
|
37
39
|
|
|
38
40
|
id = vulnerability.find('ns:name', namespace).text[:20]
|
|
39
41
|
cvss = ", ".join(f"{child.tag.split('}')[-1]}: {child.text}" for child in vulnerability.find('ns:cvssV3', namespace)) if vulnerability.find('ns:cvssV3', namespace) else ""
|
|
40
|
-
|
|
42
|
+
where = self.get_where(dependency, namespace)
|
|
41
43
|
description = vulnerability.find('ns:description', namespace).text if vulnerability.find('ns:description', namespace).text else ""
|
|
42
44
|
severity = vulnerability.find('ns:severity', namespace).text.lower()
|
|
43
|
-
|
|
45
|
+
|
|
44
46
|
finding_open = Finding(
|
|
45
47
|
id=id,
|
|
46
48
|
cvss=cvss,
|
|
47
|
-
where=
|
|
49
|
+
where=where,
|
|
48
50
|
description=description[:120].replace("\n\n", " ").replace("\n", " ").strip() if len(description) > 0 else "No description available",
|
|
49
51
|
severity=severity,
|
|
50
52
|
identification_date=datetime.now().strftime("%d%m%Y"),
|
|
@@ -86,4 +88,68 @@ class DependencyCheckDeserialize(DeserializatorGateway):
|
|
|
86
88
|
for dep in to_remove: dependencies.remove(dep)
|
|
87
89
|
data_result.write(dependencies_scanned_file, encoding="utf-8", xml_declaration=True)
|
|
88
90
|
|
|
89
|
-
return dependencies, namespace
|
|
91
|
+
return dependencies, namespace
|
|
92
|
+
|
|
93
|
+
def get_where(self, dependency, namespace):
|
|
94
|
+
identifiers_node = dependency.find("ns:identifiers", namespace)
|
|
95
|
+
if identifiers_node:
|
|
96
|
+
package_node = identifiers_node.find(".//ns:package", namespace)
|
|
97
|
+
if package_node:
|
|
98
|
+
id = package_node.find("ns:id", namespace).text
|
|
99
|
+
purl = PackageURL.from_string(id)
|
|
100
|
+
purl_parts = purl.to_dict()
|
|
101
|
+
component_name = (
|
|
102
|
+
purl_parts["namespace"] + ":"
|
|
103
|
+
if purl_parts["namespace"]
|
|
104
|
+
and len(purl_parts["namespace"]) > 0
|
|
105
|
+
else ""
|
|
106
|
+
)
|
|
107
|
+
component_name += (
|
|
108
|
+
purl_parts["name"]
|
|
109
|
+
if purl_parts["name"] and len(purl_parts["name"]) > 0
|
|
110
|
+
else ""
|
|
111
|
+
)
|
|
112
|
+
component_name = component_name or None
|
|
113
|
+
component_version = (
|
|
114
|
+
purl_parts["version"]
|
|
115
|
+
if purl_parts["version"] and len(purl_parts["version"]) > 0
|
|
116
|
+
else ""
|
|
117
|
+
)
|
|
118
|
+
return f"{component_name}:{component_version}"
|
|
119
|
+
|
|
120
|
+
cpe_node = identifiers_node.find(
|
|
121
|
+
".//ns:identifier[@type='cpe']", namespace
|
|
122
|
+
)
|
|
123
|
+
if cpe_node:
|
|
124
|
+
id = cpe_node.find("ns:name", namespace).text
|
|
125
|
+
cpe = CPE(id)
|
|
126
|
+
component_name = (
|
|
127
|
+
cpe.get_vendor()[0] + ":"
|
|
128
|
+
if len(cpe.get_vendor()) > 0
|
|
129
|
+
else ""
|
|
130
|
+
)
|
|
131
|
+
component_name += (
|
|
132
|
+
cpe.get_product()[0] if len(cpe.get_product()) > 0 else ""
|
|
133
|
+
)
|
|
134
|
+
component_name = component_name or None
|
|
135
|
+
component_version = (
|
|
136
|
+
cpe.get_version()[0]
|
|
137
|
+
if len(cpe.get_version()) > 0
|
|
138
|
+
else None
|
|
139
|
+
)
|
|
140
|
+
return f"{component_name}:{component_version}"
|
|
141
|
+
|
|
142
|
+
maven_node = identifiers_node.find(
|
|
143
|
+
".//ns:identifier[@type='maven']", namespace
|
|
144
|
+
)
|
|
145
|
+
if maven_node:
|
|
146
|
+
maven_parts = maven_node.find("ns:name", namespace).text.split(
|
|
147
|
+
":",
|
|
148
|
+
)
|
|
149
|
+
|
|
150
|
+
if len(maven_parts) == 3:
|
|
151
|
+
component_name = maven_parts[0] + ":" + maven_parts[1]
|
|
152
|
+
component_version = maven_parts[2]
|
|
153
|
+
return f"{component_name}:{component_version}"
|
|
154
|
+
|
|
155
|
+
return ""
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
version = '1.25.1'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: devsecops-engine-tools
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.25.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
|
|
@@ -26,6 +26,8 @@ Requires-Dist: boto3==1.34.157
|
|
|
26
26
|
Requires-Dist: docker==7.1.0
|
|
27
27
|
Requires-Dist: setuptools==72.1.0
|
|
28
28
|
Requires-Dist: rich==13.9.4
|
|
29
|
+
Requires-Dist: cpe==1.3.1
|
|
30
|
+
Requires-Dist: packageurl-python==0.15.6
|
|
29
31
|
|
|
30
32
|
# DevSecOps Engine Tools
|
|
31
33
|
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
version = '1.24.4'
|
|
File without changes
|
{devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/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
|
|
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
|