devsecops-engine-tools 1.7.29__tar.gz → 1.7.31__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of devsecops-engine-tools might be problematic. Click here for more details.
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/PKG-INFO +57 -2
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py +2 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/github_actions.py +5 -4
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sast/engine_iac/src/applications/runner_iac_scan.py +4 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/config_tool.py +10 -0
- devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_deserealizator.py +57 -0
- devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_tool.py +140 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/github/models/GithubPredefinedVariables.py +1 -1
- devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_utilities/utils/__init__.py +0 -0
- devsecops_engine_tools-1.7.31/devsecops_engine_tools/version.py +1 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools.egg-info/PKG-INFO +57 -2
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools.egg-info/SOURCES.txt +3 -0
- devsecops_engine_tools-1.7.29/devsecops_engine_tools/version.py +0 -1
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/README.md +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/applications/runner_engine_core.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/domain/model/customs_exceptions.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/domain/model/exclusions.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/domain/model/finding.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/domain/model/gateway/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/domain/model/gateway/devops_platform_gateway.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/domain/model/gateway/metrics_manager_gateway.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/domain/model/gateway/printer_table_gateway.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/domain/model/gateway/secrets_manager_gateway.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/domain/model/gateway/vulnerability_management_gateway.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/domain/model/input_core.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/domain/model/level_compliance.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/domain/model/level_vulnerability.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/domain/model/report.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/domain/model/threshold.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/domain/model/vulnerability_management.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/domain/usecases/break_build.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/domain/usecases/handle_risk.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/domain/usecases/handle_scan.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/domain/usecases/metrics_manager.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/s3_manager.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/secrets_manager.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/azure_devops.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/printer_pretty_table.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/runtime_local.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/entry_point_core.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/aws.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/util.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_dast/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_dast/src/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_dast/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_dast/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_dast/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_dast/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_dast/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_dast/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_dast/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_dast/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_dast/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_risk/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_risk/src/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_risk/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_risk/src/applications/runner_engine_risk.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_risk/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_risk/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_risk/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_risk/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_risk/src/domain/model/gateways/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_risk/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_risk/src/domain/usecases/break_build.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_risk/src/domain/usecases/handle_filters.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_risk/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/entry_point_risk.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_risk/src/infrastructure/helpers/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sast/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sast/engine_iac/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sast/engine_iac/src/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sast/engine_iac/src/applications/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/iac_scan.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_config.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_deserealizator.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_tool.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_deserealizator.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_tool.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/entry_point_tool.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sast/engine_secret → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/file_generator_tool.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sast/engine_secret/src → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sast/engine_secret}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sast/engine_secret/src/applications → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sast/engine_secret/src}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sast/engine_secret/src/deployment → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sast/engine_secret/src/applications}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sast/engine_secret/src/applications/runner_secret_scan.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/infrastructure → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sast/engine_secret/src/deployment}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sast/engine_secret/src/domain → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sast/engine_secret/src/domain}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/DeserializeConfigTool.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/gateway_deserealizator.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/git_gateway.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/secret_scan.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/set_input_core.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/git_cli → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/git_cli}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/git_cli/git_run.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_deserealizator.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_run.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sca → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/entry_point_tool.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sca/engine_container → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sca}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sca/engine_container/src → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sca/engine_container}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sca/engine_container/src/applications → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sca/engine_container/src}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sca/engine_container/src/deployment → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sca/engine_container/src/applications}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sca/engine_container/src/applications/runner_container_scan.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sca/engine_container/src/deployment/infrastructure → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sca/engine_container/src/deployment}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sca/engine_container/src/domain → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sca/engine_container/src/deployment/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sca/engine_container/src/domain/model → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sca/engine_container/src/domain}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sca/engine_container/src/domain/model}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/deserealizator_gateway.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/images_gateway.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/container_sca_scan.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/handle_remote_config_patterns.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/set_input_core.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/docker_images.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_cloud_manager_scan.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_deserialize_output.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_deserialize_output.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_manager_scan.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/helpers → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/entry_point_tool.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sca/engine_dependencies → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/helpers}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sca/engine_dependencies/src → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sca/engine_dependencies}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sca/engine_dependencies/src}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/runner_dependencies_scan.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/infrastructure → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/deserializator_gateway.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/tool_gateway.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/dependencies_sca_scan.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/find_artifacts.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/handle_remote_config_patterns.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/set_input_core.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_deserialize_output.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_manager_scan.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/entry_point_tool.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_utilities → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_utilities/azuredevops → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_utilities}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_utilities/azuredevops}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_utilities/azuredevops/models → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure/azure_devops_api.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzureMessageLoggingPipeline.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzurePredefinedVariables.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_utilities/defect_dojo/applications → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_utilities/azuredevops/models}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/defect_dojo/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_utilities/defect_dojo/domain → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_utilities/defect_dojo/applications}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/connect.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/defect_dojo.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/finding.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_utilities/defect_dojo/domain}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/cmdb.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/engagement.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/finding.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_list.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type_list.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/scan_configuration.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/finding.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/import_scan.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/finding.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/import_scan.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/cmdb.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/finding.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/import_scan.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/defect_dojo/hello_world.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/cmdb.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/engagement.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/finding.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/import_scan.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product_type.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/scan_configurations.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/repository → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/settings.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_utilities/github → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/repository}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_utilities/github/infrastructure → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_utilities/github}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_utilities/github/models → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_utilities/github/infrastructure}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/github/infrastructure/github_api.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_utilities/input_validations → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_utilities/github/models}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_utilities/ssh → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_utilities/input_validations}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/input_validations/env_utils.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/input_validations/validate_input_with_regex_letters_number_and_only.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/settings.py +0 -0
- {devsecops_engine_tools-1.7.29/devsecops_engine_tools/engine_utilities/utils → devsecops_engine_tools-1.7.31/devsecops_engine_tools/engine_utilities/ssh}/__init__.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/ssh/managment_private_key.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/utils/api_error.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/utils/dataclass_classmethod.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/utils/datetime_parsing.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/utils/logger_info.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/utils/name_conversion.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/utils/printers.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/engine_utilities/utils/session_manager.py +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools.egg-info/dependency_links.txt +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools.egg-info/entry_points.txt +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools.egg-info/requires.txt +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools.egg-info/top_level.txt +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/setup.cfg +0 -0
- {devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: devsecops-engine-tools
|
|
3
|
-
Version: 1.7.
|
|
3
|
+
Version: 1.7.31
|
|
4
4
|
Summary: Tool for DevSecOps strategy
|
|
5
5
|
Home-page: https://github.com/bancolombia/devsecops-engine-tools
|
|
6
6
|
Author: Bancolombia DevSecOps Team
|
|
@@ -98,13 +98,17 @@ devsecops-engine-tools --platform_devops ["local","azure","github"] --remote_con
|
|
|
98
98
|
<th>Type</th>
|
|
99
99
|
</tr>
|
|
100
100
|
<tr>
|
|
101
|
-
<td rowspan="
|
|
101
|
+
<td rowspan="3">ENGINE_IAC</td>
|
|
102
102
|
<td><a href="https://www.checkov.io/">CHECKOV</a></td>
|
|
103
103
|
<td>Free</td>
|
|
104
104
|
</tr>
|
|
105
105
|
<tr>
|
|
106
106
|
<td><a href="https://kubescape.io/">KUBESCAPE</a></td>
|
|
107
107
|
<td>Free</td>
|
|
108
|
+
</tr>
|
|
109
|
+
<tr>
|
|
110
|
+
<td><a href="https://www.kics.io/">KICS</a></td>
|
|
111
|
+
<td>Free</td>
|
|
108
112
|
</tr>
|
|
109
113
|
<tr>
|
|
110
114
|
<td>ENGINE_DAST</td>
|
|
@@ -150,6 +154,57 @@ devsecops-engine-tools --platform_devops local --remote_config_repo DevSecOps_Re
|
|
|
150
154
|
|
|
151
155
|

|
|
152
156
|
|
|
157
|
+
### Scan running sample - Github Actions
|
|
158
|
+
|
|
159
|
+
The remote config should be in a GitHub repository, either public or private.
|
|
160
|
+
|
|
161
|
+
**If the repository is public:**
|
|
162
|
+
|
|
163
|
+
1. The yml file containing the workflow should be configured using the default secret **GITHUB_TOKEN**.
|
|
164
|
+
For more information, refer to [Automatic token authentication](https://docs.github.com/en/actions/security-guides/automatic-token-authentication).
|
|
165
|
+
|
|
166
|
+
**If the repository is private:**
|
|
167
|
+
|
|
168
|
+
1. Create a personal access token with the necessary permissions to access the repository.
|
|
169
|
+
2. Add the token as a secret in the GitHub repository.
|
|
170
|
+

|
|
171
|
+
|
|
172
|
+
3. Configure the yml file containing the workflow using the created secret.
|
|
173
|
+
|
|
174
|
+
**Example of the workflow yml:**
|
|
175
|
+
|
|
176
|
+
```yaml
|
|
177
|
+
name: DevSecOps Engine Tools
|
|
178
|
+
on:
|
|
179
|
+
push:
|
|
180
|
+
branches:
|
|
181
|
+
- feature/*
|
|
182
|
+
env:
|
|
183
|
+
GITHUB_ACCESS_TOKEN: ${{ secrets.GH_ACCESSTOKEN }} #In this case, the remote config repository is private
|
|
184
|
+
# When the remote config repository is public, the secret should be like this: ${{ secrets.GITHUB_TOKEN }}
|
|
185
|
+
|
|
186
|
+
jobs:
|
|
187
|
+
release:
|
|
188
|
+
runs-on: ubuntu-latest
|
|
189
|
+
steps:
|
|
190
|
+
- uses: actions/checkout@v4
|
|
191
|
+
|
|
192
|
+
- name: Set up Python
|
|
193
|
+
uses: actions/setup-python@v5
|
|
194
|
+
with:
|
|
195
|
+
python-version: "3.12"
|
|
196
|
+
|
|
197
|
+
- name: Set up Python
|
|
198
|
+
run: |
|
|
199
|
+
# Install devsecops-engine-tools
|
|
200
|
+
pip3 install -q devsecops-engine-tools
|
|
201
|
+
output=$(devsecops-engine-tools --platform_devops github --remote_config_repo remote_config --tool engine_iac)
|
|
202
|
+
echo "$output"
|
|
203
|
+
if [[ $output == *"✘Failed"* ]]; then
|
|
204
|
+
exit 1
|
|
205
|
+
fi
|
|
206
|
+
```
|
|
207
|
+
|
|
153
208
|
# Metrics
|
|
154
209
|
|
|
155
210
|
With the flag **--send_metrics true** and the configuration of the AWS-METRICS_MANAGER driven adapter in ConfigTool.json of the engine_core the tool will send the report to bucket s3. In the [metrics](https://github.com/bancolombia/devsecops-engine-tools/blob/trunk/metrics/) folder you will find the base of the cloud formation template to deploy the infra and dashboard in grafana.
|
|
@@ -11,12 +11,12 @@ from devsecops_engine_tools.engine_utilities.github.models.GithubPredefinedVaria
|
|
|
11
11
|
from devsecops_engine_tools.engine_utilities.github.infrastructure.github_api import (
|
|
12
12
|
GithubApi,
|
|
13
13
|
)
|
|
14
|
-
import os
|
|
15
14
|
|
|
16
15
|
|
|
17
16
|
@dataclass
|
|
18
17
|
class GithubActions(DevopsPlatformGateway):
|
|
19
18
|
OKGREEN = "\033[92m"
|
|
19
|
+
WARNING = "\033[93m"
|
|
20
20
|
FAIL = "\033[91m"
|
|
21
21
|
ENDC = "\033[0m"
|
|
22
22
|
ICON_FAIL = "\u2718"
|
|
@@ -49,7 +49,8 @@ class GithubActions(DevopsPlatformGateway):
|
|
|
49
49
|
def result_pipeline(self, type):
|
|
50
50
|
results = {
|
|
51
51
|
"failed": f"{self.FAIL}{self.ICON_FAIL}Failed{self.ENDC}",
|
|
52
|
-
"succeeded": f"{self.OKGREEN}{self.ICON_SUCCESS}Succeeded{self.ENDC}"
|
|
52
|
+
"succeeded": f"{self.OKGREEN}{self.ICON_SUCCESS}Succeeded{self.ENDC}",
|
|
53
|
+
"succeeded_with_issues": f"{self.WARNING}{self.ICON_SUCCESS}Succeeded with issues{self.ENDC}"
|
|
53
54
|
}
|
|
54
55
|
return results.get(type)
|
|
55
56
|
|
|
@@ -77,10 +78,10 @@ class GithubActions(DevopsPlatformGateway):
|
|
|
77
78
|
"repository": BuildVariables.github_repository,
|
|
78
79
|
"pipeline_name": (
|
|
79
80
|
BuildVariables.github_workflow
|
|
80
|
-
if SystemVariables.
|
|
81
|
+
if SystemVariables.github_job.value() == "build"
|
|
81
82
|
else ReleaseVariables.github_workflow
|
|
82
83
|
),
|
|
83
|
-
"stage": SystemVariables.
|
|
84
|
+
"stage": SystemVariables.github_job,
|
|
84
85
|
"path_directory": SystemVariables.github_workspace,
|
|
85
86
|
"os": AgentVariables.runner_os,
|
|
86
87
|
"work_folder": AgentVariables.github_workspace,
|
|
@@ -7,6 +7,9 @@ from devsecops_engine_tools.engine_sast.engine_iac.src.infrastructure.driven_ada
|
|
|
7
7
|
from devsecops_engine_tools.engine_sast.engine_iac.src.infrastructure.driven_adapters.kubescape.kubescape_tool import (
|
|
8
8
|
KubescapeTool
|
|
9
9
|
)
|
|
10
|
+
from devsecops_engine_tools.engine_sast.engine_iac.src.infrastructure.driven_adapters.kics.kics_tool import (
|
|
11
|
+
KicsTool
|
|
12
|
+
)
|
|
10
13
|
|
|
11
14
|
|
|
12
15
|
def runner_engine_iac(dict_args, tool, secret_tool, devops_platform_gateway, env):
|
|
@@ -17,6 +20,7 @@ def runner_engine_iac(dict_args, tool, secret_tool, devops_platform_gateway, env
|
|
|
17
20
|
tools = {
|
|
18
21
|
"CHECKOV": CheckovTool(),
|
|
19
22
|
"KUBESCAPE": KubescapeTool(),
|
|
23
|
+
"KICS": KicsTool()
|
|
20
24
|
}
|
|
21
25
|
|
|
22
26
|
if tool in tools:
|
|
@@ -21,3 +21,13 @@ class ConfigTool:
|
|
|
21
21
|
self.exclusions_all = None
|
|
22
22
|
self.exclusions_scope = None
|
|
23
23
|
self.rules_all = {}
|
|
24
|
+
if "KICS_LINUX" in json_data[tool]:
|
|
25
|
+
self.kics_linux = json_data[tool]["KICS_LINUX"]
|
|
26
|
+
if "KICS_WINDOWS" in json_data[tool]:
|
|
27
|
+
self.kics_windows = json_data[tool]["KICS_WINDOWS"]
|
|
28
|
+
if "KICS_MAC" in json_data[tool]:
|
|
29
|
+
self.kics_mac = json_data[tool]["KICS_MAC"]
|
|
30
|
+
if "PATH_KICS" in json_data[tool]:
|
|
31
|
+
self.path_kics = json_data[tool]["PATH_KICS"]
|
|
32
|
+
if "DOWNLOAD_KICS_ASSETS" in json_data[tool]:
|
|
33
|
+
self.download_kics_assets = json_data[tool]["DOWNLOAD_KICS_ASSETS"]
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
from devsecops_engine_tools.engine_core.src.domain.model.finding import (
|
|
2
|
+
Category,
|
|
3
|
+
Finding,
|
|
4
|
+
)
|
|
5
|
+
from datetime import datetime
|
|
6
|
+
from dataclasses import dataclass
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
@dataclass
|
|
10
|
+
class KicsDeserealizator:
|
|
11
|
+
def get_list_finding(self, results_scan_list: list) -> "list[Finding]":
|
|
12
|
+
list_open_findings = []
|
|
13
|
+
|
|
14
|
+
for result in results_scan_list:
|
|
15
|
+
finding_open = Finding(
|
|
16
|
+
id=result.get("id"),
|
|
17
|
+
cvss=None,
|
|
18
|
+
where=result.get("file_name"),
|
|
19
|
+
description=result.get("description"),
|
|
20
|
+
severity=result.get("severity").lower(),
|
|
21
|
+
identification_date=datetime.now().strftime("%d%m%Y"),
|
|
22
|
+
published_date_cve=None,
|
|
23
|
+
module="engine_iac",
|
|
24
|
+
category=Category.VULNERABILITY,
|
|
25
|
+
requirements=None,
|
|
26
|
+
tool="Kics"
|
|
27
|
+
)
|
|
28
|
+
list_open_findings.append(finding_open)
|
|
29
|
+
|
|
30
|
+
return list_open_findings
|
|
31
|
+
|
|
32
|
+
def get_findings(self, data):
|
|
33
|
+
filtered_results = []
|
|
34
|
+
for query in data.get("queries", []):
|
|
35
|
+
severity = query.get("severity", "").upper()
|
|
36
|
+
if severity in {"LOW", "MEDIUM", "HIGH", "CRITICAL"}:
|
|
37
|
+
description = query.get("query_name", "")
|
|
38
|
+
query_id = query.get("query_id", "")
|
|
39
|
+
for file in query.get("files", []):
|
|
40
|
+
file_name = file.get("file_name", "")
|
|
41
|
+
filtered_results.append({
|
|
42
|
+
"severity": severity,
|
|
43
|
+
"description": description,
|
|
44
|
+
"file_name": file_name,
|
|
45
|
+
"id": query_id
|
|
46
|
+
})
|
|
47
|
+
return filtered_results
|
|
48
|
+
|
|
49
|
+
def calculate_total_vulnerabilities(self, data):
|
|
50
|
+
severity_counters = data.get("severity_counters", {})
|
|
51
|
+
|
|
52
|
+
critical = severity_counters.get("CRITICAL", 0)
|
|
53
|
+
high = severity_counters.get("HIGH", 0)
|
|
54
|
+
medium = severity_counters.get("MEDIUM", 0)
|
|
55
|
+
low = severity_counters.get("LOW", 0)
|
|
56
|
+
|
|
57
|
+
return critical + high + medium + low
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import subprocess
|
|
2
|
+
import json
|
|
3
|
+
import platform
|
|
4
|
+
import requests
|
|
5
|
+
import os
|
|
6
|
+
from devsecops_engine_tools.engine_sast.engine_iac.src.domain.model.gateways.tool_gateway import (
|
|
7
|
+
ToolGateway,
|
|
8
|
+
)
|
|
9
|
+
from devsecops_engine_tools.engine_sast.engine_iac.src.domain.model.config_tool import (
|
|
10
|
+
ConfigTool,
|
|
11
|
+
)
|
|
12
|
+
from devsecops_engine_tools.engine_sast.engine_iac.src.infrastructure.driven_adapters.kics.kics_deserealizator import (
|
|
13
|
+
KicsDeserealizator
|
|
14
|
+
)
|
|
15
|
+
from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
|
|
16
|
+
from devsecops_engine_tools.engine_utilities import settings
|
|
17
|
+
from devsecops_engine_tools.engine_utilities.github.infrastructure.github_api import GithubApi
|
|
18
|
+
|
|
19
|
+
logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class KicsTool(ToolGateway):
|
|
23
|
+
|
|
24
|
+
def download(self, file, url):
|
|
25
|
+
try:
|
|
26
|
+
response = requests.get(url)
|
|
27
|
+
with open(file, "wb") as f:
|
|
28
|
+
f.write(response.content)
|
|
29
|
+
except Exception as ex:
|
|
30
|
+
logger.error(f"An error ocurred downloading {file} {ex}")
|
|
31
|
+
|
|
32
|
+
def install_tool(self, file, url, command_prefix):
|
|
33
|
+
github_api = GithubApi()
|
|
34
|
+
kics = f"./{command_prefix}/kics"
|
|
35
|
+
installed = subprocess.run(
|
|
36
|
+
["which", command_prefix],
|
|
37
|
+
stdout=subprocess.PIPE,
|
|
38
|
+
stderr=subprocess.PIPE,
|
|
39
|
+
)
|
|
40
|
+
if installed.returncode == 1:
|
|
41
|
+
try:
|
|
42
|
+
self.download(file, url)
|
|
43
|
+
github_api.unzip_file(file, command_prefix)
|
|
44
|
+
subprocess.run(["chmod", "+x", kics])
|
|
45
|
+
return kics
|
|
46
|
+
except Exception as e:
|
|
47
|
+
logger.error(f"Error installing KICS: {e}")
|
|
48
|
+
else:
|
|
49
|
+
return command_prefix
|
|
50
|
+
|
|
51
|
+
def install_tool_windows(self, file, url, command_prefix):
|
|
52
|
+
try:
|
|
53
|
+
subprocess.run(
|
|
54
|
+
[command_prefix, "version"],
|
|
55
|
+
stdout=subprocess.PIPE,
|
|
56
|
+
stderr=subprocess.PIPE,
|
|
57
|
+
)
|
|
58
|
+
return command_prefix
|
|
59
|
+
except:
|
|
60
|
+
try:
|
|
61
|
+
github_api = GithubApi()
|
|
62
|
+
self.download(file, url)
|
|
63
|
+
github_api.unzip_file(file, command_prefix)
|
|
64
|
+
return f"./{command_prefix}/kics"
|
|
65
|
+
|
|
66
|
+
except Exception as e:
|
|
67
|
+
logger.error(f"Error installing KICS: {e}")
|
|
68
|
+
|
|
69
|
+
def execute_kics(self, folders_to_scan, prefix):
|
|
70
|
+
folders = ','.join(folders_to_scan)
|
|
71
|
+
command = [prefix, "scan", "-p", folders, "-q", "./kics_assets/assets", "--report-formats", "json", "-o", "./"]
|
|
72
|
+
try:
|
|
73
|
+
subprocess.run(command, capture_output=True)
|
|
74
|
+
except subprocess.CalledProcessError as e:
|
|
75
|
+
logger.error(f"Error during KICS execution: {e}")
|
|
76
|
+
|
|
77
|
+
def load_results(self):
|
|
78
|
+
try:
|
|
79
|
+
with open('results.json') as f:
|
|
80
|
+
data = json.load(f)
|
|
81
|
+
return data
|
|
82
|
+
except Exception as ex:
|
|
83
|
+
logger.error(f"An error ocurred loading KICS results {ex}")
|
|
84
|
+
return None
|
|
85
|
+
|
|
86
|
+
def select_operative_system(self, os_platform, folders_to_scan, config_tool: ConfigTool, path_kics):
|
|
87
|
+
command_prefix = path_kics
|
|
88
|
+
if os_platform == "Linux":
|
|
89
|
+
kics_zip = "kics_linux.zip"
|
|
90
|
+
url_kics = config_tool.kics_linux
|
|
91
|
+
command_prefix = self.install_tool(kics_zip, url_kics, command_prefix)
|
|
92
|
+
elif os_platform == "Windows":
|
|
93
|
+
kics_zip = "kics_windows.zip"
|
|
94
|
+
url_kics = config_tool.kics_windows
|
|
95
|
+
command_prefix = self.install_tool_windows(kics_zip, url_kics, command_prefix)
|
|
96
|
+
elif os_platform == "Darwin":
|
|
97
|
+
kics_zip = "kics_macos.zip"
|
|
98
|
+
url_kics = config_tool.kics_mac
|
|
99
|
+
command_prefix = self.install_tool(kics_zip, url_kics, command_prefix)
|
|
100
|
+
else:
|
|
101
|
+
logger.warning(f"{os_platform} is not supported.")
|
|
102
|
+
return [], None
|
|
103
|
+
|
|
104
|
+
self.execute_kics(folders_to_scan, command_prefix)
|
|
105
|
+
|
|
106
|
+
def get_assets(self, kics_version):
|
|
107
|
+
name_zip = "assets_compressed.zip"
|
|
108
|
+
assets_url = f"https://github.com/Checkmarx/kics/releases/download/v{kics_version}/extracted-info.zip"
|
|
109
|
+
self.download(name_zip, assets_url)
|
|
110
|
+
|
|
111
|
+
directory_assets = "kics_assets"
|
|
112
|
+
github_api = GithubApi()
|
|
113
|
+
github_api.unzip_file(name_zip, directory_assets)
|
|
114
|
+
|
|
115
|
+
def run_tool(
|
|
116
|
+
self, config_tool: ConfigTool, folders_to_scan, environment, platform_to_scan, secret_tool
|
|
117
|
+
):
|
|
118
|
+
kics_version = config_tool.version
|
|
119
|
+
path_kics = config_tool.path_kics
|
|
120
|
+
download_kics_assets = config_tool.download_kics_assets
|
|
121
|
+
if download_kics_assets:
|
|
122
|
+
self.get_assets(kics_version)
|
|
123
|
+
|
|
124
|
+
os_platform = platform.system()
|
|
125
|
+
self.select_operative_system(os_platform, folders_to_scan, config_tool, path_kics)
|
|
126
|
+
|
|
127
|
+
data = self.load_results()
|
|
128
|
+
if data:
|
|
129
|
+
kics_deserealizator = KicsDeserealizator()
|
|
130
|
+
total_vulnerabilities = kics_deserealizator.calculate_total_vulnerabilities(data)
|
|
131
|
+
path_file = os.path.abspath("results.json")
|
|
132
|
+
|
|
133
|
+
if total_vulnerabilities == 0:
|
|
134
|
+
return [], path_file
|
|
135
|
+
|
|
136
|
+
filtered_results = kics_deserealizator.get_findings(data)
|
|
137
|
+
finding_list = kics_deserealizator.get_list_finding(filtered_results)
|
|
138
|
+
|
|
139
|
+
return finding_list, path_file
|
|
140
|
+
return [], None
|
|
@@ -24,7 +24,7 @@ class BaseEnum(Enum):
|
|
|
24
24
|
class SystemVariables(BaseEnum):
|
|
25
25
|
github_access_token = "github.access.token"
|
|
26
26
|
github_workspace = "github.workspace"
|
|
27
|
-
|
|
27
|
+
github_job = "github.job"
|
|
28
28
|
github_server_url = "github.server.url"
|
|
29
29
|
github_repository = "github.repository"
|
|
30
30
|
github_event_number = "github.event.number"
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
version = '1.7.31'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: devsecops-engine-tools
|
|
3
|
-
Version: 1.7.
|
|
3
|
+
Version: 1.7.31
|
|
4
4
|
Summary: Tool for DevSecOps strategy
|
|
5
5
|
Home-page: https://github.com/bancolombia/devsecops-engine-tools
|
|
6
6
|
Author: Bancolombia DevSecOps Team
|
|
@@ -98,13 +98,17 @@ devsecops-engine-tools --platform_devops ["local","azure","github"] --remote_con
|
|
|
98
98
|
<th>Type</th>
|
|
99
99
|
</tr>
|
|
100
100
|
<tr>
|
|
101
|
-
<td rowspan="
|
|
101
|
+
<td rowspan="3">ENGINE_IAC</td>
|
|
102
102
|
<td><a href="https://www.checkov.io/">CHECKOV</a></td>
|
|
103
103
|
<td>Free</td>
|
|
104
104
|
</tr>
|
|
105
105
|
<tr>
|
|
106
106
|
<td><a href="https://kubescape.io/">KUBESCAPE</a></td>
|
|
107
107
|
<td>Free</td>
|
|
108
|
+
</tr>
|
|
109
|
+
<tr>
|
|
110
|
+
<td><a href="https://www.kics.io/">KICS</a></td>
|
|
111
|
+
<td>Free</td>
|
|
108
112
|
</tr>
|
|
109
113
|
<tr>
|
|
110
114
|
<td>ENGINE_DAST</td>
|
|
@@ -150,6 +154,57 @@ devsecops-engine-tools --platform_devops local --remote_config_repo DevSecOps_Re
|
|
|
150
154
|
|
|
151
155
|

|
|
152
156
|
|
|
157
|
+
### Scan running sample - Github Actions
|
|
158
|
+
|
|
159
|
+
The remote config should be in a GitHub repository, either public or private.
|
|
160
|
+
|
|
161
|
+
**If the repository is public:**
|
|
162
|
+
|
|
163
|
+
1. The yml file containing the workflow should be configured using the default secret **GITHUB_TOKEN**.
|
|
164
|
+
For more information, refer to [Automatic token authentication](https://docs.github.com/en/actions/security-guides/automatic-token-authentication).
|
|
165
|
+
|
|
166
|
+
**If the repository is private:**
|
|
167
|
+
|
|
168
|
+
1. Create a personal access token with the necessary permissions to access the repository.
|
|
169
|
+
2. Add the token as a secret in the GitHub repository.
|
|
170
|
+

|
|
171
|
+
|
|
172
|
+
3. Configure the yml file containing the workflow using the created secret.
|
|
173
|
+
|
|
174
|
+
**Example of the workflow yml:**
|
|
175
|
+
|
|
176
|
+
```yaml
|
|
177
|
+
name: DevSecOps Engine Tools
|
|
178
|
+
on:
|
|
179
|
+
push:
|
|
180
|
+
branches:
|
|
181
|
+
- feature/*
|
|
182
|
+
env:
|
|
183
|
+
GITHUB_ACCESS_TOKEN: ${{ secrets.GH_ACCESSTOKEN }} #In this case, the remote config repository is private
|
|
184
|
+
# When the remote config repository is public, the secret should be like this: ${{ secrets.GITHUB_TOKEN }}
|
|
185
|
+
|
|
186
|
+
jobs:
|
|
187
|
+
release:
|
|
188
|
+
runs-on: ubuntu-latest
|
|
189
|
+
steps:
|
|
190
|
+
- uses: actions/checkout@v4
|
|
191
|
+
|
|
192
|
+
- name: Set up Python
|
|
193
|
+
uses: actions/setup-python@v5
|
|
194
|
+
with:
|
|
195
|
+
python-version: "3.12"
|
|
196
|
+
|
|
197
|
+
- name: Set up Python
|
|
198
|
+
run: |
|
|
199
|
+
# Install devsecops-engine-tools
|
|
200
|
+
pip3 install -q devsecops-engine-tools
|
|
201
|
+
output=$(devsecops-engine-tools --platform_devops github --remote_config_repo remote_config --tool engine_iac)
|
|
202
|
+
echo "$output"
|
|
203
|
+
if [[ $output == *"✘Failed"* ]]; then
|
|
204
|
+
exit 1
|
|
205
|
+
fi
|
|
206
|
+
```
|
|
207
|
+
|
|
153
208
|
# Metrics
|
|
154
209
|
|
|
155
210
|
With the flag **--send_metrics true** and the configuration of the AWS-METRICS_MANAGER driven adapter in ConfigTool.json of the engine_core the tool will send the report to bucket s3. In the [metrics](https://github.com/bancolombia/devsecops-engine-tools/blob/trunk/metrics/) folder you will find the base of the cloud formation template to deploy the infra and dashboard in grafana.
|
|
@@ -105,6 +105,9 @@ devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters
|
|
|
105
105
|
devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_config.py
|
|
106
106
|
devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_deserealizator.py
|
|
107
107
|
devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_tool.py
|
|
108
|
+
devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/__init__.py
|
|
109
|
+
devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_deserealizator.py
|
|
110
|
+
devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_tool.py
|
|
108
111
|
devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/__init__.py
|
|
109
112
|
devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_deserealizator.py
|
|
110
113
|
devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_tool.py
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
version = '1.7.29'
|
|
File without changes
|
{devsecops_engine_tools-1.7.29 → devsecops_engine_tools-1.7.31}/devsecops_engine_tools/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|