devsecops-engine-tools 1.115.1__tar.gz → 1.116.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of devsecops-engine-tools might be problematic. Click here for more details.
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/PKG-INFO +2 -2
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/applications/runner_engine_core.py +2 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/domain/usecases/handle_scan.py +19 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/printer_pretty_table.py +3 -6
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_cloud_manager_scan.py +7 -47
- devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_sca/engine_function/src/applications/runner_function_scan.py +32 -0
- devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_sca/engine_function/src/domain/model/gateways/deserealizator_gateway.py +8 -0
- devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_sca/engine_function/src/domain/model/gateways/tool_gateway.py +13 -0
- devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_sca/engine_function/src/domain/usecases/function_sca_scan.py +71 -0
- devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_sca/engine_function/src/domain/usecases/handle_remote_config_patterns.py +73 -0
- devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_sca/engine_function/src/domain/usecases/set_input_core.py +76 -0
- devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_sca/engine_function/src/infrastructure/driven_adapters/prisma_cloud/prisma_cloud_manager_scan.py +175 -0
- devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_sca/engine_function/src/infrastructure/driven_adapters/prisma_cloud/prisma_deserialize_output.py +59 -0
- devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_sca/engine_function/src/infrastructure/entry_points/entry_point_tool.py +61 -0
- devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/__init__.py +0 -0
- devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/__init__.py +0 -0
- devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/gateways/__init__.py +0 -0
- devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases/__init__.py +0 -0
- devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/__init__.py +0 -0
- devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/__init__.py +0 -0
- devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/sonarqube/__init__.py +0 -0
- devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/entry_points/__init__.py +0 -0
- devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/helpers/__init__.py +0 -0
- devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/ssh/__init__.py +0 -0
- devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/trivy_utils/__init__.py +0 -0
- devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/trivy_utils/infrastructure/__init__.py +0 -0
- devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/trivy_utils/infrastructure/driven_adapters/__init__.py +0 -0
- devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/twistcli_utils/__init__.py +0 -0
- devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/twistcli_utils/twistcli_utils.py +44 -0
- devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/utils/__init__.py +0 -0
- devsecops_engine_tools-1.116.0/devsecops_engine_tools/version.py +1 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools.egg-info/PKG-INFO +2 -2
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools.egg-info/SOURCES.txt +25 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools.egg-info/requires.txt +1 -1
- devsecops_engine_tools-1.115.1/devsecops_engine_tools/version.py +0 -1
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/README.md +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/domain/model/component.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/domain/model/customs_exceptions.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/domain/model/exclusions.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/domain/model/finding.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/devops_platform_gateway.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/metrics_manager_gateway.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/printer_table_gateway.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/sbom_manager.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/secrets_manager_gateway.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/vulnerability_management_gateway.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/domain/model/input_core.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/domain/model/level_compliance.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/domain/model/level_vulnerability.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/domain/model/report.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/domain/model/threshold.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/domain/model/vulnerability_management.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/domain/usecases/break_build.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/domain/usecases/handle_risk.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/domain/usecases/metrics_manager.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/s3_manager.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/secrets_manager.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/azure_devops.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/cdxgen/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/cdxgen/cdxgen.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/github_actions.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_rich_table/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_rich_table/printer_rich_table.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/runtime_local.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/syft/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/syft/syft.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/entry_point_core.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/aws.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/util.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_dast/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_dast/src/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_dast/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_dast/src/applications/runner_dast_scan.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_dast/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_dast/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_dast/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_dast/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_dast/src/domain/model/api_config.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_dast/src/domain/model/api_operation.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_dast/src/domain/model/gateways/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_dast/src/domain/model/gateways/authentication_gateway.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_dast/src/domain/model/gateways/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_dast/src/domain/model/wa_config.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_dast/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_dast/src/domain/usecases/dast_scan.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_dast/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/http/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/http/client/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/http/client/auth_client.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/jwt/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/jwt/jwt_object.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/jwt/jwt_tool.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/nuclei/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/nuclei/nuclei_config.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/nuclei/nuclei_deserealizer.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/nuclei/nuclei_tool.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/oauth/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/oauth/generic_oauth.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_dast/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_dast/src/infrastructure/entry_points/entry_point_dast.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_dast/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_dast/src/infrastructure/helpers/file_generator_tool.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_dast/src/infrastructure/helpers/json_handler.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_integrations/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_integrations/src/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_integrations/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_integrations/src/applications/runner_engine_integrations.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_integrations/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_integrations/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_integrations/src/domain/usecases/handle_integrations.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_integrations/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_integrations/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_integrations/src/infrastructure/entry_points/entry_point_integrations.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_risk/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_risk/src/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_risk/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_risk/src/applications/runner_engine_risk.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_risk/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_risk/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_risk/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_risk/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_risk/src/domain/model/gateways/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_risk/src/domain/model/gateways/add_epss_gateway.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/add_data.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/break_build.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/check_threshold.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/get_exclusions.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/handle_filters.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_risk/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/first_csv/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/first_csv/first_epss_csv.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/entry_point_risk.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_risk/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_code/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_code/src/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_code/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_code/src/applications/runner_engine_code.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_code/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_code/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/config_tool.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/gateways/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/gateways/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases/code_scan.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/bearer_deserealizator.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/bearer_tool.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/kiuwan/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/kiuwan/kiuwan_deserealizator.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/kiuwan/kiuwan_tool.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/entry_points/entry_point_tool.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_iac/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_iac/src/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_iac/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_iac/src/applications/runner_iac_scan.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/config_tool.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/context_iac.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/iac_scan.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_config.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_deserealizator.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_tool.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_deserealizator.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_tool.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_deserealizator.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_tool.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/entry_point_tool.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/file_generator_tool.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_secret/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_secret/src/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_secret/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_secret/src/applications/runner_secret_scan.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/gateway_deserealizator.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/secret_scan.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/set_input_core.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/gitleaks/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/gitleaks/gitleaks_deserealizator.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/gitleaks/gitleaks_tool.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_deserealizator.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_run.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/entry_point_tool.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_container/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_container/src/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_container/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_container/src/applications/runner_container_scan.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_container/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_container/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/context_container.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/deserealizator_gateway.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/images_gateway.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/container_sca_scan.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/handle_remote_config_patterns.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/set_input_core.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/docker_images.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_deserialize_output.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_manager_scan.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/entry_point_tool.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_dependencies/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/runner_dependencies_scan.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/context_dependencies.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/deserializator_gateway.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/dependencies_sca_scan.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/handle_remote_config_patterns.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/set_input_core.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_deserialize.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_tool.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/trivy_tool/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/trivy_tool/trivy_manager_scan.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_deserialize_output.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_manager_scan.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/entry_point_tool.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/get_artifacts.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_sca/engine_function}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/azuredevops → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_sca/engine_function/src}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_sca/engine_function/src/applications}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/azuredevops/models → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_sca/engine_function/src/deployment}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/copacetic → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_sca/engine_function/src/deployment/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/copacetic/src → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_sca/engine_function/src/domain}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/copacetic/src/applications → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_sca/engine_function/src/domain/model}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/copacetic/src/domain → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_sca/engine_function/src/domain/model/gateways}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/copacetic → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_sca/engine_function}/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/copacetic → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_sca/engine_function}/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/copacetic → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_sca/engine_function}/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/copacetic/src/infrastructure/driven_adapters/copacetic → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_sca/engine_function/src/infrastructure/driven_adapters/prisma_cloud}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/copacetic → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_sca/engine_function}/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/defect_dojo/applications → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_sca/engine_function/src/infrastructure/helpers}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/defect_dojo/domain → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/azuredevops}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure/azure_devops_api.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzureMessageLoggingPipeline.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzurePredefinedVariables.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/azuredevops/models}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/copacetic}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/copacetic/src}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/copacetic/src/applications}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/copacetic/src/applications/runner_copacetic.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/copacetic/src/domain}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/repository → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/copacetic/src/domain/usecases}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/copacetic/src/domain/usecases/copacetic.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/git_cli → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/copacetic/src/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/git_cli/infrastructure → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/copacetic/src/infrastructure/driven_adapters}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/git_cli/model → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/copacetic/src/infrastructure/driven_adapters/copacetic}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/copacetic/src/infrastructure/driven_adapters/copacetic/copacetic_adapter.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/git_cli/model/gateway → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/copacetic/src/infrastructure/entry_points}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/copacetic/src/infrastructure/entry_points/entry_point_copacetic.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/github → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/defect_dojo/applications}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/component.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/connect.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/defect_dojo.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/engagement.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/finding.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/finding_exclusion.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/product.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/github/infrastructure → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/defect_dojo/domain}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/github → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/defect_dojo/domain}/models/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/cmdb.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/component.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/engagement.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/finding.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/finding_exclusion.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_list.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type_list.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/scan_configuration.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/input_validations → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/finding.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/import_scan.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/sbom → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/finding.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/import_scan.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/sonarqube → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/cmdb.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/component.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/engagement.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/finding.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/finding_exclusion.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/import_scan.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/product.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/sonarqube/src → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/sonarqube/src/applications → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/cmdb.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/component.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/engagement.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/finding.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/finding_exclusion.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/import_scan.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product_type.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/scan_configurations.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/sonarqube/src/domain → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/settings.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/repository}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/gateways → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/git_cli}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/git_cli/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/git_cli/infrastructure/git_run.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/git_cli/model}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/git_cli/model/gateway}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/git_cli/model/gateway/git_gateway.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/sonarqube → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/github}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/entry_points → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/github/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/github/infrastructure/github_api.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/github/models/GithubPredefinedVariables.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/helpers → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/github/models}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/ssh → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/input_validations}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/input_validations/env_utils.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/input_validations/validate_input_with_regex_letters_number_and_only.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/trivy_utils → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/sbom}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/sbom/deserealizator.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/settings.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/trivy_utils/infrastructure → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/sonarqube}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/trivy_utils/infrastructure/driven_adapters → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/sonarqube/src}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1/devsecops_engine_tools/engine_utilities/utils → devsecops_engine_tools-1.116.0/devsecops_engine_tools/engine_utilities/sonarqube/src/applications}/__init__.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/applications/runner_report_sonar.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/gateways/sonar_gateway.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases/report_sonar.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/sonarqube/sonarqube_report.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/entry_points/entry_point_report_sonar.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/helpers/utils.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/ssh/managment_private_key.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/trivy_utils/infrastructure/driven_adapters/trivy_deserialize_output.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/trivy_utils/infrastructure/driven_adapters/trivy_manager_scan_utils.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/utils/api_error.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/utils/dataclass_classmethod.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/utils/datetime_parsing.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/utils/logger_info.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/utils/name_conversion.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/utils/printers.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/utils/session_manager.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools/engine_utilities/utils/utils.py +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools.egg-info/dependency_links.txt +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools.egg-info/entry_points.txt +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/devsecops_engine_tools.egg-info/top_level.txt +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/setup.cfg +0 -0
- {devsecops_engine_tools-1.115.1 → devsecops_engine_tools-1.116.0}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: devsecops-engine-tools
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.116.0
|
|
4
4
|
Summary: Tool for DevSecOps strategy
|
|
5
5
|
Home-page: https://github.com/bancolombia/devsecops-engine-tools
|
|
6
6
|
Author: Bancolombia DevSecOps Team
|
|
@@ -29,7 +29,7 @@ Requires-Dist: rich==14.1.0
|
|
|
29
29
|
Requires-Dist: cpe==1.3.1
|
|
30
30
|
Requires-Dist: packageurl-python==0.13.4
|
|
31
31
|
Requires-Dist: ruamel.yaml==0.18.15
|
|
32
|
-
Requires-Dist: Authlib==1.6.
|
|
32
|
+
Requires-Dist: Authlib==1.6.5
|
|
33
33
|
Requires-Dist: PyJWT==2.10.1
|
|
34
34
|
Requires-Dist: sympy==1.14.0
|
|
35
35
|
Requires-Dist: urllib3==1.26.20
|
|
@@ -125,6 +125,7 @@ def get_inputs_from_cli(args):
|
|
|
125
125
|
"engine_dependencies",
|
|
126
126
|
"engine_container",
|
|
127
127
|
"engine_risk",
|
|
128
|
+
"engine_function",
|
|
128
129
|
],
|
|
129
130
|
type=str,
|
|
130
131
|
required=True,
|
|
@@ -246,6 +247,7 @@ def get_inputs_from_cli(args):
|
|
|
246
247
|
"engine_code": ["bearer", "kiuwan"],
|
|
247
248
|
"engine_dast": ["nuclei"],
|
|
248
249
|
"engine_risk": None,
|
|
250
|
+
"engine_function": ["prisma"],
|
|
249
251
|
}
|
|
250
252
|
|
|
251
253
|
args = parser.parse_args()
|
|
@@ -36,6 +36,9 @@ from devsecops_engine_tools.engine_sca.engine_container.src.applications.runner_
|
|
|
36
36
|
from devsecops_engine_tools.engine_sca.engine_dependencies.src.applications.runner_dependencies_scan import (
|
|
37
37
|
runner_engine_dependencies,
|
|
38
38
|
)
|
|
39
|
+
from devsecops_engine_tools.engine_sca.engine_function.src.applications.runner_function_scan import (
|
|
40
|
+
runner_engine_function,
|
|
41
|
+
)
|
|
39
42
|
from devsecops_engine_tools.engine_dast.src.applications.runner_dast_scan import (
|
|
40
43
|
runner_engine_dast,
|
|
41
44
|
)
|
|
@@ -100,6 +103,22 @@ class HandleScan:
|
|
|
100
103
|
sbom_components,
|
|
101
104
|
)
|
|
102
105
|
return findings_list, input_core
|
|
106
|
+
elif "engine_function" in dict_args["module"]:
|
|
107
|
+
findings_list, input_core = runner_engine_function(
|
|
108
|
+
dict_args,
|
|
109
|
+
config_tool["ENGINE_FUNCTION"],
|
|
110
|
+
secret_tool,
|
|
111
|
+
self.devops_platform_gateway,
|
|
112
|
+
self.remote_config_source_gateway
|
|
113
|
+
)
|
|
114
|
+
self._use_vulnerability_management(
|
|
115
|
+
config_tool,
|
|
116
|
+
input_core,
|
|
117
|
+
dict_args,
|
|
118
|
+
secret_tool,
|
|
119
|
+
env
|
|
120
|
+
)
|
|
121
|
+
return findings_list, input_core
|
|
103
122
|
elif "engine_dast" in dict_args["module"]:
|
|
104
123
|
findings_list, input_core = runner_engine_dast(
|
|
105
124
|
dict_args,
|
|
@@ -27,9 +27,7 @@ class PrinterPrettyTable(PrinterTableGateway):
|
|
|
27
27
|
finding.description,
|
|
28
28
|
finding.where,
|
|
29
29
|
]
|
|
30
|
-
if
|
|
31
|
-
finding.module == "engine_dependencies"
|
|
32
|
-
):
|
|
30
|
+
if finding.module in ("engine_container", "engine_dependencies", "engine_function"):
|
|
33
31
|
row_data.append(finding.requirements)
|
|
34
32
|
elif finding.module == "engine_code":
|
|
35
33
|
row_data.append(finding.cvss)
|
|
@@ -53,9 +51,8 @@ class PrinterPrettyTable(PrinterTableGateway):
|
|
|
53
51
|
if (
|
|
54
52
|
finding_list
|
|
55
53
|
and (
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
)
|
|
54
|
+
finding_list[0].module in ["engine_container","engine_dependencies", "engine_function"]
|
|
55
|
+
)
|
|
59
56
|
):
|
|
60
57
|
headers = ["Severity", "ID", "Description", "Where", "Fixed in"]
|
|
61
58
|
elif finding_list and finding_list[0].module == "engine_code":
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import stat
|
|
2
1
|
import requests
|
|
3
2
|
import os
|
|
4
3
|
import subprocess
|
|
5
4
|
import base64
|
|
6
5
|
import json
|
|
7
|
-
import platform
|
|
8
6
|
from devsecops_engine_tools.engine_sca.engine_container.src.domain.model.gateways.tool_gateway import (
|
|
9
7
|
ToolGateway,
|
|
10
8
|
)
|
|
@@ -13,55 +11,18 @@ from devsecops_engine_tools.engine_utilities.sbom.deserealizator import (
|
|
|
13
11
|
)
|
|
14
12
|
from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
|
|
15
13
|
from devsecops_engine_tools.engine_utilities import settings
|
|
14
|
+
from devsecops_engine_tools.engine_utilities.twistcli_utils.twistcli_utils import download_twistcli
|
|
16
15
|
|
|
17
16
|
logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
|
|
18
17
|
|
|
19
18
|
|
|
20
19
|
class PrismaCloudManagerScan(ToolGateway):
|
|
21
|
-
def download_twistcli(
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
prisma_api_version
|
|
27
|
-
):
|
|
28
|
-
|
|
29
|
-
machine = platform.machine()
|
|
30
|
-
system = platform.system()
|
|
31
|
-
|
|
32
|
-
base_url = f"{prisma_console_url}/api/{prisma_api_version}/util"
|
|
33
|
-
|
|
34
|
-
os_mapping = {
|
|
35
|
-
"Linux": "twistcli",
|
|
36
|
-
"Windows": "windows/twistcli.exe",
|
|
37
|
-
"Darwin": "osx/twistcli",
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
url = f"{base_url}/{os_mapping[system]}"
|
|
41
|
-
|
|
42
|
-
if system == "Linux" and machine == "aarch64":
|
|
43
|
-
url = f"{base_url}/arm64/twistcli"
|
|
44
|
-
elif system == "Darwin" and machine == "aarch64":
|
|
45
|
-
url = f"{base_url}/osx/arm64/twistcli"
|
|
46
|
-
|
|
47
|
-
credentials = base64.b64encode(
|
|
48
|
-
prisma_key.encode()
|
|
49
|
-
).decode()
|
|
50
|
-
headers = {"Authorization": f"Basic {credentials}"}
|
|
51
|
-
try:
|
|
52
|
-
response = requests.get(url, headers=headers)
|
|
53
|
-
response.raise_for_status()
|
|
54
|
-
|
|
55
|
-
with open(file_path, "wb") as file:
|
|
56
|
-
file.write(response.content)
|
|
57
|
-
|
|
58
|
-
os.chmod(file_path, stat.S_IRWXU)
|
|
59
|
-
logger.info(f"twistcli downloaded and saved to: {file_path}")
|
|
60
|
-
return 0
|
|
61
|
-
|
|
62
|
-
except Exception as e:
|
|
63
|
-
raise ValueError(f"Error downloading twistcli: {e}")
|
|
64
|
-
|
|
20
|
+
def download_twistcli(self, file_path, prisma_key, prisma_console_url, prisma_api_version) -> int:
|
|
21
|
+
"""
|
|
22
|
+
Método de instancia separado (lo que usan los tests),
|
|
23
|
+
delega en el util compat 'basic' para no romper aserciones.
|
|
24
|
+
"""
|
|
25
|
+
return download_twistcli(file_path, prisma_key, prisma_console_url, prisma_api_version)
|
|
65
26
|
def scan_image(
|
|
66
27
|
self, file_path, image_name, result_file, remoteconfig, prisma_key, docker_address
|
|
67
28
|
):
|
|
@@ -168,7 +129,6 @@ class PrismaCloudManagerScan(ToolGateway):
|
|
|
168
129
|
except Exception as e:
|
|
169
130
|
logger.error(f"Error generating SBOM: {e}")
|
|
170
131
|
|
|
171
|
-
|
|
172
132
|
def _split_prisma_token(self, prisma_key):
|
|
173
133
|
try:
|
|
174
134
|
access_prisma, token_prisma = prisma_key.split(":")
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
from devsecops_engine_tools.engine_sca.engine_function.src.infrastructure.entry_points.entry_point_tool import (
|
|
2
|
+
init_engine_sca_rm,
|
|
3
|
+
)
|
|
4
|
+
from devsecops_engine_tools.engine_sca.engine_function.src.infrastructure.driven_adapters.prisma_cloud.prisma_cloud_manager_scan import (
|
|
5
|
+
PrismaCloudManagerScan,
|
|
6
|
+
)
|
|
7
|
+
from devsecops_engine_tools.engine_sca.engine_function.src.infrastructure.driven_adapters.prisma_cloud.prisma_deserialize_output import (
|
|
8
|
+
PrismaDeserealizator,
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def runner_engine_function(dict_args, config_tool, secret_tool, tool_remote, remote_config_source_gateway):
|
|
13
|
+
try:
|
|
14
|
+
if config_tool["TOOL"].lower() == "prisma":
|
|
15
|
+
tool_run = PrismaCloudManagerScan(config_tool, dict_args)
|
|
16
|
+
tool_deseralizator = PrismaDeserealizator()
|
|
17
|
+
return init_engine_sca_rm(
|
|
18
|
+
tool_run,
|
|
19
|
+
tool_remote,
|
|
20
|
+
remote_config_source_gateway,
|
|
21
|
+
tool_deseralizator,
|
|
22
|
+
dict_args,
|
|
23
|
+
secret_tool,
|
|
24
|
+
config_tool,
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
except Exception as e:
|
|
28
|
+
raise Exception(f"Error SCAN engine function : {str(e)}")
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
if __name__ == "__main__":
|
|
32
|
+
runner_engine_function()
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
from abc import ABCMeta, abstractmethod
|
|
2
|
+
from devsecops_engine_tools.engine_core.src.domain.model.finding import Finding
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class DeseralizatorGateway(metaclass=ABCMeta):
|
|
6
|
+
@abstractmethod
|
|
7
|
+
def get_list_findings(self, results_scan_list: list) -> "list[Finding]":
|
|
8
|
+
"Deseralizator"
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
from devsecops_engine_tools.engine_core.src.domain.model.gateway.devops_platform_gateway import (
|
|
2
|
+
DevopsPlatformGateway,
|
|
3
|
+
)
|
|
4
|
+
from devsecops_engine_tools.engine_sca.engine_function.src.domain.model.gateways.tool_gateway import (
|
|
5
|
+
ToolGateway,
|
|
6
|
+
)
|
|
7
|
+
from devsecops_engine_tools.engine_sca.engine_function.src.domain.model.gateways.deserealizator_gateway import (
|
|
8
|
+
DeseralizatorGateway,
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class FunctionScaScan:
|
|
13
|
+
def __init__(
|
|
14
|
+
self,
|
|
15
|
+
tool_run: ToolGateway,
|
|
16
|
+
remote_config,
|
|
17
|
+
tool_remote: DevopsPlatformGateway,
|
|
18
|
+
tool_deseralizator: DeseralizatorGateway,
|
|
19
|
+
dict_args,
|
|
20
|
+
secret_tool,
|
|
21
|
+
token_engine_container
|
|
22
|
+
):
|
|
23
|
+
self.tool_run = tool_run
|
|
24
|
+
self.remote_config = remote_config
|
|
25
|
+
self.tool_remote = tool_remote
|
|
26
|
+
self.tool_deseralizator = tool_deseralizator
|
|
27
|
+
self.dict_args = dict_args
|
|
28
|
+
self.secret_tool = secret_tool
|
|
29
|
+
self.token_engine_container = token_engine_container
|
|
30
|
+
|
|
31
|
+
def get_remote_config(self, file_path):
|
|
32
|
+
"""
|
|
33
|
+
Get remote configuration.
|
|
34
|
+
|
|
35
|
+
Returns:
|
|
36
|
+
dict: Remote configuration.
|
|
37
|
+
"""
|
|
38
|
+
return self.tool_remote.get_remote_config(self.dict_args["remote_config_repo"], file_path, self.dict_args["remote_config_branch"])
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def get_variable(self, variable):
|
|
42
|
+
"""
|
|
43
|
+
Get variable.
|
|
44
|
+
|
|
45
|
+
Returns:
|
|
46
|
+
dict: Remote variable.
|
|
47
|
+
"""
|
|
48
|
+
return self.tool_remote.get_variable(variable)
|
|
49
|
+
|
|
50
|
+
def process(self):
|
|
51
|
+
"""
|
|
52
|
+
Process SCA scanning.
|
|
53
|
+
|
|
54
|
+
Returns:
|
|
55
|
+
dict: SCA scanning results.
|
|
56
|
+
"""
|
|
57
|
+
|
|
58
|
+
return self.tool_run.run_tool_function_sca(
|
|
59
|
+
self.get_remote_config("engine_sca/engine_function/ConfigTool.json"),
|
|
60
|
+
self.secret_tool,
|
|
61
|
+
self.token_engine_container,
|
|
62
|
+
)
|
|
63
|
+
|
|
64
|
+
def deseralizator(self, function_scanned):
|
|
65
|
+
"""
|
|
66
|
+
Process the results deserializer.
|
|
67
|
+
|
|
68
|
+
Returns:
|
|
69
|
+
list: Deserialized list of findings.
|
|
70
|
+
"""
|
|
71
|
+
return self.tool_deseralizator.get_list_findings(function_scanned)
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import re
|
|
2
|
+
|
|
3
|
+
class HandleRemoteConfigPatterns:
|
|
4
|
+
def __init__(self, remote_config, exclusions, pipeline_name):
|
|
5
|
+
self.remote_config = remote_config
|
|
6
|
+
self.exclusions = exclusions
|
|
7
|
+
self.pipeline_name = pipeline_name
|
|
8
|
+
|
|
9
|
+
def get_remote_config(self, file_path):
|
|
10
|
+
"""
|
|
11
|
+
Get remote configuration
|
|
12
|
+
Return: dict: Remote configuration
|
|
13
|
+
"""
|
|
14
|
+
return self.tool_remote.get_remote_config(
|
|
15
|
+
self.dict_args["remote_config_repo"], file_path, self.dict_args["remote_config_branch"]
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
def get_variable(self, variable):
|
|
19
|
+
"""
|
|
20
|
+
Get variable.
|
|
21
|
+
|
|
22
|
+
Returns:
|
|
23
|
+
dict: Remote variable.
|
|
24
|
+
"""
|
|
25
|
+
return self.tool_remote.get_variable(variable)
|
|
26
|
+
|
|
27
|
+
def handle_skip_tool(self, exclusions, pipeline_name):
|
|
28
|
+
"""
|
|
29
|
+
Handle skip tool.
|
|
30
|
+
|
|
31
|
+
Return: bool: True -> skip tool, False -> not skip tool.
|
|
32
|
+
"""
|
|
33
|
+
if (pipeline_name in exclusions) and (
|
|
34
|
+
exclusions[pipeline_name].get("SKIP_TOOL", 0)
|
|
35
|
+
):
|
|
36
|
+
return True
|
|
37
|
+
else:
|
|
38
|
+
return False
|
|
39
|
+
|
|
40
|
+
def process_handle_skip_tool(self):
|
|
41
|
+
"""
|
|
42
|
+
Process handle skip tool.
|
|
43
|
+
|
|
44
|
+
Return: bool: True -> skip tool, False -> not skip tool.
|
|
45
|
+
"""
|
|
46
|
+
return self.handle_skip_tool(
|
|
47
|
+
self.get_remote_config("engine_sca/engine_function/Exclusions.json"),
|
|
48
|
+
self.get_variable("pipeline_name"),
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
def ignore_analysis_pattern(self):
|
|
52
|
+
"""
|
|
53
|
+
Handle analysis pattern.
|
|
54
|
+
Return: bool: False -> not scan, True -> scan.
|
|
55
|
+
"""
|
|
56
|
+
ignore = self.remote_config["IGNORE_SEARCH_PATTERN"]
|
|
57
|
+
if re.match(ignore, self.pipeline_name, re.IGNORECASE):
|
|
58
|
+
return False
|
|
59
|
+
else:
|
|
60
|
+
return True
|
|
61
|
+
|
|
62
|
+
def skip_from_exclusion(self):
|
|
63
|
+
"""
|
|
64
|
+
Handle skip tool.
|
|
65
|
+
|
|
66
|
+
Return: bool: True -> skip tool, False -> not skip tool.
|
|
67
|
+
"""
|
|
68
|
+
if (self.pipeline_name in self.exclusions) and (
|
|
69
|
+
self.exclusions[self.pipeline_name].get("SKIP_TOOL", 0)
|
|
70
|
+
):
|
|
71
|
+
return True
|
|
72
|
+
else:
|
|
73
|
+
return False
|
|
@@ -0,0 +1,76 @@
|
|
|
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
|
+
from devsecops_engine_tools.engine_core.src.domain.model.gateway.devops_platform_gateway import (
|
|
4
|
+
DevopsPlatformGateway,
|
|
5
|
+
)
|
|
6
|
+
from devsecops_engine_tools.engine_core.src.domain.model.exclusions import Exclusions
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class SetInputCore:
|
|
10
|
+
def __init__(self, tool_remote: DevopsPlatformGateway, dict_args, config_tool):
|
|
11
|
+
self.tool_remote = tool_remote
|
|
12
|
+
self.dict_args = dict_args
|
|
13
|
+
self.config_tool = config_tool
|
|
14
|
+
|
|
15
|
+
def get_remote_config(self, file_path):
|
|
16
|
+
"""
|
|
17
|
+
Get remote configuration.
|
|
18
|
+
|
|
19
|
+
Returns:
|
|
20
|
+
dict: Remote configuration.
|
|
21
|
+
"""
|
|
22
|
+
return self.tool_remote.get_remote_config(self.dict_args["remote_config_repo"], file_path)
|
|
23
|
+
|
|
24
|
+
def get_variable(self, variable):
|
|
25
|
+
"""
|
|
26
|
+
Get variable.
|
|
27
|
+
|
|
28
|
+
Returns:
|
|
29
|
+
dict: Remote variable.
|
|
30
|
+
"""
|
|
31
|
+
return self.tool_remote.get_variable(variable)
|
|
32
|
+
|
|
33
|
+
def get_exclusions(self, exclusions_data, pipeline_name, tool):
|
|
34
|
+
list_exclusions = []
|
|
35
|
+
for key, value in exclusions_data.items():
|
|
36
|
+
if (key == "All") or (key == pipeline_name):
|
|
37
|
+
if value.get(tool, 0):
|
|
38
|
+
exclusions = [
|
|
39
|
+
Exclusions(
|
|
40
|
+
id=item.get("id", ""),
|
|
41
|
+
where=item.get("where", ""),
|
|
42
|
+
cve_id=item.get("cve_id", ""),
|
|
43
|
+
create_date=item.get("create_date", ""),
|
|
44
|
+
expired_date=item.get("expired_date", ""),
|
|
45
|
+
severity=item.get("severity", ""),
|
|
46
|
+
hu=item.get("hu", ""),
|
|
47
|
+
reason=item.get("reason", "DevSecOps policy"),
|
|
48
|
+
)
|
|
49
|
+
for item in value[tool]
|
|
50
|
+
]
|
|
51
|
+
list_exclusions.extend(exclusions)
|
|
52
|
+
return list_exclusions
|
|
53
|
+
|
|
54
|
+
def set_input_core(self):
|
|
55
|
+
"""
|
|
56
|
+
Set the input core.
|
|
57
|
+
|
|
58
|
+
Returns:
|
|
59
|
+
dict: Input core.
|
|
60
|
+
"""
|
|
61
|
+
|
|
62
|
+
return InputCore(
|
|
63
|
+
self.get_exclusions(
|
|
64
|
+
self.get_remote_config("engine_sca/engine_function/Exclusions.json"),
|
|
65
|
+
self.get_variable("pipeline_name"),
|
|
66
|
+
self.config_tool["TOOL"],
|
|
67
|
+
),
|
|
68
|
+
Threshold(
|
|
69
|
+
self.get_remote_config("engine_sca/engine_function/ConfigTool.json")["THRESHOLD"]
|
|
70
|
+
),
|
|
71
|
+
None,
|
|
72
|
+
self.get_remote_config("engine_sca/engine_function/ConfigTool.json")["MESSAGE_INFO_ENGINE_FUNCTION"],
|
|
73
|
+
self.get_variable("pipeline_name"),
|
|
74
|
+
self.get_variable("pipeline_name"),
|
|
75
|
+
self.get_variable("stage"),
|
|
76
|
+
)
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import glob
|
|
3
|
+
import subprocess
|
|
4
|
+
import re
|
|
5
|
+
from devsecops_engine_tools.engine_sca.engine_function.src.domain.model.gateways.tool_gateway import (
|
|
6
|
+
ToolGateway,
|
|
7
|
+
)
|
|
8
|
+
from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
|
|
9
|
+
from devsecops_engine_tools.engine_utilities import settings
|
|
10
|
+
from devsecops_engine_tools.engine_utilities.twistcli_utils.twistcli_utils import download_twistcli
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class PrismaCloudManagerScan:
|
|
18
|
+
def __init__(
|
|
19
|
+
self,
|
|
20
|
+
tool_run: ToolGateway,
|
|
21
|
+
dict_args
|
|
22
|
+
):
|
|
23
|
+
self.tool_run = tool_run
|
|
24
|
+
self.dict_args = dict_args
|
|
25
|
+
|
|
26
|
+
def run_tool_function_sca(
|
|
27
|
+
self,
|
|
28
|
+
remoteconfig,
|
|
29
|
+
secret_tool,
|
|
30
|
+
token_engine_container,
|
|
31
|
+
):
|
|
32
|
+
prisma_key = (
|
|
33
|
+
f"{secret_tool['access_prisma']}:{secret_tool['token_prisma']}" if secret_tool else token_engine_container
|
|
34
|
+
)
|
|
35
|
+
file_path = os.path.join(
|
|
36
|
+
os.getcwd(), remoteconfig["PRISMA_CLOUD"]["TWISTCLI_PATH"]
|
|
37
|
+
)
|
|
38
|
+
if not os.path.exists(file_path):
|
|
39
|
+
self.download_twistcli(
|
|
40
|
+
file_path,
|
|
41
|
+
prisma_key,
|
|
42
|
+
remoteconfig["PRISMA_CLOUD"]["PRISMA_CONSOLE_URL"],
|
|
43
|
+
remoteconfig["PRISMA_CLOUD"]["PRISMA_API_VERSION"],
|
|
44
|
+
)
|
|
45
|
+
folder_path = self.dict_args["folder_path"]
|
|
46
|
+
function_scan = self._scan_function(
|
|
47
|
+
file_path,
|
|
48
|
+
folder_path,
|
|
49
|
+
remoteconfig,
|
|
50
|
+
prisma_key,
|
|
51
|
+
)
|
|
52
|
+
|
|
53
|
+
return function_scan
|
|
54
|
+
|
|
55
|
+
def _split_prisma_token(self, prisma_key):
|
|
56
|
+
try:
|
|
57
|
+
access_prisma, token_prisma = prisma_key.split(":")
|
|
58
|
+
return access_prisma, token_prisma
|
|
59
|
+
except ValueError:
|
|
60
|
+
raise ValueError("The string is not properly formatted. Make sure it contains a ':'.")
|
|
61
|
+
|
|
62
|
+
def _scan_function(self, file_path, folder_path, remoteconfig, prisma_key):
|
|
63
|
+
function_path = glob.glob(os.path.join(folder_path, "*.zip"))
|
|
64
|
+
if not function_path:
|
|
65
|
+
print("No .zip file found [Scanning skipped]")
|
|
66
|
+
return None
|
|
67
|
+
zip_name = os.path.basename(function_path[0])
|
|
68
|
+
command = (
|
|
69
|
+
file_path,
|
|
70
|
+
"serverless",
|
|
71
|
+
"scan",
|
|
72
|
+
"--address",
|
|
73
|
+
remoteconfig["PRISMA_CLOUD"]["PRISMA_CONSOLE_URL"],
|
|
74
|
+
"--user",
|
|
75
|
+
self._split_prisma_token(prisma_key)[0],
|
|
76
|
+
"--password",
|
|
77
|
+
self._split_prisma_token(prisma_key)[1],
|
|
78
|
+
"--details",
|
|
79
|
+
function_path[0],
|
|
80
|
+
)
|
|
81
|
+
try:
|
|
82
|
+
result = subprocess.run(
|
|
83
|
+
command,
|
|
84
|
+
check=True,
|
|
85
|
+
stdout=subprocess.PIPE,
|
|
86
|
+
stderr=subprocess.PIPE,
|
|
87
|
+
text=True,
|
|
88
|
+
errors="replace"
|
|
89
|
+
)
|
|
90
|
+
print(f"The function {zip_name} was scanned")
|
|
91
|
+
result = self._parse_scan_results(result.stdout)
|
|
92
|
+
return result
|
|
93
|
+
|
|
94
|
+
except subprocess.CalledProcessError as e:
|
|
95
|
+
logger.error(
|
|
96
|
+
f"Error during function scan of {zip_name}"
|
|
97
|
+
f"\n errorcode: {e.returncode}"
|
|
98
|
+
f"\n output: {e.output}"
|
|
99
|
+
)
|
|
100
|
+
def download_twistcli(self, file_path, prisma_key, prisma_console_url, prisma_api_version) -> int:
|
|
101
|
+
"""
|
|
102
|
+
Método de instancia separado (lo que usan los tests),
|
|
103
|
+
delega en el util compat 'basic' para no romper aserciones.
|
|
104
|
+
"""
|
|
105
|
+
return download_twistcli(file_path, prisma_key, prisma_console_url, prisma_api_version)
|
|
106
|
+
|
|
107
|
+
def _parse_scan_results(self, stdout: str) -> dict:
|
|
108
|
+
def extract_dist(pattern: str) -> dict:
|
|
109
|
+
match = re.search(pattern, stdout)
|
|
110
|
+
return {
|
|
111
|
+
"critical": int(match.group(2)),
|
|
112
|
+
"high": int(match.group(3)),
|
|
113
|
+
"medium": int(match.group(4)),
|
|
114
|
+
"low": int(match.group(5)),
|
|
115
|
+
"total": int(match.group(1))
|
|
116
|
+
} if match else {}
|
|
117
|
+
|
|
118
|
+
def clean_text(text) -> str:
|
|
119
|
+
cleaned_text = text.replace('\x1b[0m', '')
|
|
120
|
+
cleaned_text = cleaned_text.replace('\x1b[91;1m', '')
|
|
121
|
+
cleaned_text = cleaned_text.replace('\x1b[33;1m','')
|
|
122
|
+
return cleaned_text
|
|
123
|
+
|
|
124
|
+
def extract_table() -> list:
|
|
125
|
+
lines = stdout.splitlines()
|
|
126
|
+
table_start = [i for i, line in enumerate(lines) if 'CVE-' in line]
|
|
127
|
+
table_data = []
|
|
128
|
+
if table_start:
|
|
129
|
+
i = table_start[0]
|
|
130
|
+
while i < len(lines):
|
|
131
|
+
if "CVE-" in lines[i]:
|
|
132
|
+
row = lines[i]
|
|
133
|
+
desc_lines = []
|
|
134
|
+
i += 1
|
|
135
|
+
while i < len(lines) and not lines[i].strip().startswith("| CVE-") and not "+---" in lines[i]:
|
|
136
|
+
desc_lines.append(lines[i])
|
|
137
|
+
i += 1
|
|
138
|
+
full_row = row + "\n" + "\n".join(desc_lines)
|
|
139
|
+
table_data.append(full_row)
|
|
140
|
+
else:
|
|
141
|
+
i += 1
|
|
142
|
+
|
|
143
|
+
vulnerabilities = []
|
|
144
|
+
for row in table_data:
|
|
145
|
+
parts = [x.strip() for x in row.split("|")[1:-1]]
|
|
146
|
+
if len(parts) >= 9:
|
|
147
|
+
vuln = {
|
|
148
|
+
"id": clean_text(parts[0]),
|
|
149
|
+
"severity": clean_text(parts[1]),
|
|
150
|
+
"cvss": float(clean_text(parts[2])) if parts[2] else 0.0,
|
|
151
|
+
"packageName": clean_text(parts[3]),
|
|
152
|
+
"packageVersion": clean_text(parts[4]),
|
|
153
|
+
"status": clean_text(parts[5]),
|
|
154
|
+
"publishedDate": clean_text(parts[6]),
|
|
155
|
+
"discoveredDate": clean_text(parts[7]),
|
|
156
|
+
"description": clean_text(parts[8]).replace("u00a0", " ").strip(" .") + "..."
|
|
157
|
+
}
|
|
158
|
+
vulnerabilities.append(vuln)
|
|
159
|
+
return vulnerabilities
|
|
160
|
+
|
|
161
|
+
name_match = re.search(r"Scan results for: function (.+?)\s", stdout)
|
|
162
|
+
function_name = name_match.group(1) if name_match else "unknown.zip"
|
|
163
|
+
|
|
164
|
+
return {
|
|
165
|
+
"results": [
|
|
166
|
+
{
|
|
167
|
+
"name": function_name,
|
|
168
|
+
"complianceDistribution": extract_dist(r"Compliance found for function .*?: total - (\d+), critical - (\d+), high - (\d+), medium - (\d+), low - (\d+)"),
|
|
169
|
+
"complianceScanPassed": "Compliance threshold check results: PASS" in stdout,
|
|
170
|
+
"vulnerabilities": extract_table(),
|
|
171
|
+
"vulnerabilityDistribution": extract_dist(r"Vulnerabilities found for function .*?: total - (\d+), critical - (\d+), high - (\d+), medium - (\d+), low - (\d+)"),
|
|
172
|
+
"vulnerabilityScanPassed": "Vulnerability threshold check results: PASS" in stdout
|
|
173
|
+
}
|
|
174
|
+
]
|
|
175
|
+
}
|