devsecops-engine-tools 1.32.4__tar.gz → 1.33.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of devsecops-engine-tools might be problematic. Click here for more details.
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/PKG-INFO +8 -2
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/applications/runner_engine_core.py +8 -1
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/domain/usecases/handle_scan.py +13 -2
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py +2 -1
- devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_dast/src/applications/runner_dast_scan.py +100 -0
- devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_dast/src/domain/model/api_config.py +13 -0
- devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_dast/src/domain/model/api_operation.py +13 -0
- devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_dast/src/domain/model/gateways/authentication_gateway.py +7 -0
- devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_dast/src/domain/model/gateways/tool_gateway.py +9 -0
- devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_dast/src/domain/model/wa_config.py +10 -0
- devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_dast/src/domain/usecases/dast_scan.py +128 -0
- devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/nuclei/nuclei_config.py +69 -0
- devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/nuclei/nuclei_deserealizer.py +39 -0
- devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/nuclei/nuclei_tool.py +145 -0
- devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/oauth/generic_oauth.py +70 -0
- devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_dast/src/infrastructure/entry_points/entry_point_dast.py +15 -0
- devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_dast/src/infrastructure/helpers/file_generator_tool.py +61 -0
- devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_dast/src/infrastructure/helpers/json_handler.py +13 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/import_scan.py +1 -1
- devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/helpers/__init__.py +0 -0
- devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities/ssh/__init__.py +0 -0
- devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities/utils/__init__.py +0 -0
- devsecops_engine_tools-1.33.0/devsecops_engine_tools/version.py +1 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools.egg-info/PKG-INFO +8 -2
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools.egg-info/SOURCES.txt +17 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools.egg-info/requires.txt +3 -0
- devsecops_engine_tools-1.32.4/devsecops_engine_tools/version.py +0 -1
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/README.md +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/domain/model/component.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/domain/model/customs_exceptions.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/domain/model/exclusions.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/domain/model/finding.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/devops_platform_gateway.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/metrics_manager_gateway.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/printer_table_gateway.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/sbom_manager.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/secrets_manager_gateway.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/vulnerability_management_gateway.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/domain/model/input_core.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/domain/model/level_compliance.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/domain/model/level_vulnerability.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/domain/model/report.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/domain/model/threshold.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/domain/model/vulnerability_management.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/domain/usecases/break_build.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/domain/usecases/handle_risk.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/domain/usecases/metrics_manager.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/s3_manager.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/secrets_manager.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/azure_devops.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/github_actions.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/printer_pretty_table.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_rich_table/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_rich_table/printer_rich_table.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/runtime_local.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/syft/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/syft/syft.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/entry_point_core.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/aws.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/util.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_dast/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_dast/src/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_dast/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_dast/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_dast/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_dast/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_dast/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_dast/src/domain/usecases → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_dast/src/domain/model/gateways}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_dast/src/infrastructure → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_dast/src/domain/usecases}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_dast/src/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_dast/src/infrastructure/entry_points → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_dast/src/infrastructure/helpers → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/nuclei}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_risk → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/oauth}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_risk/src → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_dast/src/infrastructure/entry_points}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_risk/src/applications → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_dast/src/infrastructure/helpers}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_risk/src/deployment → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_risk}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_risk/src/deployment/infrastructure → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_risk/src}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_risk/src/domain → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_risk/src/applications}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_risk/src/applications/runner_engine_risk.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_risk/src/domain/model → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_risk/src/deployment}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_risk/src/domain/model/gateways → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_risk/src/deployment/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_risk/src/domain/usecases → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_risk/src/domain}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_risk/src/infrastructure → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_risk/src/domain/model}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_risk/src/domain/model/gateways}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_risk/src/domain/model/gateways/add_epss_gateway.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/first_csv → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_risk/src/domain/usecases}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/add_data.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/break_build.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/check_threshold.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/get_exclusions.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/handle_filters.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_risk/src/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_risk/src/infrastructure/helpers → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/first_csv}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/first_csv/first_epss_csv.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_code → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/entry_point_risk.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_code/src → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_risk/src/infrastructure/helpers}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_code/src/applications → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_code/src/deployment → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_code}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_code/src/deployment/infrastructure → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_code/src}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_code/src/domain → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_code/src/applications}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sast/engine_code/src/applications/runner_engine_code.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_code/src/domain/model → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_code/src/deployment}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/gateways → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_code/src/deployment/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_code/src/domain}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_code/src/domain/model}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/config_tool.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/gateways}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/gateways/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases/code_scan.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/entry_points → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/helpers → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_iac → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/bearer_deserealizator.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/bearer_tool.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_iac/src → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/entry_points}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/entry_points/entry_point_tool.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_iac/src/applications → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/helpers}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_iac/src/deployment → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_iac}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/infrastructure → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_iac/src}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_iac/src/domain → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_iac/src/applications}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sast/engine_iac/src/applications/runner_iac_scan.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_iac/src/deployment}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_iac/src/domain}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/config_tool.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/iac_scan.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_config.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_deserealizator.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_tool.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_deserealizator.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_tool.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_secret → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_deserealizator.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_tool.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_secret/src → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/entry_point_tool.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_secret/src/applications → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/file_generator_tool.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_secret/src/deployment → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_secret}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/infrastructure → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_secret/src}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_secret/src/domain → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_secret/src/applications}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sast/engine_secret/src/applications/runner_secret_scan.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_secret/src/deployment}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_secret/src/domain}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/gateway_deserealizator.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/gitleaks → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/secret_scan.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/set_input_core.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sca → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/gitleaks}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/gitleaks/gitleaks_deserealizator.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/gitleaks/gitleaks_tool.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sca/engine_container → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_deserealizator.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_run.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sca/engine_container/src → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/entry_point_tool.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sca/engine_container/src/applications → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sca}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sca/engine_container/src/deployment → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sca/engine_container}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sca/engine_container/src/deployment/infrastructure → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sca/engine_container/src}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sca/engine_container/src/domain → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sca/engine_container/src/applications}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sca/engine_container/src/applications/runner_container_scan.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sca/engine_container/src/domain/model → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sca/engine_container/src/deployment}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sca/engine_container/src/deployment/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sca/engine_container/src/domain}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sca/engine_container/src/domain/model}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/deserealizator_gateway.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/images_gateway.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/container_sca_scan.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/handle_remote_config_patterns.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/set_input_core.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/docker_images.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/helpers → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.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.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_deserialize_output.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sca/engine_dependencies → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_deserialize_output.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_manager_scan.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sca/engine_dependencies/src → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/entry_point_tool.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/helpers}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sca/engine_dependencies}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/infrastructure → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sca/engine_dependencies/src}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/runner_dependencies_scan.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/deserializator_gateway.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/dependencies_sca_scan.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/handle_remote_config_patterns.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/set_input_core.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_deserialize.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_tool.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_deserialize_output.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_manager_scan.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities/azuredevops → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/entry_point_tool.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/get_artifacts.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities/azuredevops/models → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities/defect_dojo/applications → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities/azuredevops}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities/defect_dojo/domain → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure/azure_devops_api.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzureMessageLoggingPipeline.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzurePredefinedVariables.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities/defect_dojo/domain → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities/azuredevops}/models/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities/defect_dojo/applications}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/component.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/connect.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/defect_dojo.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/engagement.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/finding.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/finding_exclusion.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/product.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities/defect_dojo/domain}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/cmdb.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/component.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/engagement.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/finding.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/finding_exclusion.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_list.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type_list.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/scan_configuration.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/finding.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/import_scan.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/finding.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/import_scan.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/cmdb.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/component.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/engagement.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/finding.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/finding_exclusion.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/product.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/hello_world.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/repository → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities/git_cli → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/cmdb.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/component.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/engagement.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/finding.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/finding_exclusion.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/import_scan.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product_type.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/scan_configurations.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities/git_cli/infrastructure → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/settings.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities/git_cli/model → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/repository}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities/git_cli/model/gateway → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities/git_cli}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities/github → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities/git_cli/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/git_cli/infrastructure/git_run.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities/github/infrastructure → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities/git_cli/model}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities/github/models → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities/git_cli/model/gateway}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/git_cli/model/gateway/git_gateway.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities/input_validations → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities/github}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities/sbom → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities/github/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/github/infrastructure/github_api.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/github/models/GithubPredefinedVariables.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities/sonarqube → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities/github/models}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities/sonarqube/src → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities/input_validations}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/input_validations/env_utils.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/input_validations/validate_input_with_regex_letters_number_and_only.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities/sonarqube/src/applications → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities/sbom}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/sbom/deserealizator.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/settings.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities/sonarqube/src/domain → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities/sonarqube}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities/sonarqube/src}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/gateways → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities/sonarqube/src/applications}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/applications/runner_report_sonar.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities/sonarqube/src/domain}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/gateways}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/gateways/sonar_gateway.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/sonarqube → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases/report_sonar.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/entry_points → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/helpers → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities/ssh → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/sonarqube}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/sonarqube/sonarqube_report.py +0 -0
- {devsecops_engine_tools-1.32.4/devsecops_engine_tools/engine_utilities/utils → devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/entry_points}/__init__.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/entry_points/entry_point_report_sonar.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/helpers/utils.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/ssh/managment_private_key.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/utils/api_error.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/utils/dataclass_classmethod.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/utils/datetime_parsing.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/utils/logger_info.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/utils/name_conversion.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/utils/printers.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/utils/session_manager.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools/engine_utilities/utils/utils.py +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools.egg-info/dependency_links.txt +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools.egg-info/entry_points.txt +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/devsecops_engine_tools.egg-info/top_level.txt +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/setup.cfg +0 -0
- {devsecops_engine_tools-1.32.4 → devsecops_engine_tools-1.33.0}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: devsecops-engine-tools
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.33.0
|
|
4
4
|
Summary: Tool for DevSecOps strategy
|
|
5
5
|
Home-page: https://github.com/bancolombia/devsecops-engine-tools
|
|
6
6
|
Author: Bancolombia DevSecOps Team
|
|
@@ -28,6 +28,9 @@ Requires-Dist: setuptools==72.1.0
|
|
|
28
28
|
Requires-Dist: rich==13.9.4
|
|
29
29
|
Requires-Dist: cpe==1.3.1
|
|
30
30
|
Requires-Dist: packageurl-python==0.15.6
|
|
31
|
+
Requires-Dist: ruamel.yaml==0.18.6
|
|
32
|
+
Requires-Dist: Authlib==1.3.2
|
|
33
|
+
Requires-Dist: PyJWT==2.9.0
|
|
31
34
|
|
|
32
35
|
# DevSecOps Engine Tools
|
|
33
36
|
|
|
@@ -71,7 +74,7 @@ pip3 install devsecops-engine-tools
|
|
|
71
74
|
### Scan running - flags (CLI)
|
|
72
75
|
|
|
73
76
|
```bash
|
|
74
|
-
devsecops-engine-tools --platform_devops ["local","azure","github"] --remote_config_repo ["remote_config_repo"] --remote_config_branch ["remote_config_branch"] --tool ["engine_iac", "engine_dast", "engine_secret", "engine_dependencies", "engine_container", "engine_risk", "engine_code"] --folder_path ["Folder path scan engine_iac, engine_code, engine_dependencies and engine_secret"] --platform ["k8s","cloudformation","docker", "openapi", "terraform"] --use_secrets_manager ["false", "true"] --use_vulnerability_management ["false", "true"] --send_metrics ["false", "true"] --token_cmdb ["token_cmdb"] --token_vulnerability_management ["token_vulnerability_management"] --token_engine_container ["token_engine_container"] --token_engine_dependencies ["token_engine_dependencies"] --token_external_checks ["token_external_checks"] --xray_mode ["scan", "audit"] --image_to_scan ["image_to_scan"]
|
|
77
|
+
devsecops-engine-tools --platform_devops ["local","azure","github"] --remote_config_repo ["remote_config_repo"] --remote_config_branch ["remote_config_branch"] --tool ["engine_iac", "engine_dast", "engine_secret", "engine_dependencies", "engine_container", "engine_risk", "engine_code"] --folder_path ["Folder path scan engine_iac, engine_code, engine_dependencies and engine_secret"] --platform ["k8s","cloudformation","docker", "openapi", "terraform"] --use_secrets_manager ["false", "true"] --use_vulnerability_management ["false", "true"] --send_metrics ["false", "true"] --token_cmdb ["token_cmdb"] --token_vulnerability_management ["token_vulnerability_management"] --token_engine_container ["token_engine_container"] --token_engine_dependencies ["token_engine_dependencies"] --token_external_checks ["token_external_checks"] --xray_mode ["scan", "audit"] --image_to_scan ["image_to_scan"] --dast_file_path ["dast_file_path"]
|
|
75
78
|
```
|
|
76
79
|
|
|
77
80
|
### Structure Remote Config
|
|
@@ -83,6 +86,9 @@ devsecops-engine-tools --platform_devops ["local","azure","github"] --remote_con
|
|
|
83
86
|
┣ 📂engine_risk
|
|
84
87
|
┃ ┗ 📜ConfigTool.json
|
|
85
88
|
┃ ┗ 📜Exclusions.json
|
|
89
|
+
┣ 📂engine_dast
|
|
90
|
+
┃ ┗ 📜ConfigTool.json
|
|
91
|
+
┃ ┗ 📜Exclusions.json
|
|
86
92
|
┣ 📂engine_sast
|
|
87
93
|
┃ ┗ 📂engine_iac
|
|
88
94
|
┃ ┗ 📜ConfigTool.json
|
|
@@ -170,6 +170,12 @@ def get_inputs_from_cli(args):
|
|
|
170
170
|
required=False,
|
|
171
171
|
help="Name of image to scan for engine_container",
|
|
172
172
|
)
|
|
173
|
+
parser.add_argument(
|
|
174
|
+
"--dast_file_path",
|
|
175
|
+
required=False,
|
|
176
|
+
help="File path containing the configuration, structured according to the documentation, \
|
|
177
|
+
for the API or web application to be scanned by the DAST tool."
|
|
178
|
+
)
|
|
173
179
|
args = parser.parse_args()
|
|
174
180
|
return {
|
|
175
181
|
"platform_devops": args.platform_devops,
|
|
@@ -187,7 +193,8 @@ def get_inputs_from_cli(args):
|
|
|
187
193
|
"token_engine_dependencies": args.token_engine_dependencies,
|
|
188
194
|
"token_external_checks": args.token_external_checks,
|
|
189
195
|
"xray_mode": args.xray_mode,
|
|
190
|
-
"image_to_scan": args.image_to_scan
|
|
196
|
+
"image_to_scan": args.image_to_scan,
|
|
197
|
+
"dast_file_path": args.dast_file_path
|
|
191
198
|
}
|
|
192
199
|
|
|
193
200
|
|
|
@@ -36,10 +36,12 @@ from devsecops_engine_tools.engine_sca.engine_container.src.applications.runner_
|
|
|
36
36
|
from devsecops_engine_tools.engine_sca.engine_dependencies.src.applications.runner_dependencies_scan import (
|
|
37
37
|
runner_engine_dependencies,
|
|
38
38
|
)
|
|
39
|
+
from devsecops_engine_tools.engine_dast.src.applications.runner_dast_scan import (
|
|
40
|
+
runner_engine_dast
|
|
41
|
+
)
|
|
39
42
|
from devsecops_engine_tools.engine_core.src.infrastructure.helpers.util import (
|
|
40
43
|
define_env,
|
|
41
44
|
)
|
|
42
|
-
|
|
43
45
|
from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
|
|
44
46
|
from devsecops_engine_tools.engine_utilities import settings
|
|
45
47
|
|
|
@@ -98,7 +100,16 @@ class HandleScan:
|
|
|
98
100
|
)
|
|
99
101
|
return findings_list, input_core
|
|
100
102
|
elif "engine_dast" in dict_args["tool"]:
|
|
101
|
-
|
|
103
|
+
findings_list, input_core = runner_engine_dast(
|
|
104
|
+
dict_args,
|
|
105
|
+
config_tool["ENGINE_DAST"],
|
|
106
|
+
secret_tool,
|
|
107
|
+
self.devops_platform_gateway
|
|
108
|
+
)
|
|
109
|
+
self._use_vulnerability_management(
|
|
110
|
+
config_tool, input_core, dict_args, secret_tool, env
|
|
111
|
+
)
|
|
112
|
+
return findings_list, input_core
|
|
102
113
|
elif "engine_code" in dict_args["tool"]:
|
|
103
114
|
findings_list, input_core = runner_engine_code(
|
|
104
115
|
dict_args,
|
|
@@ -82,7 +82,8 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
|
|
|
82
82
|
"BEARER": "Bearer CLI",
|
|
83
83
|
"DEPENDENCY_CHECK": "Dependency Check Scan",
|
|
84
84
|
"SONARQUBE": "SonarQube API Import",
|
|
85
|
-
"GITLEAKS": "Gitleaks Scan"
|
|
85
|
+
"GITLEAKS": "Gitleaks Scan",
|
|
86
|
+
"NUCLEI": "Nuclei Scan"
|
|
86
87
|
}
|
|
87
88
|
|
|
88
89
|
if any(
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
from typing import List
|
|
2
|
+
from devsecops_engine_tools.engine_dast.src.infrastructure.entry_points.entry_point_dast import (
|
|
3
|
+
init_engine_dast,
|
|
4
|
+
)
|
|
5
|
+
from devsecops_engine_tools.engine_dast.src.infrastructure.driven_adapters.nuclei.nuclei_tool import (
|
|
6
|
+
NucleiTool,
|
|
7
|
+
)
|
|
8
|
+
from devsecops_engine_tools.engine_dast.src.infrastructure.driven_adapters.jwt.jwt_object import (
|
|
9
|
+
JwtObject,
|
|
10
|
+
)
|
|
11
|
+
from devsecops_engine_tools.engine_dast.src.infrastructure.driven_adapters.jwt.jwt_tool import (
|
|
12
|
+
JwtTool,
|
|
13
|
+
)
|
|
14
|
+
from devsecops_engine_tools.engine_dast.src.infrastructure.driven_adapters.oauth.generic_oauth import (
|
|
15
|
+
GenericOauth,
|
|
16
|
+
)
|
|
17
|
+
from devsecops_engine_tools.engine_dast.src.infrastructure.driven_adapters.http.client.auth_client import (
|
|
18
|
+
AuthClientCredential,
|
|
19
|
+
)
|
|
20
|
+
from devsecops_engine_tools.engine_dast.src.domain.model.api_config import (
|
|
21
|
+
ApiConfig
|
|
22
|
+
)
|
|
23
|
+
from devsecops_engine_tools.engine_dast.src.domain.model.api_operation import (
|
|
24
|
+
ApiOperation
|
|
25
|
+
)
|
|
26
|
+
from devsecops_engine_tools.engine_dast.src.domain.model.wa_config import (
|
|
27
|
+
WaConfig
|
|
28
|
+
)
|
|
29
|
+
from devsecops_engine_tools.engine_dast.src.infrastructure.helpers.json_handler import (
|
|
30
|
+
load_json_file
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
def runner_engine_dast(dict_args, config_tool, secret_tool, devops_platform_gateway):
|
|
34
|
+
if config_tool["TOOL"].lower() == "nuclei": # tool_gateway is the main Tool
|
|
35
|
+
tool_run = NucleiTool()
|
|
36
|
+
extra_tools = []
|
|
37
|
+
target_config = None
|
|
38
|
+
|
|
39
|
+
# Filling operations list with adapters
|
|
40
|
+
data = load_json_file(dict_args["dast_file_path"])
|
|
41
|
+
|
|
42
|
+
try:
|
|
43
|
+
if "operations" in data: # Api
|
|
44
|
+
operations: List = []
|
|
45
|
+
for elem in data["operations"]:
|
|
46
|
+
security_type = elem["operation"]["security_auth"]["type"].lower()
|
|
47
|
+
if security_type == "jwt":
|
|
48
|
+
operations.append(
|
|
49
|
+
ApiOperation(
|
|
50
|
+
elem,
|
|
51
|
+
JwtObject(
|
|
52
|
+
elem["operation"]["security_auth"]
|
|
53
|
+
)
|
|
54
|
+
)
|
|
55
|
+
)
|
|
56
|
+
elif security_type == "oauth":
|
|
57
|
+
operations.append(
|
|
58
|
+
ApiOperation(
|
|
59
|
+
elem,
|
|
60
|
+
GenericOauth(
|
|
61
|
+
elem["operation"]["security_auth"],
|
|
62
|
+
data["endpoint"]
|
|
63
|
+
)
|
|
64
|
+
)
|
|
65
|
+
)
|
|
66
|
+
else:
|
|
67
|
+
operations.append(
|
|
68
|
+
ApiOperation(
|
|
69
|
+
elem,
|
|
70
|
+
AuthClientCredential(
|
|
71
|
+
elem["operation"]["security_auth"]
|
|
72
|
+
)
|
|
73
|
+
)
|
|
74
|
+
)
|
|
75
|
+
data["operations"] = operations
|
|
76
|
+
target_config = ApiConfig(data)
|
|
77
|
+
elif "WA" in data: # Web Application
|
|
78
|
+
if data["data"].get["security_auth"] == "oauth":
|
|
79
|
+
authentication_gateway = GenericOauth(
|
|
80
|
+
data["data"]["security_auth"]
|
|
81
|
+
)
|
|
82
|
+
target_config = WaConfig(data, authentication_gateway)
|
|
83
|
+
else:
|
|
84
|
+
raise ValueError("Can't match if the target type is an api or a web application")
|
|
85
|
+
|
|
86
|
+
if any((k.lower() == "jwt") for k in config_tool["EXTRA_TOOLS"]) and any(isinstance(operation.authentication_gateway, JwtObject) for operation in data["operations"] ):
|
|
87
|
+
extra_tools.append(JwtTool(target_config))
|
|
88
|
+
|
|
89
|
+
return init_engine_dast(
|
|
90
|
+
devops_platform_gateway=devops_platform_gateway,
|
|
91
|
+
tool_gateway=tool_run,
|
|
92
|
+
dict_args=dict_args,
|
|
93
|
+
secret_tool=secret_tool,
|
|
94
|
+
config_tool=config_tool,
|
|
95
|
+
extra_tools=extra_tools,
|
|
96
|
+
target_data=target_config
|
|
97
|
+
)
|
|
98
|
+
except Exception as e:
|
|
99
|
+
raise Exception(f"Error engine_dast: {e}")
|
|
100
|
+
|
devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_dast/src/domain/model/api_config.py
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
from typing import List
|
|
2
|
+
from devsecops_engine_tools.engine_dast.src.domain.model.api_operation import ApiOperation
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class ApiConfig():
|
|
6
|
+
def __init__(self, api_data: dict):
|
|
7
|
+
try:
|
|
8
|
+
self.target_type: str = "API"
|
|
9
|
+
self.endpoint: str = api_data["endpoint"]
|
|
10
|
+
self.rate_limit: str = api_data.get("rate_limit")
|
|
11
|
+
self.operations: "List[ApiOperation]" = api_data["operations"]
|
|
12
|
+
except KeyError:
|
|
13
|
+
raise KeyError("Missing configuration, validate the endpoint and every single operation")
|
devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_dast/src/domain/model/api_operation.py
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
from devsecops_engine_tools.engine_dast.src.domain.model.gateways.authentication_gateway import (
|
|
2
|
+
AuthenticationGateway
|
|
3
|
+
)
|
|
4
|
+
class ApiOperation():
|
|
5
|
+
def __init__(self, operation, authentication_gateway):
|
|
6
|
+
self.authentication_gateway: AuthenticationGateway = authentication_gateway
|
|
7
|
+
self.data: dict = operation
|
|
8
|
+
self.credentials = ("auth_header", "token")
|
|
9
|
+
|
|
10
|
+
def authenticate(self):
|
|
11
|
+
self.credentials = self.authentication_gateway.get_credentials()
|
|
12
|
+
if self.credentials is not None:
|
|
13
|
+
self.data["operation"]["headers"][f'{self.credentials[0]}'] = f'{self.credentials[1]}'
|
devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_dast/src/domain/model/wa_config.py
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
class WaConfig:
|
|
2
|
+
def __init__(self, data: dict, authentication_gateway):
|
|
3
|
+
self.target_type: str = "WA"
|
|
4
|
+
self.url: str = data["endpoint"]
|
|
5
|
+
self.data: dict = data.wa_data
|
|
6
|
+
|
|
7
|
+
def authenticate(self):
|
|
8
|
+
self.credentials = self.authentication_gateway.get_credentials()
|
|
9
|
+
if self.credentials is not None:
|
|
10
|
+
self.data["headers"][self.credentials[0]] = self.credentials[1]
|
devsecops_engine_tools-1.33.0/devsecops_engine_tools/engine_dast/src/domain/usecases/dast_scan.py
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
from typing import (
|
|
2
|
+
List, Tuple, Any
|
|
3
|
+
)
|
|
4
|
+
from devsecops_engine_tools.engine_dast.src.domain.model.gateways.tool_gateway import (
|
|
5
|
+
ToolGateway,
|
|
6
|
+
)
|
|
7
|
+
from devsecops_engine_tools.engine_core.src.domain.model.gateway.devops_platform_gateway import (
|
|
8
|
+
DevopsPlatformGateway,
|
|
9
|
+
)
|
|
10
|
+
from devsecops_engine_tools.engine_core.src.domain.model.input_core import (
|
|
11
|
+
InputCore,
|
|
12
|
+
)
|
|
13
|
+
from devsecops_engine_tools.engine_core.src.domain.model.exclusions import (
|
|
14
|
+
Exclusions,
|
|
15
|
+
)
|
|
16
|
+
from devsecops_engine_tools.engine_core.src.domain.model.threshold import Threshold
|
|
17
|
+
|
|
18
|
+
class DastScan:
|
|
19
|
+
def __init__(
|
|
20
|
+
self,
|
|
21
|
+
tool_gateway: ToolGateway,
|
|
22
|
+
devops_platform_gateway: DevopsPlatformGateway,
|
|
23
|
+
data_target,
|
|
24
|
+
aditional_tools: "List[ToolGateway]"
|
|
25
|
+
):
|
|
26
|
+
self.tool_gateway = tool_gateway
|
|
27
|
+
self.devops_platform_gateway = devops_platform_gateway
|
|
28
|
+
self.data_target = data_target
|
|
29
|
+
self.other_tools = aditional_tools
|
|
30
|
+
|
|
31
|
+
def complete_config_tool(
|
|
32
|
+
self, data_file_tool, exclusions, tool
|
|
33
|
+
) -> "Tuple[Any, Any]":
|
|
34
|
+
|
|
35
|
+
config_tool = data_file_tool
|
|
36
|
+
|
|
37
|
+
config_tool["SCOPE_PIPELINE"] = self.devops_platform_gateway.get_variable(
|
|
38
|
+
"pipeline_name"
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
config_tool["EXCLUSIONS"] = exclusions
|
|
42
|
+
|
|
43
|
+
config_exclusions = config_tool["EXCLUSIONS"]
|
|
44
|
+
|
|
45
|
+
if config_exclusions.get("All") is not None:
|
|
46
|
+
config_tool["EXCLUSIONS_ALL"] = config_exclusions.get("All").get(tool)
|
|
47
|
+
if config_exclusions.get(config_tool["SCOPE_PIPELINE"]) is not None:
|
|
48
|
+
config_tool["EXCLUSIONS_SCOPE"] = config_exclusions.get(
|
|
49
|
+
config_tool["SCOPE_PIPELINE"]
|
|
50
|
+
).get(tool)
|
|
51
|
+
|
|
52
|
+
data_target_config = self.data_target
|
|
53
|
+
return config_tool, data_target_config
|
|
54
|
+
|
|
55
|
+
def process(
|
|
56
|
+
self, dict_args, secret_tool, config_tool
|
|
57
|
+
) -> "Tuple[List, InputCore]":
|
|
58
|
+
init_config_tool = self.devops_platform_gateway.get_remote_config(
|
|
59
|
+
dict_args["remote_config_repo"], "engine_dast/ConfigTool.json"
|
|
60
|
+
)
|
|
61
|
+
|
|
62
|
+
exclusions = self.devops_platform_gateway.get_remote_config(
|
|
63
|
+
dict_args["remote_config_repo"],
|
|
64
|
+
"engine_dast/Exclusions.json"
|
|
65
|
+
)
|
|
66
|
+
|
|
67
|
+
agent_work_folder = self.devops_platform_gateway.get_variable("path_directory")
|
|
68
|
+
|
|
69
|
+
config_tool, data_target = self.complete_config_tool(
|
|
70
|
+
data_file_tool=init_config_tool,
|
|
71
|
+
exclusions=exclusions,
|
|
72
|
+
tool=config_tool["TOOL"],
|
|
73
|
+
)
|
|
74
|
+
|
|
75
|
+
finding_list, path_file_results = self.tool_gateway.run_tool(
|
|
76
|
+
target_data=data_target,
|
|
77
|
+
config_tool=config_tool,
|
|
78
|
+
secret_tool=secret_tool,
|
|
79
|
+
secret_external_checks=dict_args["token_external_checks"],
|
|
80
|
+
agent_work_folder=agent_work_folder
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
#Here execute other tools and append to finding list
|
|
84
|
+
if len(self.other_tools) > 0:
|
|
85
|
+
for i in range(len(self.other_tools)):
|
|
86
|
+
extra_config_tool, data_target = self.complete_config_tool(
|
|
87
|
+
data_file_tool=init_config_tool,
|
|
88
|
+
exclusions=exclusions,
|
|
89
|
+
tool=self.other_tools[i].TOOL
|
|
90
|
+
)
|
|
91
|
+
extra_finding_list = self.other_tools[i].run_tool(
|
|
92
|
+
target_data=data_target,
|
|
93
|
+
config_tool=extra_config_tool
|
|
94
|
+
)
|
|
95
|
+
if len(extra_finding_list) > 0:
|
|
96
|
+
finding_list.extend(extra_finding_list)
|
|
97
|
+
|
|
98
|
+
totalized_exclusions = []
|
|
99
|
+
(
|
|
100
|
+
totalized_exclusions.extend(
|
|
101
|
+
map(
|
|
102
|
+
lambda elem: Exclusions(**elem), config_tool.get("EXCLUSIONS_ALL")
|
|
103
|
+
)
|
|
104
|
+
)
|
|
105
|
+
if config_tool.get("EXCLUSIONS_ALL") is not None
|
|
106
|
+
else None
|
|
107
|
+
)
|
|
108
|
+
(
|
|
109
|
+
totalized_exclusions.extend(
|
|
110
|
+
map(
|
|
111
|
+
lambda elem: Exclusions(**elem),
|
|
112
|
+
config_tool.get("EXCLUSIONS_SCOPE"),
|
|
113
|
+
)
|
|
114
|
+
)
|
|
115
|
+
if config_tool.get("EXCLUSIONS_SCOPE") is not None
|
|
116
|
+
else None
|
|
117
|
+
)
|
|
118
|
+
|
|
119
|
+
input_core = InputCore(
|
|
120
|
+
totalized_exclusions=totalized_exclusions,
|
|
121
|
+
threshold_defined=Threshold(config_tool.get("THRESHOLD")),
|
|
122
|
+
path_file_results=path_file_results,
|
|
123
|
+
custom_message_break_build=config_tool.get("MESSAGE_INFO_DAST"),
|
|
124
|
+
scope_pipeline=config_tool.get("SCOPE_PIPELINE"),
|
|
125
|
+
stage_pipeline=self.devops_platform_gateway.get_variable("stage"),
|
|
126
|
+
)
|
|
127
|
+
|
|
128
|
+
return finding_list, input_core
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
from typing import List
|
|
2
|
+
import os
|
|
3
|
+
from ruamel.yaml import YAML
|
|
4
|
+
from json import dumps as json_dumps
|
|
5
|
+
|
|
6
|
+
class NucleiConfig:
|
|
7
|
+
def __init__(self, target_config):
|
|
8
|
+
self.url: str = target_config.endpoint
|
|
9
|
+
self.target_type: str = target_config.target_type.lower()
|
|
10
|
+
self.custom_templates_dir: str = ""
|
|
11
|
+
self.output_file: str = "result_dast_scan.json"
|
|
12
|
+
self.yaml = YAML()
|
|
13
|
+
if self.target_type == "api":
|
|
14
|
+
self.data: List = target_config.operations
|
|
15
|
+
elif self.target_type == "wa":
|
|
16
|
+
self.data: dict = target_config.data
|
|
17
|
+
else:
|
|
18
|
+
raise ValueError("ERROR: The objective is not an api or web application type")
|
|
19
|
+
|
|
20
|
+
def process_template_file(
|
|
21
|
+
self,
|
|
22
|
+
dest_folder: str,
|
|
23
|
+
template_name: str,
|
|
24
|
+
new_template_data: dict,
|
|
25
|
+
template_counter: int,
|
|
26
|
+
) -> None:
|
|
27
|
+
new_template_name: str = "nuclei_template_" + str(template_counter) + ".yaml"
|
|
28
|
+
with open(template_name, "r") as template_file: # abrir archivo
|
|
29
|
+
template_data = self.yaml.load(template_file)
|
|
30
|
+
if "http" in template_data:
|
|
31
|
+
template_data["http"][0]["method"] = new_template_data["operation"]["method"]
|
|
32
|
+
template_data["http"][0]["path"] = [
|
|
33
|
+
"{{BaseURL}}" + new_template_data["operation"]["path"]
|
|
34
|
+
]
|
|
35
|
+
if "headers" in template_data.get("http", [{}])[0]:
|
|
36
|
+
template_data["http"][0]["headers"] = new_template_data["operation"]["headers"]
|
|
37
|
+
if "payload" in new_template_data["operation"]:
|
|
38
|
+
body = json_dumps(new_template_data["operation"]["payload"])
|
|
39
|
+
template_data["http"][0]["body"] = body
|
|
40
|
+
|
|
41
|
+
new_template_path = os.path.join(dest_folder, new_template_name)
|
|
42
|
+
|
|
43
|
+
with open(new_template_path, "w") as nf:
|
|
44
|
+
self.yaml.dump(template_data, nf)
|
|
45
|
+
|
|
46
|
+
def process_templates_folder(self, base_folder: str) -> None:
|
|
47
|
+
if not os.path.exists(self.custom_templates_dir):
|
|
48
|
+
os.makedirs(self.custom_templates_dir)
|
|
49
|
+
|
|
50
|
+
t_counter = 0
|
|
51
|
+
for operation in self.data:
|
|
52
|
+
operation.authenticate() #Api Authentication
|
|
53
|
+
for root, _, files in os.walk(f"{base_folder}{os.sep}rules{os.sep}nuclei"):
|
|
54
|
+
for file in files:
|
|
55
|
+
if file.endswith(".yaml"):
|
|
56
|
+
self.process_template_file(
|
|
57
|
+
dest_folder=self.custom_templates_dir,
|
|
58
|
+
template_name=os.path.join(root, file),
|
|
59
|
+
new_template_data=operation.data,
|
|
60
|
+
template_counter=t_counter,
|
|
61
|
+
)
|
|
62
|
+
t_counter += 1
|
|
63
|
+
|
|
64
|
+
def customize_templates(self, directory: str) -> None:
|
|
65
|
+
if self.target_type == "api":
|
|
66
|
+
self.custom_templates_dir = f"{directory}{os.sep}customized-nuclei-templates"
|
|
67
|
+
self.process_templates_folder(
|
|
68
|
+
base_folder=directory
|
|
69
|
+
)
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
from dataclasses import (
|
|
2
|
+
dataclass,
|
|
3
|
+
)
|
|
4
|
+
from datetime import (
|
|
5
|
+
datetime,
|
|
6
|
+
)
|
|
7
|
+
from devsecops_engine_tools.engine_core.src.domain.model.finding import (
|
|
8
|
+
Category,
|
|
9
|
+
Finding,
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@dataclass
|
|
14
|
+
class NucleiDesealizator:
|
|
15
|
+
@classmethod
|
|
16
|
+
def get_list_finding(
|
|
17
|
+
cls,
|
|
18
|
+
results_scan_list: "list[dict]",
|
|
19
|
+
) -> "list[Finding]":
|
|
20
|
+
list_open_findings = []
|
|
21
|
+
if len(results_scan_list) > 0:
|
|
22
|
+
for scan in results_scan_list:
|
|
23
|
+
finding_open = Finding(
|
|
24
|
+
id=scan.get("template-id"),
|
|
25
|
+
cvss=scan["info"].get("classification", {}).get("cvss-score", ""),
|
|
26
|
+
where=scan.get("matched-at"),
|
|
27
|
+
description=scan["info"].get("description"),
|
|
28
|
+
severity=scan["info"].get("severity").lower() if scan["info"].get("severity").lower() != "info" else "low",
|
|
29
|
+
identification_date=datetime.now().strftime("%d%m%Y"),
|
|
30
|
+
module="engine_dast",
|
|
31
|
+
category=Category("vulnerability"),
|
|
32
|
+
requirements=scan["info"].get("remediation"),
|
|
33
|
+
tool="Nuclei",
|
|
34
|
+
published_date_cve=None
|
|
35
|
+
)
|
|
36
|
+
list_open_findings.append(finding_open)
|
|
37
|
+
|
|
38
|
+
return list_open_findings
|
|
39
|
+
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import subprocess
|
|
3
|
+
import json
|
|
4
|
+
import platform
|
|
5
|
+
import requests
|
|
6
|
+
import shutil
|
|
7
|
+
from devsecops_engine_tools.engine_dast.src.domain.model.gateways.tool_gateway import (
|
|
8
|
+
ToolGateway,
|
|
9
|
+
)
|
|
10
|
+
from devsecops_engine_tools.engine_dast.src.infrastructure.driven_adapters.nuclei.nuclei_config import (
|
|
11
|
+
NucleiConfig,
|
|
12
|
+
)
|
|
13
|
+
from devsecops_engine_tools.engine_dast.src.infrastructure.driven_adapters.nuclei.nuclei_deserealizer import (
|
|
14
|
+
NucleiDesealizator,
|
|
15
|
+
)
|
|
16
|
+
from devsecops_engine_tools.engine_utilities.utils.utils import Utils
|
|
17
|
+
from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
|
|
18
|
+
from devsecops_engine_tools.engine_utilities import settings
|
|
19
|
+
from devsecops_engine_tools.engine_utilities.utils.utils import Utils
|
|
20
|
+
|
|
21
|
+
logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class NucleiTool(ToolGateway):
|
|
25
|
+
|
|
26
|
+
"""A class that wraps the nuclei scanner functionality"""
|
|
27
|
+
|
|
28
|
+
def __init__(self, target_config=None, data_config_cli=None):
|
|
29
|
+
"""Initialize the class with the data from the config file and the cli"""
|
|
30
|
+
self.target_config = target_config
|
|
31
|
+
self.data_config_cli = data_config_cli
|
|
32
|
+
self.TOOL: str = "NUCLEI"
|
|
33
|
+
|
|
34
|
+
def download_tool(self, version):
|
|
35
|
+
try:
|
|
36
|
+
base_url = f"https://github.com/projectdiscovery/nuclei/releases/download/v{version}/"
|
|
37
|
+
os_type = platform.system().lower()
|
|
38
|
+
|
|
39
|
+
os_types = {"darwin": "macOS", "linux": "linux", "windows": "windows"}
|
|
40
|
+
if os_type in os_types:
|
|
41
|
+
curr_os = os_types[os_type]
|
|
42
|
+
else:
|
|
43
|
+
raise Exception(f"Error [101]: {os_type} is an unsupported OS type!")
|
|
44
|
+
|
|
45
|
+
file_name = f"nuclei_{version}_{curr_os}_amd64.zip"
|
|
46
|
+
url = f"{base_url}{file_name}"
|
|
47
|
+
|
|
48
|
+
response = requests.get(url, allow_redirects=True)
|
|
49
|
+
if response.status_code != 200:
|
|
50
|
+
raise Exception(f"Error [102]: Failed to download Nuclei version {version}. HTTP status code: {response.status_code}")
|
|
51
|
+
|
|
52
|
+
home_directory = os.path.expanduser("~")
|
|
53
|
+
zip_name = os.path.join(home_directory, file_name)
|
|
54
|
+
with open(zip_name, "wb") as f:
|
|
55
|
+
f.write(response.content)
|
|
56
|
+
|
|
57
|
+
Utils().unzip_file(zip_name, home_directory)
|
|
58
|
+
return 0
|
|
59
|
+
except Exception as e:
|
|
60
|
+
logger.error(f"Error [103]: An exception occurred during download: {e}")
|
|
61
|
+
return e
|
|
62
|
+
|
|
63
|
+
def install_tool(self, version):
|
|
64
|
+
try:
|
|
65
|
+
nuclei_path = shutil.which("nuclei")
|
|
66
|
+
|
|
67
|
+
if not nuclei_path:
|
|
68
|
+
download_result = self.download_tool(version)
|
|
69
|
+
if download_result != 0:
|
|
70
|
+
raise Exception(f"Error [104]: Download failed with error: {download_result}")
|
|
71
|
+
|
|
72
|
+
os_type = platform.system().lower()
|
|
73
|
+
home_directory = os.path.expanduser("~")
|
|
74
|
+
|
|
75
|
+
if nuclei_path:
|
|
76
|
+
executable_path = nuclei_path
|
|
77
|
+
elif os_type == "windows":
|
|
78
|
+
executable_path = os.path.join(home_directory, "nuclei.exe")
|
|
79
|
+
else:
|
|
80
|
+
executable_path = os.path.join(home_directory, "nuclei")
|
|
81
|
+
|
|
82
|
+
if os_type == "darwin" or os_type == "linux":
|
|
83
|
+
subprocess.run(["chmod", "+x", executable_path], check=True)
|
|
84
|
+
return {"status": 201, "path": executable_path} # Installation successful
|
|
85
|
+
elif os_type == "windows":
|
|
86
|
+
return {"status": 202, "path":executable_path}
|
|
87
|
+
else:
|
|
88
|
+
raise Exception(f"Error [105]: {os_type} is an unsupported OS type!")
|
|
89
|
+
|
|
90
|
+
except subprocess.CalledProcessError as e:
|
|
91
|
+
logger.error(f"Error [106]: Command execution failed: {e}")
|
|
92
|
+
return {"status": 106}
|
|
93
|
+
except Exception as e:
|
|
94
|
+
logger.error(f"Error [107]: An exception occurred during installation: {e}")
|
|
95
|
+
return {"status": 107}
|
|
96
|
+
|
|
97
|
+
def execute(self, command_prefix: str, target_config: NucleiConfig) -> dict:
|
|
98
|
+
"""Interact with nuclei's core application"""
|
|
99
|
+
|
|
100
|
+
command = (
|
|
101
|
+
command_prefix
|
|
102
|
+
+ " -u " # target URLs/hosts to scan
|
|
103
|
+
+ target_config.url
|
|
104
|
+
+ (f" -ud {target_config.custom_templates_dir}" if target_config.custom_templates_dir else "")
|
|
105
|
+
+ " -ni " # disable interactsh server
|
|
106
|
+
+ "-dc " # disable clustering of requests
|
|
107
|
+
+ "-tags " # Excute only templates with the especified tag
|
|
108
|
+
+ target_config.target_type
|
|
109
|
+
+ " -je " # file to export results in JSON format
|
|
110
|
+
+ str(target_config.output_file)
|
|
111
|
+
+ " -sr"
|
|
112
|
+
)
|
|
113
|
+
|
|
114
|
+
if command is not None:
|
|
115
|
+
result = subprocess.run(
|
|
116
|
+
command,
|
|
117
|
+
shell=True,
|
|
118
|
+
capture_output=True,
|
|
119
|
+
)
|
|
120
|
+
error = result.stderr.decode().strip() if result.stderr else ""
|
|
121
|
+
if result.returncode != 0:
|
|
122
|
+
raise Exception(f"Error executing nuclei: {error}")
|
|
123
|
+
with open(target_config.output_file, "r") as f:
|
|
124
|
+
json_response = json.load(f)
|
|
125
|
+
return json_response
|
|
126
|
+
|
|
127
|
+
def run_tool(self,
|
|
128
|
+
target_data,
|
|
129
|
+
config_tool,
|
|
130
|
+
secret_tool,
|
|
131
|
+
secret_external_checks,
|
|
132
|
+
agent_work_folder
|
|
133
|
+
):
|
|
134
|
+
result_install = self.install_tool(config_tool[self.TOOL]["VERSION"])
|
|
135
|
+
if result_install["status"] < 200:
|
|
136
|
+
return [], None
|
|
137
|
+
|
|
138
|
+
nuclei_config = NucleiConfig(target_data)
|
|
139
|
+
if config_tool[self.TOOL]["ENABLE_CUSTOM_RULES"]:
|
|
140
|
+
Utils().configurate_external_checks(self.TOOL, config_tool, secret_tool, secret_external_checks, agent_work_folder)
|
|
141
|
+
nuclei_config.customize_templates(agent_work_folder)
|
|
142
|
+
|
|
143
|
+
result_scans = self.execute(result_install["path"], nuclei_config)
|
|
144
|
+
findings_list = NucleiDesealizator().get_list_finding(result_scans)
|
|
145
|
+
return findings_list, nuclei_config.output_file
|