devsecops-engine-tools 1.7.11__tar.gz → 1.7.13__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.7.11 → devsecops_engine_tools-1.7.13}/PKG-INFO +1 -1
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/domain/usecases/handle_scan.py +8 -1
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py +2 -1
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/secret_scan.py +29 -19
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/set_input_core.py +14 -13
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_run.py +15 -1
- devsecops_engine_tools-1.7.13/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/entry_point_tool.py +17 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_container/src/applications/runner_container_scan.py +4 -4
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/container_sca_scan.py +7 -33
- devsecops_engine_tools-1.7.13/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/handle_remote_config_patterns.py +32 -0
- devsecops_engine_tools-1.7.13/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/set_input_core.py +52 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/docker_images.py +1 -1
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_cloud_manager_scan.py +24 -28
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_deserialize_output.py +6 -2
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_deserialize_output.py +4 -1
- devsecops_engine_tools-1.7.13/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/entry_point_tool.py +58 -0
- devsecops_engine_tools-1.7.13/devsecops_engine_tools/version.py +1 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools.egg-info/PKG-INFO +1 -1
- devsecops_engine_tools-1.7.11/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/entry_point_tool.py +0 -11
- devsecops_engine_tools-1.7.11/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/handle_remote_config_patterns.py +0 -67
- devsecops_engine_tools-1.7.11/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/set_input_core.py +0 -76
- devsecops_engine_tools-1.7.11/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/entry_point_tool.py +0 -40
- devsecops_engine_tools-1.7.11/devsecops_engine_tools/version.py +0 -1
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/README.md +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/applications/runner_engine_core.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/domain/model/customs_exceptions.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/domain/model/exclusions.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/domain/model/finding.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/domain/model/gateway/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/domain/model/gateway/devops_platform_gateway.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/domain/model/gateway/metrics_manager_gateway.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/domain/model/gateway/printer_table_gateway.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/domain/model/gateway/secrets_manager_gateway.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/domain/model/gateway/vulnerability_management_gateway.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/domain/model/input_core.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/domain/model/level_compliance.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/domain/model/level_vulnerability.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/domain/model/report.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/domain/model/threshold.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/domain/model/vulnerability_management.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/domain/usecases/break_build.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/domain/usecases/handle_risk.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/domain/usecases/metrics_manager.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/s3_manager.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/secrets_manager.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/azure_devops.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/printer_pretty_table.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/runtime_local.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/entry_point_core.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/aws.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/util.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_dast/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_dast/src/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_dast/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_dast/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_dast/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_dast/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_dast/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_dast/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_dast/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_dast/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_dast/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_risk/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_risk/src/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_risk/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_risk/src/applications/runner_engine_risk.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_risk/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_risk/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_risk/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_risk/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_risk/src/domain/model/gateways/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_risk/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_risk/src/domain/usecases/break_build.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_risk/src/domain/usecases/handle_filters.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_risk/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/entry_point_risk.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_risk/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_iac/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_iac/src/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_iac/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_iac/src/applications/runner_iac_scan.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/config_tool.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/iac_scan.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_config.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_deserealizator.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_tool.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/entry_point_tool.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/file_generator_tool.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_secret/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_secret/src/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_secret/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_secret/src/applications/runner_secret_scan.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/DeserializeConfigTool.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/gateway_deserealizator.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/git_gateway.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/git_cli/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/git_cli/git_run.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_deserealizator.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_container/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_container/src/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_container/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_container/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_container/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_container/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/deserealizator_gateway.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/images_gateway.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_manager_scan.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/helpers/images_scanned.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_dependencies/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_dependencies/src/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/runner_dependencies_scan.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/deserializator_gateway.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/dependencies_sca_scan.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/find_artifacts.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/handle_remote_config_patterns.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/set_input_core.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_deserialize_output.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_manager_scan.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/entry_point_tool.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/azuredevops/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure/azure_devops_api.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzureMessageLoggingPipeline.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzurePredefinedVariables.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/azuredevops/models/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/connect.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/defect_dojo.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/finding.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/cmdb.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/engagement.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/finding.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_list.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type_list.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/scan_configuration.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/finding.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/import_scan.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/finding.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/import_scan.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/cmdb.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/finding.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/import_scan.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/hello_world.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/cmdb.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/engagement.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/finding.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/import_scan.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product_type.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/scan_configurations.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/settings.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/repository/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/github/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/github/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/github/infrastructure/github_api.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/github/models/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/input_validations/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/input_validations/env_utils.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/input_validations/validate_input_with_regex_letters_number_and_only.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/settings.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/ssh/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/ssh/managment_private_key.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/utils/__init__.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/utils/api_error.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/utils/dataclass_classmethod.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/utils/datetime_parsing.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/utils/logger_info.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/utils/name_conversion.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/utils/printers.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools/engine_utilities/utils/session_manager.py +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools.egg-info/SOURCES.txt +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools.egg-info/dependency_links.txt +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools.egg-info/entry_points.txt +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools.egg-info/requires.txt +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/devsecops_engine_tools.egg-info/top_level.txt +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/setup.cfg +0 -0
- {devsecops_engine_tools-1.7.11 → devsecops_engine_tools-1.7.13}/setup.py +0 -0
|
@@ -110,7 +110,7 @@ class HandleScan:
|
|
|
110
110
|
else:
|
|
111
111
|
secret_sca = dict_args["token_engine_container"]
|
|
112
112
|
findings_list, input_core = runner_engine_container(
|
|
113
|
-
dict_args, config_tool, secret_sca, self.devops_platform_gateway
|
|
113
|
+
dict_args, config_tool["ENGINE_CONTAINER"]["TOOL"], secret_sca, self.devops_platform_gateway
|
|
114
114
|
)
|
|
115
115
|
if (
|
|
116
116
|
dict_args["use_vulnerability_management"] == "true"
|
|
@@ -128,6 +128,13 @@ class HandleScan:
|
|
|
128
128
|
config_tool["ENGINE_SECRET"]["TOOL"],
|
|
129
129
|
self.devops_platform_gateway
|
|
130
130
|
)
|
|
131
|
+
if (
|
|
132
|
+
dict_args["use_vulnerability_management"] == "true"
|
|
133
|
+
and input_core.path_file_results
|
|
134
|
+
):
|
|
135
|
+
self._use_vulnerability_management(
|
|
136
|
+
config_tool, input_core, dict_args, secret_tool, env
|
|
137
|
+
)
|
|
131
138
|
return findings_list, input_core
|
|
132
139
|
elif "engine_dependencies" in dict_args["tool"]:
|
|
133
140
|
if secret_tool is not None:
|
|
@@ -53,6 +53,7 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
|
|
|
53
53
|
"CHECKOV": "Checkov Scan",
|
|
54
54
|
"PRISMA": "Twistlock Image Scan",
|
|
55
55
|
"XRAY": "JFrog Xray On Demand Binary Scan",
|
|
56
|
+
"TRUFFLEHOG": "Trufflehog Scan",
|
|
56
57
|
}
|
|
57
58
|
|
|
58
59
|
if any(
|
|
@@ -60,7 +61,7 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
|
|
|
60
61
|
for branch in vulnerability_management.config_tool[
|
|
61
62
|
"VULNERABILITY_MANAGER"
|
|
62
63
|
]["BRANCH_FILTER"].split(",")
|
|
63
|
-
):
|
|
64
|
+
) or (vulnerability_management.dict_args["tool"] == 'engine_secret'):
|
|
64
65
|
request: ImportScanRequest = Connect.cmdb(
|
|
65
66
|
cmdb_mapping={
|
|
66
67
|
"product_type_name": "nombreevc",
|
|
@@ -28,16 +28,10 @@ class SecretScan:
|
|
|
28
28
|
self.tool_deserialize = tool_deserialize
|
|
29
29
|
self.git_gateway = git_gateway
|
|
30
30
|
|
|
31
|
-
def process(self,
|
|
32
|
-
tool = str(tool).lower()
|
|
33
|
-
init_config_tool = self.devops_platform_gateway.get_remote_config(
|
|
34
|
-
dict_args["remote_config_repo"], "engine_sast/engine_secret/ConfigTool.json"
|
|
35
|
-
)
|
|
36
|
-
config_tool, skip_tool = self.complete_config_tool(
|
|
37
|
-
init_config_tool, tool
|
|
38
|
-
)
|
|
31
|
+
def process(self, skip_tool, config_tool):
|
|
39
32
|
finding_list = []
|
|
40
|
-
|
|
33
|
+
file_path_findings = ""
|
|
34
|
+
if skip_tool == False:
|
|
41
35
|
self.tool_gateway.install_tool(self.devops_platform_gateway.get_variable("os"), self.devops_platform_gateway.get_variable("temp_directory"))
|
|
42
36
|
files_pullrequest = self.git_gateway.get_files_pull_request(
|
|
43
37
|
self.devops_platform_gateway.get_variable("work_folder"),
|
|
@@ -49,24 +43,40 @@ class SecretScan:
|
|
|
49
43
|
self.devops_platform_gateway.get_variable("project_name"),
|
|
50
44
|
self.devops_platform_gateway.get_variable("repository"),
|
|
51
45
|
self.devops_platform_gateway.get_variable("repository_provider"))
|
|
52
|
-
|
|
53
|
-
self.tool_gateway.run_tool_secret_scan(
|
|
46
|
+
findings, file_path_findings = self.tool_gateway.run_tool_secret_scan(
|
|
54
47
|
files_pullrequest,
|
|
55
48
|
config_tool.exclude_path,
|
|
56
49
|
self.devops_platform_gateway.get_variable("os"),
|
|
57
50
|
self.devops_platform_gateway.get_variable("work_folder"),
|
|
58
51
|
config_tool.number_threads,
|
|
59
52
|
self.devops_platform_gateway.get_variable("repository")
|
|
60
|
-
)
|
|
53
|
+
)
|
|
54
|
+
finding_list = self.tool_deserialize.get_list_vulnerability(
|
|
55
|
+
findings,
|
|
61
56
|
self.devops_platform_gateway.get_variable("os"),
|
|
62
57
|
self.devops_platform_gateway.get_variable("work_folder")
|
|
63
58
|
)
|
|
64
|
-
return finding_list,
|
|
59
|
+
return finding_list, file_path_findings
|
|
65
60
|
|
|
66
|
-
def complete_config_tool(self,
|
|
67
|
-
|
|
61
|
+
def complete_config_tool(self, dict_args, tool):
|
|
62
|
+
tool = str(tool).lower()
|
|
63
|
+
init_config_tool = self.devops_platform_gateway.get_remote_config(
|
|
64
|
+
dict_args["remote_config_repo"], "engine_sast/engine_secret/ConfigTool.json"
|
|
65
|
+
)
|
|
66
|
+
config_tool = DeserializeConfigTool(json_data=init_config_tool, tool=tool)
|
|
68
67
|
config_tool.scope_pipeline = self.devops_platform_gateway.get_variable("pipeline_name")
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
68
|
+
return config_tool
|
|
69
|
+
|
|
70
|
+
def skip_from_exclusion(self, exclusions):
|
|
71
|
+
"""
|
|
72
|
+
Handle skip tool.
|
|
73
|
+
|
|
74
|
+
Return: bool: True -> skip tool, False -> not skip tool.
|
|
75
|
+
"""
|
|
76
|
+
pipeline_name = self.devops_platform_gateway.get_variable("pipeline_name")
|
|
77
|
+
if (pipeline_name in exclusions) and (
|
|
78
|
+
exclusions[pipeline_name].get("SKIP_TOOL", 0)
|
|
79
|
+
):
|
|
80
|
+
return True
|
|
81
|
+
else:
|
|
82
|
+
return False
|
|
@@ -37,19 +37,20 @@ class SetInputCore:
|
|
|
37
37
|
list_exclusions = []
|
|
38
38
|
for key, value in exclusions_data.items():
|
|
39
39
|
if (key == "All") or (key == pipeline_name):
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
40
|
+
if value.get(tool, 0):
|
|
41
|
+
exclusions = [
|
|
42
|
+
Exclusions(
|
|
43
|
+
id=item.get("id", ""),
|
|
44
|
+
where=item.get("where", ""),
|
|
45
|
+
create_date=item.get("create_date", ""),
|
|
46
|
+
expired_date=item.get("expired_date", ""),
|
|
47
|
+
severity=item.get("severity", ""),
|
|
48
|
+
hu=item.get("hu", ""),
|
|
49
|
+
reason=item.get("reason", "Risk acceptance"),
|
|
50
|
+
)
|
|
51
|
+
for item in value[tool]
|
|
52
|
+
]
|
|
53
|
+
list_exclusions.extend(exclusions)
|
|
53
54
|
return list_exclusions
|
|
54
55
|
|
|
55
56
|
def set_input_core(self, finding_list):
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import json
|
|
2
|
+
import os
|
|
2
3
|
import re
|
|
3
4
|
import subprocess
|
|
4
5
|
import concurrent.futures
|
|
@@ -61,7 +62,8 @@ class TrufflehogRun(ToolGateway):
|
|
|
61
62
|
include_paths,
|
|
62
63
|
[repository_name] * len(include_paths),
|
|
63
64
|
)
|
|
64
|
-
|
|
65
|
+
findings, file_findings = self.create_file(self.decode_output(results), agent_work_folder)
|
|
66
|
+
return findings, file_findings
|
|
65
67
|
|
|
66
68
|
def config_include_path(self, files, agent_work_folder):
|
|
67
69
|
chunks = []
|
|
@@ -102,3 +104,15 @@ class TrufflehogRun(ToolGateway):
|
|
|
102
104
|
if json_obj not in result:
|
|
103
105
|
result.append(json_obj)
|
|
104
106
|
return result
|
|
107
|
+
|
|
108
|
+
def create_file(self, findings, agent_work_folder):
|
|
109
|
+
file_findings = os.path.join(agent_work_folder, "secret_scan_result.json")
|
|
110
|
+
with open(file_findings, "w") as file:
|
|
111
|
+
for find in findings:
|
|
112
|
+
original_where = str(find.get("SourceMetadata").get("Data").get("Filesystem").get("file"))
|
|
113
|
+
original_where = original_where.replace("\\", "/")
|
|
114
|
+
where_text = original_where.replace(agent_work_folder, "")
|
|
115
|
+
find["SourceMetadata"]["Data"]["Filesystem"]["file"] = where_text
|
|
116
|
+
json_str = json.dumps(find)
|
|
117
|
+
file.write(json_str + '\n')
|
|
118
|
+
return findings, file_findings
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import sys
|
|
2
|
+
from devsecops_engine_tools.engine_sast.engine_secret.src.domain.usecases.secret_scan import SecretScan
|
|
3
|
+
from devsecops_engine_tools.engine_sast.engine_secret.src.domain.usecases.set_input_core import (
|
|
4
|
+
SetInputCore,
|
|
5
|
+
)
|
|
6
|
+
|
|
7
|
+
def engine_secret_scan(devops_platform_gateway, tool_gateway, dict_args, tool, tool_deserealizator, git_gateway):
|
|
8
|
+
sys.stdout.reconfigure(encoding='utf-8')
|
|
9
|
+
exclusions = devops_platform_gateway.get_remote_config(
|
|
10
|
+
dict_args["remote_config_repo"], "engine_sast/engine_secret/Exclusions.json"
|
|
11
|
+
)
|
|
12
|
+
secret_scan = SecretScan(tool_gateway, devops_platform_gateway, tool_deserealizator, git_gateway)
|
|
13
|
+
config_tool = secret_scan.complete_config_tool(dict_args, tool)
|
|
14
|
+
skip_tool = secret_scan.skip_from_exclusion(exclusions)
|
|
15
|
+
finding_list, file_path_findings = secret_scan.process(skip_tool, config_tool)
|
|
16
|
+
input_core = SetInputCore(devops_platform_gateway, dict_args, tool, config_tool)
|
|
17
|
+
return finding_list, input_core.set_input_core(file_path_findings)
|
|
@@ -18,12 +18,12 @@ from devsecops_engine_tools.engine_sca.engine_container.src.infrastructure.drive
|
|
|
18
18
|
)
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
def runner_engine_container(dict_args,
|
|
21
|
+
def runner_engine_container(dict_args, tool, token, tool_remote):
|
|
22
22
|
try:
|
|
23
|
-
if
|
|
23
|
+
if tool.lower() == "trivy":
|
|
24
24
|
tool_run = TrivyScan()
|
|
25
25
|
tool_deseralizator = TrivyDeserializator()
|
|
26
|
-
elif
|
|
26
|
+
elif tool.lower() == "prisma":
|
|
27
27
|
tool_run = PrismaCloudManagerScan()
|
|
28
28
|
tool_deseralizator = PrismaDeserealizator()
|
|
29
29
|
tool_images = DockerImages()
|
|
@@ -34,7 +34,7 @@ def runner_engine_container(dict_args, config_tool, token, tool_remote):
|
|
|
34
34
|
tool_deseralizator,
|
|
35
35
|
dict_args,
|
|
36
36
|
token,
|
|
37
|
-
|
|
37
|
+
tool,
|
|
38
38
|
)
|
|
39
39
|
|
|
40
40
|
except Exception as e:
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
from devsecops_engine_tools.engine_core.src.domain.model.gateway.devops_platform_gateway import (
|
|
2
|
-
DevopsPlatformGateway,
|
|
3
|
-
)
|
|
4
1
|
from devsecops_engine_tools.engine_sca.engine_container.src.domain.model.gateways.tool_gateway import (
|
|
5
2
|
ToolGateway,
|
|
6
3
|
)
|
|
@@ -11,33 +8,23 @@ from devsecops_engine_tools.engine_sca.engine_container.src.domain.model.gateway
|
|
|
11
8
|
DeseralizatorGateway,
|
|
12
9
|
)
|
|
13
10
|
|
|
11
|
+
|
|
14
12
|
class ContainerScaScan:
|
|
15
13
|
def __init__(
|
|
16
14
|
self,
|
|
17
15
|
tool_run: ToolGateway,
|
|
18
|
-
|
|
16
|
+
remote_config,
|
|
19
17
|
tool_images: ImagesGateway,
|
|
20
18
|
tool_deseralizator: DeseralizatorGateway,
|
|
21
|
-
|
|
19
|
+
build_id,
|
|
22
20
|
token,
|
|
23
|
-
skip_flag
|
|
24
21
|
):
|
|
25
22
|
self.tool_run = tool_run
|
|
26
|
-
self.
|
|
23
|
+
self.remote_config = remote_config
|
|
27
24
|
self.tool_images = tool_images
|
|
28
25
|
self.tool_deseralizator = tool_deseralizator
|
|
29
|
-
self.
|
|
26
|
+
self.build_id = build_id
|
|
30
27
|
self.token = token
|
|
31
|
-
self.skip_flag = skip_flag
|
|
32
|
-
|
|
33
|
-
def get_remote_config(self, file_path):
|
|
34
|
-
"""
|
|
35
|
-
Get remote configuration.
|
|
36
|
-
|
|
37
|
-
Returns:
|
|
38
|
-
dict: Remote configuration.
|
|
39
|
-
"""
|
|
40
|
-
return self.tool_remote.get_remote_config(self.dict_args["remote_config_repo"], file_path)
|
|
41
28
|
|
|
42
29
|
def scan_image(self):
|
|
43
30
|
"""
|
|
@@ -48,15 +35,6 @@ class ContainerScaScan:
|
|
|
48
35
|
"""
|
|
49
36
|
return self.tool_images.list_images()
|
|
50
37
|
|
|
51
|
-
def get_variable(self, variable):
|
|
52
|
-
"""
|
|
53
|
-
Get variable.
|
|
54
|
-
|
|
55
|
-
Returns:
|
|
56
|
-
dict: Remote variable.
|
|
57
|
-
"""
|
|
58
|
-
return self.tool_remote.get_variable(variable)
|
|
59
|
-
|
|
60
38
|
def process(self):
|
|
61
39
|
"""
|
|
62
40
|
Process SCA scanning.
|
|
@@ -65,11 +43,7 @@ class ContainerScaScan:
|
|
|
65
43
|
dict: SCA scanning results.
|
|
66
44
|
"""
|
|
67
45
|
return self.tool_run.run_tool_container_sca(
|
|
68
|
-
self.
|
|
69
|
-
self.token,
|
|
70
|
-
self.scan_image(),
|
|
71
|
-
self.get_variable("build_id"),
|
|
72
|
-
self.skip_flag
|
|
46
|
+
self.remote_config, self.token, self.scan_image(), self.build_id
|
|
73
47
|
)
|
|
74
48
|
|
|
75
49
|
def deseralizator(self, image_scanned):
|
|
@@ -79,4 +53,4 @@ class ContainerScaScan:
|
|
|
79
53
|
Returns:
|
|
80
54
|
list: Deserialized list of findings.
|
|
81
55
|
"""
|
|
82
|
-
return self.tool_deseralizator.get_list_findings(image_scanned)
|
|
56
|
+
return self.tool_deseralizator.get_list_findings(image_scanned)
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import re
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class HandleRemoteConfigPatterns:
|
|
5
|
+
def __init__(self, remote_config, exclusions, pipeline_name):
|
|
6
|
+
self.remote_config = remote_config
|
|
7
|
+
self.exclusions = exclusions
|
|
8
|
+
self.pipeline_name = pipeline_name
|
|
9
|
+
|
|
10
|
+
def ignore_analysis_pattern(self):
|
|
11
|
+
"""
|
|
12
|
+
Handle analysis pattern.
|
|
13
|
+
Return: bool: False -> not scan, True -> scan.
|
|
14
|
+
"""
|
|
15
|
+
ignore = self.remote_config["IGNORE_SEARCH_PATTERN"]
|
|
16
|
+
if re.match(ignore, self.pipeline_name, re.IGNORECASE):
|
|
17
|
+
return False
|
|
18
|
+
else:
|
|
19
|
+
return True
|
|
20
|
+
|
|
21
|
+
def skip_from_exclusion(self):
|
|
22
|
+
"""
|
|
23
|
+
Handle skip tool.
|
|
24
|
+
|
|
25
|
+
Return: bool: True -> skip tool, False -> not skip tool.
|
|
26
|
+
"""
|
|
27
|
+
if (self.pipeline_name in self.exclusions) and (
|
|
28
|
+
self.exclusions[self.pipeline_name].get("SKIP_TOOL", 0)
|
|
29
|
+
):
|
|
30
|
+
return True
|
|
31
|
+
else:
|
|
32
|
+
return False
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
from devsecops_engine_tools.engine_core.src.domain.model.input_core import InputCore
|
|
2
|
+
from devsecops_engine_tools.engine_core.src.domain.model.threshold import Threshold
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
from devsecops_engine_tools.engine_core.src.domain.model.exclusions import Exclusions
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class SetInputCore:
|
|
9
|
+
def __init__(self, remote_config, exclusions, pipeline_name, tool, stage):
|
|
10
|
+
self.remote_config = remote_config
|
|
11
|
+
self.exclusions = exclusions
|
|
12
|
+
self.pipeline_name = pipeline_name
|
|
13
|
+
self.tool = tool
|
|
14
|
+
self.stage = stage
|
|
15
|
+
|
|
16
|
+
def get_exclusions(self, exclusions_data, pipeline_name, tool):
|
|
17
|
+
list_exclusions = [
|
|
18
|
+
Exclusions(
|
|
19
|
+
id=item.get("id", ""),
|
|
20
|
+
where=item.get("where", ""),
|
|
21
|
+
cve_id=item.get("cve_id", ""),
|
|
22
|
+
create_date=item.get("create_date", ""),
|
|
23
|
+
expired_date=item.get("expired_date", ""),
|
|
24
|
+
severity=item.get("severity", ""),
|
|
25
|
+
hu=item.get("hu", ""),
|
|
26
|
+
reason=item.get("reason", "Risk acceptance"),
|
|
27
|
+
)
|
|
28
|
+
for key, value in exclusions_data.items()
|
|
29
|
+
if key in {"All", pipeline_name} and value.get(tool)
|
|
30
|
+
for item in value[tool]
|
|
31
|
+
]
|
|
32
|
+
return list_exclusions
|
|
33
|
+
|
|
34
|
+
def set_input_core(self, images_scanned):
|
|
35
|
+
"""
|
|
36
|
+
Set the input core.
|
|
37
|
+
|
|
38
|
+
Returns:
|
|
39
|
+
dict: Input core.
|
|
40
|
+
"""
|
|
41
|
+
return InputCore(
|
|
42
|
+
self.get_exclusions(
|
|
43
|
+
self.exclusions,
|
|
44
|
+
self.pipeline_name,
|
|
45
|
+
self.tool,
|
|
46
|
+
),
|
|
47
|
+
Threshold(self.remote_config["THRESHOLD"]),
|
|
48
|
+
images_scanned[-1] if images_scanned else None,
|
|
49
|
+
self.remote_config["MESSAGE_INFO_ENGINE_CONTAINER"],
|
|
50
|
+
self.pipeline_name,
|
|
51
|
+
self.stage.capitalize(),
|
|
52
|
+
)
|
|
@@ -19,4 +19,4 @@ class DockerImages(ImagesGateway):
|
|
|
19
19
|
print("Created date last image:", latest_image.attrs["Created"])
|
|
20
20
|
return latest_image
|
|
21
21
|
except subprocess.CalledProcessError as e:
|
|
22
|
-
raise ValueError(f"Error listing images:{e.stderr}")
|
|
22
|
+
raise ValueError(f"Error listing images:{e.stderr}")
|
|
@@ -3,7 +3,6 @@ import requests
|
|
|
3
3
|
import os
|
|
4
4
|
import subprocess
|
|
5
5
|
import logging
|
|
6
|
-
import re
|
|
7
6
|
import base64
|
|
8
7
|
from devsecops_engine_tools.engine_sca.engine_container.src.infrastructure.helpers.images_scanned import (
|
|
9
8
|
ImagesScanned,
|
|
@@ -87,37 +86,34 @@ class PrismaCloudManagerScan(ToolGateway):
|
|
|
87
86
|
|
|
88
87
|
return images_scanned
|
|
89
88
|
|
|
90
|
-
def run_tool_container_sca(
|
|
91
|
-
self, remoteconfig, prisma_secret_key, image, build_id, skip_flag
|
|
92
|
-
):
|
|
89
|
+
def run_tool_container_sca(self, remoteconfig, prisma_secret_key, image, build_id):
|
|
93
90
|
images_scanned = []
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
)
|
|
91
|
+
try:
|
|
92
|
+
file_path = os.path.join(
|
|
93
|
+
os.getcwd(), remoteconfig["PRISMA_CLOUD"]["TWISTCLI_PATH"]
|
|
94
|
+
)
|
|
99
95
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
)
|
|
96
|
+
if not os.path.exists(file_path):
|
|
97
|
+
self.download_twistcli(
|
|
98
|
+
file_path,
|
|
99
|
+
remoteconfig["PRISMA_CLOUD"]["PRISMA_ACCESS_KEY"],
|
|
100
|
+
prisma_secret_key,
|
|
101
|
+
remoteconfig["PRISMA_CLOUD"]["PRISMA_CONSOLE_URL"],
|
|
102
|
+
remoteconfig["PRISMA_CLOUD"]["PRISMA_API_VERSION"],
|
|
103
|
+
)
|
|
104
|
+
images_scanned.extend(
|
|
105
|
+
self.scan_image(
|
|
106
|
+
file_path,
|
|
107
|
+
image,
|
|
108
|
+
remoteconfig,
|
|
109
|
+
prisma_secret_key,
|
|
110
|
+
build_id,
|
|
116
111
|
)
|
|
112
|
+
)
|
|
117
113
|
|
|
118
|
-
|
|
114
|
+
return images_scanned
|
|
119
115
|
|
|
120
|
-
|
|
121
|
-
|
|
116
|
+
except Exception as ex:
|
|
117
|
+
logger.error(f"An overall error occurred: {ex}")
|
|
122
118
|
|
|
123
119
|
return images_scanned
|
|
@@ -31,8 +31,12 @@ class PrismaDeserealizator(DeseralizatorGateway):
|
|
|
31
31
|
image_object = file.read()
|
|
32
32
|
|
|
33
33
|
json_data = json.loads(image_object)
|
|
34
|
-
vulnerabilities_data =
|
|
35
|
-
|
|
34
|
+
vulnerabilities_data = (
|
|
35
|
+
json_data["results"][0]["vulnerabilities"]
|
|
36
|
+
if "vulnerabilities" in json_data["results"][0]
|
|
37
|
+
else []
|
|
38
|
+
)
|
|
39
|
+
|
|
36
40
|
# Create a list of findings instances from the JSON data
|
|
37
41
|
vulnerabilities = [
|
|
38
42
|
Finding(
|
|
@@ -9,6 +9,7 @@ from dataclasses import dataclass
|
|
|
9
9
|
import json
|
|
10
10
|
from datetime import datetime
|
|
11
11
|
|
|
12
|
+
|
|
12
13
|
@dataclass
|
|
13
14
|
class TrivyDeserializator(DeseralizatorGateway):
|
|
14
15
|
def get_list_findings(self, images_scanned: list) -> "list[Finding]":
|
|
@@ -34,7 +35,9 @@ class TrivyDeserializator(DeseralizatorGateway):
|
|
|
34
35
|
+ vul.get("InstalledVersion", ""),
|
|
35
36
|
description=vul.get("Description", "").replace("\n", ""),
|
|
36
37
|
severity=vul.get("Severity", "").lower(),
|
|
37
|
-
identification_date=datetime.now().strftime(
|
|
38
|
+
identification_date=datetime.now().strftime(
|
|
39
|
+
"%d-%m-%Y %H:%M:%S"
|
|
40
|
+
),
|
|
38
41
|
published_date_cve=vul.get("PublishedDate", ""),
|
|
39
42
|
module="engine_container",
|
|
40
43
|
category=Category.VULNERABILITY,
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
from devsecops_engine_tools.engine_sca.engine_container.src.domain.usecases.container_sca_scan import (
|
|
2
|
+
ContainerScaScan,
|
|
3
|
+
)
|
|
4
|
+
from devsecops_engine_tools.engine_sca.engine_container.src.domain.usecases.handle_remote_config_patterns import (
|
|
5
|
+
HandleRemoteConfigPatterns,
|
|
6
|
+
)
|
|
7
|
+
from devsecops_engine_tools.engine_sca.engine_container.src.domain.usecases.set_input_core import (
|
|
8
|
+
SetInputCore,
|
|
9
|
+
)
|
|
10
|
+
from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
|
|
11
|
+
from devsecops_engine_tools.engine_utilities import settings
|
|
12
|
+
|
|
13
|
+
logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def init_engine_sca_rm(
|
|
17
|
+
tool_run,
|
|
18
|
+
tool_remote,
|
|
19
|
+
tool_images,
|
|
20
|
+
tool_deseralizator,
|
|
21
|
+
dict_args,
|
|
22
|
+
token,
|
|
23
|
+
tool,
|
|
24
|
+
):
|
|
25
|
+
remote_config = tool_remote.get_remote_config(
|
|
26
|
+
dict_args["remote_config_repo"], "engine_sca/engine_container/ConfigTool.json"
|
|
27
|
+
)
|
|
28
|
+
exclusions = tool_remote.get_remote_config(
|
|
29
|
+
dict_args["remote_config_repo"], "engine_sca/engine_container/Exclusions.json"
|
|
30
|
+
)
|
|
31
|
+
pipeline_name = tool_remote.get_variable("pipeline_name")
|
|
32
|
+
handle_remote_config_patterns = HandleRemoteConfigPatterns(
|
|
33
|
+
remote_config, exclusions, pipeline_name
|
|
34
|
+
)
|
|
35
|
+
skip_flag = handle_remote_config_patterns.skip_from_exclusion()
|
|
36
|
+
scan_flag = handle_remote_config_patterns.ignore_analysis_pattern()
|
|
37
|
+
build_id = tool_remote.get_variable("build_id")
|
|
38
|
+
stage = tool_remote.get_variable("stage")
|
|
39
|
+
images_scanned = []
|
|
40
|
+
deseralized = []
|
|
41
|
+
input_core = SetInputCore(remote_config, exclusions, pipeline_name, tool, stage)
|
|
42
|
+
if scan_flag and not (skip_flag):
|
|
43
|
+
container_sca_scan = ContainerScaScan(
|
|
44
|
+
tool_run,
|
|
45
|
+
remote_config,
|
|
46
|
+
tool_images,
|
|
47
|
+
tool_deseralizator,
|
|
48
|
+
build_id,
|
|
49
|
+
token,
|
|
50
|
+
)
|
|
51
|
+
images_scanned = container_sca_scan.process()
|
|
52
|
+
deseralized = container_sca_scan.deseralizator(images_scanned)
|
|
53
|
+
else:
|
|
54
|
+
print("Tool skipped by DevSecOps policy")
|
|
55
|
+
logger.info("Tool skipped by DevSecOps policy")
|
|
56
|
+
core_input = input_core.set_input_core(images_scanned)
|
|
57
|
+
|
|
58
|
+
return deseralized, core_input
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
version = '1.7.13'
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import sys
|
|
2
|
-
from devsecops_engine_tools.engine_sast.engine_secret.src.domain.usecases.secret_scan import SecretScan
|
|
3
|
-
from devsecops_engine_tools.engine_sast.engine_secret.src.domain.usecases.set_input_core import (
|
|
4
|
-
SetInputCore,
|
|
5
|
-
)
|
|
6
|
-
|
|
7
|
-
def engine_secret_scan(devops_platform_gateway, tool_gateway, dict_args, tool, tool_deserealizator, git_gateway):
|
|
8
|
-
sys.stdout.reconfigure(encoding='utf-8')
|
|
9
|
-
finding_list, config_tool = SecretScan(tool_gateway, devops_platform_gateway, tool_deserealizator, git_gateway).process(dict_args, tool)
|
|
10
|
-
input_core = SetInputCore(devops_platform_gateway, dict_args, tool, config_tool)
|
|
11
|
-
return finding_list, input_core.set_input_core(finding_list)
|