devsecops-engine-tools 1.130.1__tar.gz → 1.131.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.
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/PKG-INFO +1 -1
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/applications/runner_engine_core.py +2 -1
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py +80 -32
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_secret/src/applications/runner_secret_scan.py +9 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/secret_scan.py +7 -1
- devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/all_tools/all_tools.py +242 -0
- devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/all_tools/all_tools_deserealizator.py +92 -0
- devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/utils/__init__.py +0 -0
- devsecops_engine_tools-1.131.0/devsecops_engine_tools/version.py +1 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools.egg-info/PKG-INFO +1 -1
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools.egg-info/SOURCES.txt +3 -0
- devsecops_engine_tools-1.130.1/devsecops_engine_tools/version.py +0 -1
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/README.md +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/domain/model/component.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/domain/model/customs_exceptions.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/domain/model/exclusions.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/domain/model/finding.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/devops_platform_gateway.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/metrics_manager_gateway.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/printer_table_gateway.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/risk_score_gateway.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/sbom_manager.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/secrets_manager_gateway.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/vulnerability_management_gateway.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/domain/model/input_core.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/domain/model/level_compliance.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/domain/model/level_priority.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/domain/model/level_vulnerability.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/domain/model/report.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/domain/model/threshold.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/domain/model/vulnerability_management.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/domain/usecases/break_build.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/domain/usecases/handle_risk.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/domain/usecases/handle_scan.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/domain/usecases/metrics_manager.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/s3_manager.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/secrets_manager.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/azure_devops.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/cdxgen/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/cdxgen/cdxgen.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/github_actions.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/printer_pretty_table.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_rich_table/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_rich_table/printer_rich_table.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/risk_score/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/risk_score/risk_score.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/runtime_local.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/syft/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/syft/syft.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/entry_point_core.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/aws.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/util.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_dast/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_dast/src/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_dast/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_dast/src/applications/runner_dast_scan.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_dast/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_dast/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_dast/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_dast/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_dast/src/domain/model/api_config.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_dast/src/domain/model/api_operation.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_dast/src/domain/model/gateways/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_dast/src/domain/model/gateways/authentication_gateway.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_dast/src/domain/model/gateways/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_dast/src/domain/model/wa_config.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_dast/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_dast/src/domain/usecases/dast_scan.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_dast/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/http/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/http/client/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/http/client/auth_client.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/jwt/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/jwt/jwt_object.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/jwt/jwt_tool.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/nuclei/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/nuclei/nuclei_config.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/nuclei/nuclei_deserealizer.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/nuclei/nuclei_tool.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/oauth/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/oauth/generic_oauth.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_dast/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_dast/src/infrastructure/entry_points/entry_point_dast.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_dast/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_dast/src/infrastructure/helpers/file_generator_tool.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_dast/src/infrastructure/helpers/json_handler.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_integrations/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_integrations/src/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_integrations/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_integrations/src/applications/runner_engine_integrations.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_integrations/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_integrations/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_integrations/src/domain/usecases/handle_integrations.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_integrations/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_integrations/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_integrations/src/infrastructure/entry_points/entry_point_integrations.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_risk/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_risk/src/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_risk/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_risk/src/applications/runner_engine_risk.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_risk/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_risk/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_risk/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_risk/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_risk/src/domain/model/gateways/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_risk/src/domain/model/gateways/add_epss_gateway.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/add_data.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/break_build.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/check_threshold.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/get_exclusions.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/handle_filters.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_risk/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/first_csv/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/first_csv/first_epss_csv.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/entry_point_risk.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_risk/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_code/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_code/src/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_code/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_code/src/applications/runner_engine_code.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_code/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_code/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/config_tool.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/gateways/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/gateways/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases/code_scan.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/bearer_deserealizator.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/bearer_tool.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/kiuwan/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/kiuwan/kiuwan_deserealizator.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/kiuwan/kiuwan_tool.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/entry_points/entry_point_tool.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_iac/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_iac/src/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_iac/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_iac/src/applications/runner_iac_scan.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/config_tool.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/context_iac.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/iac_scan.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_config.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_deserealizator.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_tool.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_deserealizator.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_tool.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_deserealizator.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_tool.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/entry_point_tool.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/file_generator_tool.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_secret/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_secret/src/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_secret/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/gateway_deserealizator.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/set_input_core.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/gitleaks → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/all_tools}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/gitleaks}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/gitleaks/gitleaks_deserealizator.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/gitleaks/gitleaks_tool.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_deserealizator.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_run.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/entry_point_tool.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_container → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_container/src → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_container}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_container/src/applications → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_container/src}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_container/src/deployment → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_container/src/applications}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sca/engine_container/src/applications/runner_container_scan.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_container/src/deployment/infrastructure → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_container/src/deployment}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_container/src/domain → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_container/src/deployment/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_container/src/domain/model → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_container/src/domain}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_container/src/domain/model}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/context_container.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/deserealizator_gateway.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/images_gateway.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/container_sca_scan.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/handle_remote_config_patterns.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/set_input_core.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/docker_images.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_cloud_manager_scan.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_deserialize_output.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_manager_scan.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/helpers → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/entry_point_tool.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_dependencies → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/helpers}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_dependencies/src → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_dependencies}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_dependencies/src}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/runner_dependencies_scan.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/infrastructure → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/context_dependencies.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/deserializator_gateway.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/dependencies_sca_scan.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/handle_remote_config_patterns.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/set_input_core.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/trivy_tool → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_deserialize.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_tool.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/trivy_tool}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/trivy_tool/trivy_manager_scan.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_deserialize_output.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_manager_scan.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/entry_point_tool.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_function → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/get_artifacts.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_function/src → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_function}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_function/src/applications → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_function/src}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_function/src/deployment → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_function/src/applications}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sca/engine_function/src/applications/runner_function_scan.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_function/src/deployment/infrastructure → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_function/src/deployment}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_function/src/domain → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_function/src/deployment/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_function/src/domain/model → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_function/src/domain}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_function/src/domain/model/gateways → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_function/src/domain/model}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_function/src/domain/usecases → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_function/src/domain/model/gateways}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sca/engine_function/src/domain/model/gateways/deserealizator_gateway.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sca/engine_function/src/domain/model/gateways/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_function/src/infrastructure → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_function/src/domain/usecases}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sca/engine_function/src/domain/usecases/function_sca_scan.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sca/engine_function/src/domain/usecases/handle_remote_config_patterns.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sca/engine_function/src/domain/usecases/set_input_core.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_function/src/infrastructure/driven_adapters → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_function/src/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_function/src/infrastructure/driven_adapters/prisma_cloud → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_function/src/infrastructure/driven_adapters}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_function/src/infrastructure/entry_points → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_function/src/infrastructure/driven_adapters/prisma_cloud}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sca/engine_function/src/infrastructure/driven_adapters/prisma_cloud/prisma_cloud_manager_scan.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sca/engine_function/src/infrastructure/driven_adapters/prisma_cloud/prisma_deserialize_output.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_sca/engine_function/src/infrastructure/helpers → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_function/src/infrastructure/entry_points}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_sca/engine_function/src/infrastructure/entry_points/entry_point_tool.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_sca/engine_function/src/infrastructure/helpers}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/azuredevops → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/azuredevops}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/azuredevops/models → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure/azure_devops_api.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzureMessageLoggingPipeline.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzurePredefinedVariables.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/copacetic → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/azuredevops/models}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/copacetic/src → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/copacetic}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/copacetic/src/applications → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/copacetic/src}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/copacetic/src/domain → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/copacetic/src/applications}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/copacetic/src/applications/runner_copacetic.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/copacetic/src/domain/usecases → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/copacetic/src/domain}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/copacetic/src/infrastructure → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/copacetic/src/domain/usecases}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/copacetic/src/domain/usecases/copacetic.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/copacetic/src/infrastructure/driven_adapters → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/copacetic/src/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/copacetic/src/infrastructure/driven_adapters/copacetic → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/copacetic/src/infrastructure/driven_adapters}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/copacetic/src/infrastructure/entry_points → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/copacetic/src/infrastructure/driven_adapters/copacetic}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/copacetic/src/infrastructure/driven_adapters/copacetic/copacetic_adapter.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/defect_dojo/applications → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/copacetic/src/infrastructure/entry_points}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/copacetic/src/infrastructure/entry_points/entry_point_copacetic.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/defect_dojo/domain → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/defect_dojo/applications}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/component.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/connect.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/defect_dojo.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/engagement.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/finding.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/finding_exclusion.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/product.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/defect_dojo/domain}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/cmdb.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/component.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/engagement.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/finding.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/finding_exclusion.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_list.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type_list.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/scan_configuration.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/finding.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/import_scan.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/finding.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/import_scan.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/cmdb.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/component.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/engagement.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/finding.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/finding_exclusion.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/import_scan.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/product.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/cmdb.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/component.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/engagement.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/finding.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/finding_exclusion.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/import_scan.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product_type.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/scan_configurations.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/repository → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/settings.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/git_cli → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/repository}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/git_cli/infrastructure → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/git_cli}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/git_cli/model → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/git_cli/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/git_cli/infrastructure/git_run.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/git_cli/model/gateway → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/git_cli/model}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/github → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/git_cli/model/gateway}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/git_cli/model/gateway/git_gateway.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/github/infrastructure → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/github}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/github/models → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/github/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/github/infrastructure/github_api.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/github/models/GithubPredefinedVariables.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/input_validations → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/github/models}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/sbom → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/input_validations}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/input_validations/env_utils.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/input_validations/validate_input_with_regex_letters_number_and_only.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/sonarqube → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/sbom}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/sbom/deserealizator.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/settings.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/sonarqube/src → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/sonarqube}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/sonarqube/src/applications → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/sonarqube/src}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/sonarqube/src/domain → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/sonarqube/src/applications}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/applications/runner_report_sonar.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/sonarqube/src/domain}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/gateways → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/gateways}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/gateways/sonar_gateway.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases/report_sonar.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/sonarqube → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/entry_points → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/sonarqube}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/sonarqube/sonarqube_report.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/helpers → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/entry_points}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/entry_points/entry_point_report_sonar.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/ssh → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/helpers}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/helpers/utils.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/trivy_utils → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/ssh}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/ssh/managment_private_key.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/trivy_utils/infrastructure → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/trivy_utils}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/trivy_utils/infrastructure/driven_adapters → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/trivy_utils/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/twistcli_utils → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/trivy_utils/infrastructure/driven_adapters}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/trivy_utils/infrastructure/driven_adapters/trivy_deserialize_output.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/trivy_utils/infrastructure/driven_adapters/trivy_manager_scan_utils.py +0 -0
- {devsecops_engine_tools-1.130.1/devsecops_engine_tools/engine_utilities/utils → devsecops_engine_tools-1.131.0/devsecops_engine_tools/engine_utilities/twistcli_utils}/__init__.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/twistcli_utils/twistcli_utils.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/utils/api_error.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/utils/dataclass_classmethod.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/utils/datetime_parsing.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/utils/logger_info.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/utils/name_conversion.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/utils/printers.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/utils/session_manager.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/engine_utilities/utils/utils.py +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools.egg-info/dependency_links.txt +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools.egg-info/entry_points.txt +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools.egg-info/requires.txt +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools.egg-info/top_level.txt +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/setup.cfg +0 -0
- {devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/setup.py +0 -0
|
@@ -111,6 +111,7 @@ def get_inputs_from_cli(args):
|
|
|
111
111
|
"xray",
|
|
112
112
|
"dependency_check",
|
|
113
113
|
"kiuwan",
|
|
114
|
+
"all_tools",
|
|
114
115
|
],
|
|
115
116
|
type=str,
|
|
116
117
|
required=False,
|
|
@@ -243,7 +244,7 @@ def get_inputs_from_cli(args):
|
|
|
243
244
|
|
|
244
245
|
TOOLS = {
|
|
245
246
|
"engine_iac": ["checkov", "kics", "kubescape"],
|
|
246
|
-
"engine_secret": ["trufflehog", "gitleaks"],
|
|
247
|
+
"engine_secret": ["trufflehog", "gitleaks", "all_tools"],
|
|
247
248
|
"engine_container": ["prisma", "trivy"],
|
|
248
249
|
"engine_dependencies": ["xray", "dependency_check", "trivy"],
|
|
249
250
|
"engine_code": ["bearer", "kiuwan"],
|
|
@@ -71,6 +71,15 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
|
|
|
71
71
|
"NUCLEI": "Nuclei Scan",
|
|
72
72
|
"KIUWAN": "Kiuwan Scan"
|
|
73
73
|
}
|
|
74
|
+
|
|
75
|
+
multiple_scan_types = {
|
|
76
|
+
"engine_secret": {
|
|
77
|
+
"ALL_TOOLS": {
|
|
78
|
+
"scanners": ["GITLEAKS", "TRUFFLEHOG"],
|
|
79
|
+
"file_separator": "#"
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
74
83
|
|
|
75
84
|
def send_vulnerability_management(
|
|
76
85
|
self, vulnerability_management: VulnerabilityManagement
|
|
@@ -127,44 +136,83 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
|
|
|
127
136
|
tags = [
|
|
128
137
|
f"{vulnerability_management.dict_args['module']}_{tag_suffix}"
|
|
129
138
|
]
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
vulnerability_management
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
tags,
|
|
136
|
-
use_cmdb,
|
|
137
|
-
)
|
|
138
|
-
|
|
139
|
-
def request_func():
|
|
140
|
-
return DefectDojo.send_import_scan(request)
|
|
141
|
-
|
|
142
|
-
response = Utils().retries_requests(
|
|
143
|
-
request_func,
|
|
144
|
-
vulnerability_management.config_tool["VULNERABILITY_MANAGER"][
|
|
145
|
-
"DEFECT_DOJO"
|
|
146
|
-
]["MAX_RETRIES_QUERY"],
|
|
147
|
-
retry_delay=5,
|
|
148
|
-
)
|
|
149
|
-
|
|
150
|
-
if hasattr(response, "url"):
|
|
151
|
-
if vulnerability_management.config_tool.get("VULNERABILITY_MANAGER").get("DEFECT_DOJO").get("PRINT_DOMAIN"):
|
|
152
|
-
response.url = response.url.replace(
|
|
153
|
-
vulnerability_management.config_tool["VULNERABILITY_MANAGER"]["DEFECT_DOJO"]["HOST_DEFECT_DOJO"],
|
|
154
|
-
vulnerability_management.config_tool["VULNERABILITY_MANAGER"]["DEFECT_DOJO"]["PRINT_DOMAIN"]
|
|
155
|
-
)
|
|
156
|
-
url_parts = response.url.split("//")
|
|
157
|
-
test_string = "//".join([url_parts[0] + "/", url_parts[1]])
|
|
158
|
-
print(
|
|
159
|
-
"Report sent to vulnerability management: ",
|
|
160
|
-
f"{test_string}?tags={vulnerability_management.dict_args['module']}",
|
|
139
|
+
|
|
140
|
+
if vulnerability_management.dict_args["module"] in self.multiple_scan_types and \
|
|
141
|
+
vulnerability_management.scan_type in self.multiple_scan_types[vulnerability_management.dict_args["module"]]:
|
|
142
|
+
files = vulnerability_management.input_core.path_file_results.split(
|
|
143
|
+
self.multiple_scan_types[vulnerability_management.dict_args["module"]][vulnerability_management.scan_type]["file_separator"]
|
|
161
144
|
)
|
|
145
|
+
all_tools = self.multiple_scan_types[vulnerability_management.dict_args["module"]][vulnerability_management.scan_type]["scanners"]
|
|
146
|
+
print_url = True
|
|
147
|
+
for index, file in enumerate(files):
|
|
148
|
+
vulnerability_management.input_core.path_file_results = file
|
|
149
|
+
vulnerability_management.scan_type = all_tools[index]
|
|
150
|
+
self._send_report_to_vulnerability_management(
|
|
151
|
+
vulnerability_management,
|
|
152
|
+
token_cmdb,
|
|
153
|
+
token_dd,
|
|
154
|
+
tags,
|
|
155
|
+
use_cmdb,
|
|
156
|
+
print_url
|
|
157
|
+
)
|
|
158
|
+
print_url = False
|
|
162
159
|
else:
|
|
163
|
-
|
|
160
|
+
self._send_report_to_vulnerability_management(
|
|
161
|
+
vulnerability_management,
|
|
162
|
+
token_cmdb,
|
|
163
|
+
token_dd,
|
|
164
|
+
tags,
|
|
165
|
+
use_cmdb,
|
|
166
|
+
)
|
|
167
|
+
|
|
164
168
|
except Exception as ex:
|
|
165
169
|
raise ExceptionVulnerabilityManagement(
|
|
166
170
|
f"Error sending report to vulnerability management with the following error: {str(ex)}"
|
|
167
171
|
)
|
|
172
|
+
|
|
173
|
+
def _send_report_to_vulnerability_management(
|
|
174
|
+
self,
|
|
175
|
+
vulnerability_management,
|
|
176
|
+
token_cmdb,
|
|
177
|
+
token_dd,
|
|
178
|
+
tags,
|
|
179
|
+
use_cmdb,
|
|
180
|
+
print_url=True
|
|
181
|
+
):
|
|
182
|
+
request = self._build_request_importscan(
|
|
183
|
+
vulnerability_management,
|
|
184
|
+
token_cmdb,
|
|
185
|
+
token_dd,
|
|
186
|
+
tags,
|
|
187
|
+
use_cmdb,
|
|
188
|
+
)
|
|
189
|
+
|
|
190
|
+
def request_func():
|
|
191
|
+
return DefectDojo.send_import_scan(request)
|
|
192
|
+
|
|
193
|
+
response = Utils().retries_requests(
|
|
194
|
+
request_func,
|
|
195
|
+
vulnerability_management.config_tool["VULNERABILITY_MANAGER"][
|
|
196
|
+
"DEFECT_DOJO"
|
|
197
|
+
]["MAX_RETRIES_QUERY"],
|
|
198
|
+
retry_delay=5,
|
|
199
|
+
)
|
|
200
|
+
|
|
201
|
+
if hasattr(response, "url"):
|
|
202
|
+
if vulnerability_management.config_tool.get("VULNERABILITY_MANAGER").get("DEFECT_DOJO").get("PRINT_DOMAIN"):
|
|
203
|
+
response.url = response.url.replace(
|
|
204
|
+
vulnerability_management.config_tool["VULNERABILITY_MANAGER"]["DEFECT_DOJO"]["HOST_DEFECT_DOJO"],
|
|
205
|
+
vulnerability_management.config_tool["VULNERABILITY_MANAGER"]["DEFECT_DOJO"]["PRINT_DOMAIN"]
|
|
206
|
+
)
|
|
207
|
+
if print_url:
|
|
208
|
+
url_parts = response.url.split("//")
|
|
209
|
+
test_string = "//".join([url_parts[0] + "/", url_parts[1]])
|
|
210
|
+
print(
|
|
211
|
+
"Report sent to vulnerability management: ",
|
|
212
|
+
f"{test_string}?tags={vulnerability_management.dict_args['module']}",
|
|
213
|
+
)
|
|
214
|
+
else:
|
|
215
|
+
raise ExceptionVulnerabilityManagement(response)
|
|
168
216
|
|
|
169
217
|
def get_product_type_pipeline(self, service, dict_args, secret_tool, config_tool):
|
|
170
218
|
try:
|
|
@@ -13,6 +13,12 @@ from devsecops_engine_tools.engine_sast.engine_secret.src.infrastructure.driven_
|
|
|
13
13
|
from devsecops_engine_tools.engine_sast.engine_secret.src.infrastructure.driven_adapters.gitleaks.gitleaks_deserealizator import (
|
|
14
14
|
GitleaksDeserealizator
|
|
15
15
|
)
|
|
16
|
+
from devsecops_engine_tools.engine_sast.engine_secret.src.infrastructure.driven_adapters.all_tools.all_tools import (
|
|
17
|
+
AllToolsSecretScan
|
|
18
|
+
)
|
|
19
|
+
from devsecops_engine_tools.engine_sast.engine_secret.src.infrastructure.driven_adapters.all_tools.all_tools_deserealizator import (
|
|
20
|
+
AllToolsSecretScanDeserealizator
|
|
21
|
+
)
|
|
16
22
|
from devsecops_engine_tools.engine_utilities.git_cli.infrastructure.git_run import (
|
|
17
23
|
GitRun
|
|
18
24
|
)
|
|
@@ -28,6 +34,9 @@ def runner_secret_scan(dict_args, tool, devops_platform_gateway, remote_config_s
|
|
|
28
34
|
elif (tool == "GITLEAKS"):
|
|
29
35
|
tool_gateway = GitleaksTool()
|
|
30
36
|
tool_deserealizator = GitleaksDeserealizator()
|
|
37
|
+
elif (tool == "ALL_TOOLS"):
|
|
38
|
+
tool_gateway = AllToolsSecretScan()
|
|
39
|
+
tool_deserealizator = AllToolsSecretScanDeserealizator()
|
|
31
40
|
|
|
32
41
|
return engine_secret_scan(
|
|
33
42
|
devops_platform_gateway = devops_platform_gateway,
|
|
@@ -35,7 +35,13 @@ class SecretScan:
|
|
|
35
35
|
secret_external_checks=dict_args["token_external_checks"]
|
|
36
36
|
files_to_scan = None if dict_args["folder_path"] is None else [dict_args["folder_path"]]
|
|
37
37
|
if skip_tool == False:
|
|
38
|
-
|
|
38
|
+
if tool == "all_tools":
|
|
39
|
+
self.tool_gateway.install_tool(self.devops_platform_gateway.get_variable("os"), self.devops_platform_gateway.get_variable("temp_directory"), {
|
|
40
|
+
"GITLEAKS": config_tool["gitleaks"]["VERSION"],
|
|
41
|
+
"TRUFFLEHOG": config_tool["trufflehog"]["VERSION"]
|
|
42
|
+
})
|
|
43
|
+
else:
|
|
44
|
+
self.tool_gateway.install_tool(self.devops_platform_gateway.get_variable("os"), self.devops_platform_gateway.get_variable("temp_directory"), config_tool[tool]["VERSION"])
|
|
39
45
|
if files_to_scan is None:
|
|
40
46
|
files_to_scan = self.git_gateway.get_files_pull_request(
|
|
41
47
|
self.devops_platform_gateway.get_variable("path_directory"),
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
from concurrent.futures import ThreadPoolExecutor, as_completed
|
|
2
|
+
from devsecops_engine_tools.engine_sast.engine_secret.src.domain.model.gateway.tool_gateway import (
|
|
3
|
+
ToolGateway,
|
|
4
|
+
)
|
|
5
|
+
from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
|
|
6
|
+
from devsecops_engine_tools.engine_utilities import settings
|
|
7
|
+
from devsecops_engine_tools.engine_sast.engine_secret.src.infrastructure.driven_adapters.gitleaks.gitleaks_tool import (
|
|
8
|
+
GitleaksTool,
|
|
9
|
+
)
|
|
10
|
+
from devsecops_engine_tools.engine_sast.engine_secret.src.infrastructure.driven_adapters.trufflehog.trufflehog_run import (
|
|
11
|
+
TrufflehogRun,
|
|
12
|
+
)
|
|
13
|
+
import json
|
|
14
|
+
import os
|
|
15
|
+
|
|
16
|
+
logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
|
|
17
|
+
|
|
18
|
+
class AllToolsSecretScan(ToolGateway):
|
|
19
|
+
gitleaks_tool: GitleaksTool = GitleaksTool()
|
|
20
|
+
trufflehog_tool: TrufflehogRun = TrufflehogRun()
|
|
21
|
+
|
|
22
|
+
def install_tool(self, agent_os, agent_temp_dir, tool_version) -> any:
|
|
23
|
+
"""Install both tools in parallel"""
|
|
24
|
+
gitleaks_version = tool_version.get("GITLEAKS")
|
|
25
|
+
trufflehog_version = tool_version.get("TRUFFLEHOG")
|
|
26
|
+
|
|
27
|
+
with ThreadPoolExecutor(max_workers=2) as executor:
|
|
28
|
+
futures = [
|
|
29
|
+
executor.submit(self.gitleaks_tool.install_tool, agent_os, agent_temp_dir, gitleaks_version),
|
|
30
|
+
executor.submit(self.trufflehog_tool.install_tool, agent_os, agent_temp_dir, trufflehog_version)
|
|
31
|
+
]
|
|
32
|
+
|
|
33
|
+
for future in as_completed(futures):
|
|
34
|
+
try:
|
|
35
|
+
future.result()
|
|
36
|
+
except Exception as e:
|
|
37
|
+
logger.error(f"Error installing tool: {str(e)}")
|
|
38
|
+
|
|
39
|
+
def run_tool_secret_scan(
|
|
40
|
+
self,
|
|
41
|
+
files,
|
|
42
|
+
agent_os,
|
|
43
|
+
agent_work_folder,
|
|
44
|
+
repository_name,
|
|
45
|
+
config_tool,
|
|
46
|
+
secret_tool,
|
|
47
|
+
secret_external_checks,
|
|
48
|
+
agent_temp_dir,
|
|
49
|
+
tool,
|
|
50
|
+
folder_path
|
|
51
|
+
):
|
|
52
|
+
"""Run both secret scanning tools in parallel and collect their results."""
|
|
53
|
+
with ThreadPoolExecutor(max_workers=2) as executor:
|
|
54
|
+
# Start both scans
|
|
55
|
+
future_gitleaks = executor.submit(
|
|
56
|
+
self.gitleaks_tool.run_tool_secret_scan,
|
|
57
|
+
files, agent_os, agent_work_folder, repository_name,
|
|
58
|
+
config_tool, secret_tool, secret_external_checks,
|
|
59
|
+
agent_temp_dir, "gitleaks", folder_path
|
|
60
|
+
)
|
|
61
|
+
future_trufflehog = executor.submit(
|
|
62
|
+
self.trufflehog_tool.run_tool_secret_scan,
|
|
63
|
+
files, agent_os, agent_work_folder, repository_name,
|
|
64
|
+
config_tool, secret_tool, secret_external_checks,
|
|
65
|
+
agent_temp_dir, "trufflehog", folder_path
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
# Get results
|
|
69
|
+
findings_gitleaks, finding_path_gitleaks = future_gitleaks.result()
|
|
70
|
+
findings_trufflehog, finding_path_trufflehog = future_trufflehog.result()
|
|
71
|
+
|
|
72
|
+
# Deduplicate: Remove TruffleHog findings that match Gitleaks findings
|
|
73
|
+
try:
|
|
74
|
+
# Build normalized set from Gitleaks
|
|
75
|
+
gitleaks_normalized = set()
|
|
76
|
+
for g in findings_gitleaks or []:
|
|
77
|
+
norm = self._normalize_for_cross_tool_dedup(g, is_gitleaks=True)
|
|
78
|
+
if norm:
|
|
79
|
+
gitleaks_normalized.add(norm)
|
|
80
|
+
|
|
81
|
+
# Deduplicate within TruffleHog
|
|
82
|
+
trufflehog_after_internal_dedup = self._deduplicate_trufflehog_internal(findings_trufflehog or [])
|
|
83
|
+
|
|
84
|
+
# Filter TruffleHog against Gitleaks
|
|
85
|
+
filtered_trufflehog = []
|
|
86
|
+
for idx, t in enumerate(trufflehog_after_internal_dedup):
|
|
87
|
+
norm = self._normalize_for_cross_tool_dedup(t, is_gitleaks=False)
|
|
88
|
+
|
|
89
|
+
if norm and norm in gitleaks_normalized:
|
|
90
|
+
continue
|
|
91
|
+
else:
|
|
92
|
+
filtered_trufflehog.append(t)
|
|
93
|
+
|
|
94
|
+
findings = [{"gitleaks": findings_gitleaks, "trufflehog": filtered_trufflehog}]
|
|
95
|
+
|
|
96
|
+
# Rewrite the TruffleHog findings file with only deduplicated results
|
|
97
|
+
self._rewrite_trufflehog_file(filtered_trufflehog, finding_path_trufflehog)
|
|
98
|
+
|
|
99
|
+
except Exception as e:
|
|
100
|
+
logger.error(f"Error during deduplication: {e}")
|
|
101
|
+
findings = [{"gitleaks": findings_gitleaks, "trufflehog": findings_trufflehog}]
|
|
102
|
+
|
|
103
|
+
finding_path = finding_path_gitleaks + "#" + finding_path_trufflehog
|
|
104
|
+
return findings, finding_path
|
|
105
|
+
|
|
106
|
+
def _deduplicate_trufflehog_internal(self, findings: list) -> list:
|
|
107
|
+
"""Deduplicate within TruffleHog: remove findings with same filename+line+secret but different detectors."""
|
|
108
|
+
if not findings:
|
|
109
|
+
return findings
|
|
110
|
+
|
|
111
|
+
# Use filename+line+secret as key
|
|
112
|
+
seen_by_file_line_secret = {}
|
|
113
|
+
deduplicated = []
|
|
114
|
+
|
|
115
|
+
for finding in findings:
|
|
116
|
+
path = ""
|
|
117
|
+
try:
|
|
118
|
+
path = (
|
|
119
|
+
finding.get("SourceMetadata", {})
|
|
120
|
+
.get("Data", {})
|
|
121
|
+
.get("Filesystem", {})
|
|
122
|
+
.get("file", "")
|
|
123
|
+
)
|
|
124
|
+
except (AttributeError, TypeError):
|
|
125
|
+
path = finding.get("file", "") or ""
|
|
126
|
+
|
|
127
|
+
# Extract only filename
|
|
128
|
+
filename = path.split('/')[-1] if '/' in path else path
|
|
129
|
+
filename = filename.split('\\')[-1] if '\\' in filename else filename
|
|
130
|
+
|
|
131
|
+
# Extract line number
|
|
132
|
+
try:
|
|
133
|
+
line = (
|
|
134
|
+
finding.get("SourceMetadata", {})
|
|
135
|
+
.get("Data", {})
|
|
136
|
+
.get("Filesystem", {})
|
|
137
|
+
.get("line", "")
|
|
138
|
+
)
|
|
139
|
+
except (AttributeError, TypeError):
|
|
140
|
+
line = finding.get("line") or ""
|
|
141
|
+
|
|
142
|
+
# Get the secret
|
|
143
|
+
secret = finding.get("Raw") or finding.get("RawV2") or finding.get("Match") or finding.get("Redacted") or ""
|
|
144
|
+
masked_secret = self._mask_secret(secret)
|
|
145
|
+
|
|
146
|
+
# Key: filename + line + secret
|
|
147
|
+
key = f"{filename}|{line}|{masked_secret}"
|
|
148
|
+
|
|
149
|
+
if key not in seen_by_file_line_secret:
|
|
150
|
+
seen_by_file_line_secret[key] = True
|
|
151
|
+
deduplicated.append(finding)
|
|
152
|
+
|
|
153
|
+
return deduplicated
|
|
154
|
+
|
|
155
|
+
def _normalize_for_cross_tool_dedup(self, item: dict, is_gitleaks: bool = True, include_line: bool = True) -> str:
|
|
156
|
+
"""
|
|
157
|
+
Normalize item for cross-tool deduplication (Gitleaks vs TruffleHog).
|
|
158
|
+
"""
|
|
159
|
+
if not item:
|
|
160
|
+
return ""
|
|
161
|
+
|
|
162
|
+
# Extract filename
|
|
163
|
+
if is_gitleaks:
|
|
164
|
+
path = item.get("File", "") or ""
|
|
165
|
+
else:
|
|
166
|
+
# TruffleHog nested path extraction
|
|
167
|
+
try:
|
|
168
|
+
path = (
|
|
169
|
+
item.get("SourceMetadata", {})
|
|
170
|
+
.get("Data", {})
|
|
171
|
+
.get("Filesystem", {})
|
|
172
|
+
.get("file", "")
|
|
173
|
+
)
|
|
174
|
+
except (AttributeError, TypeError):
|
|
175
|
+
path = item.get("file", "") or ""
|
|
176
|
+
|
|
177
|
+
# Extract only filename from path
|
|
178
|
+
filename = path.split('/')[-1] if '/' in path else path
|
|
179
|
+
filename = filename.split('\\')[-1] if '\\' in filename else filename
|
|
180
|
+
|
|
181
|
+
# Extract line number if requested
|
|
182
|
+
line = ""
|
|
183
|
+
if include_line:
|
|
184
|
+
if is_gitleaks:
|
|
185
|
+
line = item.get("StartLine") or item.get("line") or ""
|
|
186
|
+
else:
|
|
187
|
+
try:
|
|
188
|
+
line = (
|
|
189
|
+
item.get("SourceMetadata", {})
|
|
190
|
+
.get("Data", {})
|
|
191
|
+
.get("Filesystem", {})
|
|
192
|
+
.get("line", "")
|
|
193
|
+
)
|
|
194
|
+
except (AttributeError, TypeError):
|
|
195
|
+
line = item.get("line") or ""
|
|
196
|
+
|
|
197
|
+
# Get the secret from various possible fields
|
|
198
|
+
if is_gitleaks:
|
|
199
|
+
secret = item.get("Secret") or item.get("Match") or ""
|
|
200
|
+
else:
|
|
201
|
+
secret = item.get("Raw") or item.get("RawV2") or item.get("Match") or item.get("Redacted") or ""
|
|
202
|
+
|
|
203
|
+
masked = self._mask_secret(secret)
|
|
204
|
+
|
|
205
|
+
# Build normalized key
|
|
206
|
+
if not (filename or masked):
|
|
207
|
+
return ""
|
|
208
|
+
|
|
209
|
+
if include_line:
|
|
210
|
+
# Strict: filename|line|secret
|
|
211
|
+
normalized = f"{filename}|{line}|{masked}"
|
|
212
|
+
else:
|
|
213
|
+
# Fallback: filename|secret (no line)
|
|
214
|
+
normalized = f"{filename}|{masked}"
|
|
215
|
+
|
|
216
|
+
return normalized.strip()
|
|
217
|
+
|
|
218
|
+
def _rewrite_trufflehog_file(self, filtered_findings: list, file_path: str) -> None:
|
|
219
|
+
"""Rewrite the TruffleHog findings file with deduplicated results."""
|
|
220
|
+
try:
|
|
221
|
+
|
|
222
|
+
if not file_path or not os.path.exists(file_path):
|
|
223
|
+
return
|
|
224
|
+
|
|
225
|
+
with open(file_path, "w") as file:
|
|
226
|
+
file.writelines(json.dumps(finding) + '\n' for finding in filtered_findings)
|
|
227
|
+
|
|
228
|
+
except Exception as e:
|
|
229
|
+
logger.error(f"Error rewriting TruffleHog file: {e}")
|
|
230
|
+
import traceback
|
|
231
|
+
logger.error(traceback.format_exc())
|
|
232
|
+
|
|
233
|
+
def _mask_secret(self, secret: str) -> str:
|
|
234
|
+
"""Mask secret value for comparison: keep first 3 and last 3 chars"""
|
|
235
|
+
if not secret:
|
|
236
|
+
return ""
|
|
237
|
+
secret = str(secret)
|
|
238
|
+
if "*" in secret:
|
|
239
|
+
return secret
|
|
240
|
+
if len(secret) > 6:
|
|
241
|
+
return secret[:3] + "*" * 9 + secret[-3:]
|
|
242
|
+
return secret
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
from concurrent.futures import ThreadPoolExecutor, as_completed
|
|
2
|
+
from dataclasses import dataclass, field
|
|
3
|
+
import os
|
|
4
|
+
import re
|
|
5
|
+
from typing import List
|
|
6
|
+
from devsecops_engine_tools.engine_core.src.domain.model.finding import Finding
|
|
7
|
+
from devsecops_engine_tools.engine_sast.engine_secret.src.domain.model.gateway.gateway_deserealizator import (
|
|
8
|
+
DeseralizatorGateway
|
|
9
|
+
)
|
|
10
|
+
from devsecops_engine_tools.engine_sast.engine_secret.src.infrastructure.driven_adapters.gitleaks.gitleaks_deserealizator import (
|
|
11
|
+
GitleaksDeserealizator
|
|
12
|
+
)
|
|
13
|
+
from devsecops_engine_tools.engine_sast.engine_secret.src.infrastructure.driven_adapters.trufflehog.trufflehog_deserealizator import (
|
|
14
|
+
SecretScanDeserealizator
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
@dataclass
|
|
18
|
+
class AllToolsSecretScanDeserealizator(DeseralizatorGateway):
|
|
19
|
+
gitleaks_deserealizator: GitleaksDeserealizator = field(default_factory=GitleaksDeserealizator)
|
|
20
|
+
trufflehog_deserealizator: SecretScanDeserealizator = field(default_factory=SecretScanDeserealizator)
|
|
21
|
+
|
|
22
|
+
def get_list_vulnerability(
|
|
23
|
+
self,
|
|
24
|
+
results_scan_list: List[dict],
|
|
25
|
+
path_directory: str,
|
|
26
|
+
os: str
|
|
27
|
+
) -> List[Finding]:
|
|
28
|
+
list_open_vulnerabilities = []
|
|
29
|
+
all_results = results_scan_list[0]
|
|
30
|
+
findings_gitleaks = all_results.get("gitleaks", [])
|
|
31
|
+
findings_trufflehog = all_results.get("trufflehog", [])
|
|
32
|
+
with ThreadPoolExecutor(max_workers=2) as executor:
|
|
33
|
+
future_gitleaks = executor.submit(
|
|
34
|
+
self.gitleaks_deserealizator.get_list_vulnerability,
|
|
35
|
+
findings_gitleaks, path_directory, os
|
|
36
|
+
)
|
|
37
|
+
future_trufflehog = executor.submit(
|
|
38
|
+
self.trufflehog_deserealizator.get_list_vulnerability,
|
|
39
|
+
findings_trufflehog, os, path_directory
|
|
40
|
+
)
|
|
41
|
+
list_open_gitleaks = future_gitleaks.result()
|
|
42
|
+
list_open_trufflehog = future_trufflehog.result()
|
|
43
|
+
|
|
44
|
+
# Add all vulnerabilities (already deduplicated in all_tools.py)
|
|
45
|
+
list_open_vulnerabilities.extend(list_open_gitleaks)
|
|
46
|
+
list_open_vulnerabilities.extend(list_open_trufflehog)
|
|
47
|
+
|
|
48
|
+
return list_open_vulnerabilities
|
|
49
|
+
|
|
50
|
+
def get_where_correctly(self, result: dict, path_directory=""):
|
|
51
|
+
# Build a more detailed where string including line and detector/extra name
|
|
52
|
+
full_path = result.get("File", "") or ""
|
|
53
|
+
# Try trufflehog style nested path
|
|
54
|
+
if not full_path:
|
|
55
|
+
try:
|
|
56
|
+
full_path = (
|
|
57
|
+
result.get("SourceMetadata", {})
|
|
58
|
+
.get("Data", {})
|
|
59
|
+
.get("Filesystem", {})
|
|
60
|
+
.get("file", "")
|
|
61
|
+
)
|
|
62
|
+
except Exception:
|
|
63
|
+
pass
|
|
64
|
+
|
|
65
|
+
# Remove path_directory prefix
|
|
66
|
+
try:
|
|
67
|
+
relative = full_path.replace(path_directory, "") if path_directory else full_path
|
|
68
|
+
except Exception:
|
|
69
|
+
relative = full_path
|
|
70
|
+
path = relative.lstrip('/')
|
|
71
|
+
|
|
72
|
+
# extract line if available
|
|
73
|
+
line = result.get("StartLine") or result.get("line") or (
|
|
74
|
+
result.get("SourceMetadata", {}).get("Data", {}).get("Filesystem", {}).get("line")
|
|
75
|
+
)
|
|
76
|
+
|
|
77
|
+
detector = (result.get("ExtraData") or {}).get("name") or result.get("DetectorName") or result.get("RuleID") or ""
|
|
78
|
+
|
|
79
|
+
secret = str(result.get("Secret", "") or result.get("Match", "") or result.get("Raw", "") or result.get("RawV2", "") or result.get("Redacted", ""))
|
|
80
|
+
if '*' in secret:
|
|
81
|
+
hidden_secret = secret
|
|
82
|
+
else:
|
|
83
|
+
hidden_secret = (secret[:3] + '*' * 9 + secret[-3:]) if len(secret) > 6 else secret
|
|
84
|
+
|
|
85
|
+
where = f"{path}"
|
|
86
|
+
if line:
|
|
87
|
+
where += f":{line}"
|
|
88
|
+
if detector:
|
|
89
|
+
where += f", Detector: {detector}"
|
|
90
|
+
where += f", Secret: {hidden_secret}"
|
|
91
|
+
|
|
92
|
+
return where
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
version = '1.131.0'
|
|
@@ -207,6 +207,9 @@ devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/secret_scan
|
|
|
207
207
|
devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/set_input_core.py
|
|
208
208
|
devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/__init__.py
|
|
209
209
|
devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/__init__.py
|
|
210
|
+
devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/all_tools/__init__.py
|
|
211
|
+
devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/all_tools/all_tools.py
|
|
212
|
+
devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/all_tools/all_tools_deserealizator.py
|
|
210
213
|
devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/gitleaks/__init__.py
|
|
211
214
|
devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/gitleaks/gitleaks_deserealizator.py
|
|
212
215
|
devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/gitleaks/gitleaks_tool.py
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
version = '1.130.1'
|
|
File without changes
|
{devsecops_engine_tools-1.130.1 → devsecops_engine_tools-1.131.0}/devsecops_engine_tools/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|