devsecops-engine-tools 1.6.7__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.6.7/PKG-INFO +156 -0
- devsecops_engine_tools-1.6.7/README.md +89 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/applications/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/applications/runner_engine_core.py +124 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/deployment/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/deployment/infrastructure/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/domain/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/domain/model/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/domain/model/customs_exceptions.py +9 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/domain/model/exclusions.py +14 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/domain/model/finding.py +20 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/domain/model/gateway/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/domain/model/gateway/devops_platform_gateway.py +27 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/domain/model/gateway/metrics_manager_gateway.py +7 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/domain/model/gateway/printer_table_gateway.py +13 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/domain/model/gateway/secrets_manager_gateway.py +7 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/domain/model/gateway/vulnerability_management_gateway.py +17 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/domain/model/input_core.py +12 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/domain/model/level_compliance.py +3 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/domain/model/level_vulnerability.py +7 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/domain/model/threshold.py +12 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/domain/model/vulnerability_management.py +20 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/domain/usecases/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/domain/usecases/break_build.py +375 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/domain/usecases/handle_scan.py +148 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/domain/usecases/metrics_manager.py +59 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/infrastructure/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/s3_manager.py +52 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/secrets_manager.py +40 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/azure_devops.py +103 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py +215 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/printer_pretty_table.py +84 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/runtime_local.py +71 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/entry_point_core.py +50 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/infrastructure/helpers/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/infrastructure/helpers/aws.py +9 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/infrastructure/helpers/util.py +15 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_dast/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_dast/src/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_dast/src/applications/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_dast/src/deployment/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_dast/src/deployment/infrastructure/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_dast/src/domain/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_dast/src/domain/model/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_dast/src/domain/usecases/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_dast/src/infrastructure/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_dast/src/infrastructure/entry_points/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_dast/src/infrastructure/helpers/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_iac/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_iac/src/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_iac/src/applications/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_iac/src/applications/runner_iac_scan.py +30 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/infrastructure/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_iac/src/domain/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/config_tool.py +24 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/tool_gateway.py +6 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/iac_scan.py +130 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_config.py +135 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_deserealizator.py +35 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_tool.py +195 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/entry_point_tool.py +6 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/file_generator_tool.py +74 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_secret/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_secret/src/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_secret/src/applications/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_secret/src/applications/runner_secret_scan.py +34 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/infrastructure/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_secret/src/domain/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/DeserializeConfigTool.py +11 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/gateway_deserealizator.py +11 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/git_gateway.py +15 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/tool_gateway.py +16 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/secret_scan.py +72 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/set_input_core.py +73 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/git_cli/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/git_cli/git_run.py +60 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_deserealizator.py +39 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_run.py +104 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/entry_point_tool.py +11 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_container/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_container/src/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_container/src/applications/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_container/src/applications/runner_container_scan.py +45 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_container/src/deployment/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_container/src/deployment/infrastructure/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_container/src/domain/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/deserealizator_gateway.py +8 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/images_gateway.py +7 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/tool_gateway.py +7 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/container_sca_scan.py +82 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/handle_remote_config_patterns.py +67 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/set_input_core.py +76 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/docker_images.py +22 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_cloud_manager_scan.py +123 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_deserialize_output.py +62 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_deserialize_output.py +48 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_manager_scan.py +114 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/entry_point_tool.py +40 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/helpers/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/helpers/images_scanned.py +16 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_dependencies/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_dependencies/src/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/runner_dependencies_scan.py +32 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/infrastructure/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/deserializator_gateway.py +8 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/tool_gateway.py +9 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/dependencies_sca_scan.py +44 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/find_artifacts.py +95 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/find_mono_repos.py +29 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/handle_remote_config_patterns.py +90 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/set_input_core.py +65 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_deserialize_output.py +57 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_manager_scan.py +154 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/entry_point_tool.py +83 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/azuredevops/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure/azure_devops_api.py +67 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/azuredevops/models/AzureMessageLoggingPipeline.py +21 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/azuredevops/models/AzurePredefinedVariables.py +65 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/azuredevops/models/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/__init__.py +5 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/applications/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/applications/connect.py +37 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/applications/defect_dojo.py +40 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/applications/finding.py +40 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/domain/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/cmdb.py +11 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/engagement.py +55 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/finding.py +96 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product.py +35 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_list.py +12 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type.py +16 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type_list.py +13 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/scan_configuration.py +21 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/finding.py +95 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/import_scan.py +125 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/finding.py +100 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/import_scan.py +223 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/cmdb.py +59 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/finding.py +38 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/import_scan.py +133 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/hello_world.py +2 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/cmdb.py +55 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/engagement.py +55 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/finding.py +37 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/import_scan.py +115 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product.py +50 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product_type.py +59 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/scan_configurations.py +65 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/settings.py +1 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/repository/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/github/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/github/infrastructure/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/github/infrastructure/github_api.py +49 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/github/models/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/input_validations/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/input_validations/env_utils.py +10 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/input_validations/validate_input_with_regex_letters_number_and_only.py +8 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/settings.py +38 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/ssh/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/ssh/managment_private_key.py +67 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/utils/__init__.py +0 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/utils/api_error.py +14 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/utils/dataclass_classmethod.py +84 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/utils/datetime_parsing.py +10 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/utils/logger_info.py +109 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/utils/name_conversion.py +12 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/utils/printers.py +21 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_utilities/utils/session_manager.py +14 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools/version.py +1 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools.egg-info/PKG-INFO +156 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools.egg-info/SOURCES.txt +234 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools.egg-info/dependency_links.txt +1 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools.egg-info/entry_points.txt +2 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools.egg-info/requires.txt +13 -0
- devsecops_engine_tools-1.6.7/devsecops_engine_tools.egg-info/top_level.txt +1 -0
- devsecops_engine_tools-1.6.7/setup.cfg +4 -0
- devsecops_engine_tools-1.6.7/setup.py +46 -0
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: devsecops-engine-tools
|
|
3
|
+
Version: 1.6.7
|
|
4
|
+
Summary: Tool for DevSecOps strategy
|
|
5
|
+
Home-page: https://github.com/bancolombia/devsecops-engine-tools
|
|
6
|
+
Author: Bancolombia DevSecOps Team
|
|
7
|
+
Author-email: devsecops@bancolombia.com.co
|
|
8
|
+
Classifier: Programming Language :: Python :: 3
|
|
9
|
+
Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
|
|
10
|
+
Classifier: Operating System :: OS Independent
|
|
11
|
+
Requires-Python: >=3.8
|
|
12
|
+
Description-Content-Type: text/markdown
|
|
13
|
+
Requires-Dist: requests==2.31.0
|
|
14
|
+
Requires-Dist: multipledispatch==0.6.0
|
|
15
|
+
Requires-Dist: PyYAML==6.0.1
|
|
16
|
+
Requires-Dist: checkov==2.3.296
|
|
17
|
+
Requires-Dist: pyfiglet==0.7
|
|
18
|
+
Requires-Dist: prettytable==3.8.0
|
|
19
|
+
Requires-Dist: azure-devops==7.1.0b3
|
|
20
|
+
Requires-Dist: marshmallow==3.19.0
|
|
21
|
+
Requires-Dist: pytz==2023.3
|
|
22
|
+
Requires-Dist: python-decouple==3.8
|
|
23
|
+
Requires-Dist: requests_toolbelt==1.0.0
|
|
24
|
+
Requires-Dist: python-dateutil==2.8.2
|
|
25
|
+
Requires-Dist: pexpect==4.9.0
|
|
26
|
+
|
|
27
|
+
# DevSecOps Engine Tools
|
|
28
|
+
|
|
29
|
+
[](#)
|
|
30
|
+
[](https://github.com/bancolombia/devsecops-engine-tools/actions/workflows/build.yml)
|
|
31
|
+
[](#)
|
|
32
|
+
|
|
33
|
+
# Objective
|
|
34
|
+
|
|
35
|
+
Tool that unifies the evaluation of the different devsecops practices being agnostic to the devops platform, using both open source and market tools.
|
|
36
|
+
|
|
37
|
+
# Component
|
|
38
|
+
|
|
39
|
+
📦 [tools](https://github.com/bancolombia/devsecops-engine-tools/tree/trunk/tools): DevSecOps Practice Modules
|
|
40
|
+
|
|
41
|
+
# Communications channel
|
|
42
|
+
|
|
43
|
+
Here are the channels we use to communicate about the project:
|
|
44
|
+
|
|
45
|
+
**1. Mailing list:** You can join our mailing list to always be informed at the following link: [CommunityDevsecopsEngine](https://groups.google.com/g/CommunityDevsecopsEngine)
|
|
46
|
+
|
|
47
|
+
**2. Email:** You can write to us by email: MaintainersDevsecopsEngine@googlegroups.com
|
|
48
|
+
|
|
49
|
+
# Getting started
|
|
50
|
+
|
|
51
|
+
### Requirements
|
|
52
|
+
|
|
53
|
+
- Python >= 3.8
|
|
54
|
+
|
|
55
|
+
### Installation
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
pip3 install devsecops-engine-tools
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Scan running - flags (CLI)
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
devsecops-engine-tools --platform_devops ["local","azure"] --remote_config_repo ["remote_config_repo"] --tool ["engine_iac", "engine_dast", "engine_secret", "engine_dependencies", "engine_container"] --folder_path ["Folder path scan engine_iac"] --platform ["eks","openshift"] --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"]
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Structure Remote Config
|
|
68
|
+
[example_remote_config_local](https://github.com/bancolombia/devsecops-engine-tools/blob/trunk/example_remote_config_local/)
|
|
69
|
+
```bash
|
|
70
|
+
📦Remote_Config
|
|
71
|
+
┣ 📂engine_core
|
|
72
|
+
┃ ┗ 📜ConfigTool.json
|
|
73
|
+
┣ 📂engine_sast
|
|
74
|
+
┃ ┗ 📂engine_iac
|
|
75
|
+
┃ ┗ 📜ConfigTool.json
|
|
76
|
+
┃ ┗ 📜Exclusions.json
|
|
77
|
+
┃ ┗ 📂engine_secret
|
|
78
|
+
┃ ┗ 📜ConfigTool.json
|
|
79
|
+
┣ 📂engine_sca
|
|
80
|
+
┃ ┗ 📂engine_container
|
|
81
|
+
┃ ┗ 📜ConfigTool.json
|
|
82
|
+
┃ ┗ 📜Exclusions.json
|
|
83
|
+
┃ ┗ 📂engine_dependencies
|
|
84
|
+
┃ ┗ 📜ConfigTool.json
|
|
85
|
+
┃ ┗ 📜Exclusions.json
|
|
86
|
+
```
|
|
87
|
+
### Scan running sample (CLI) - Local
|
|
88
|
+
|
|
89
|
+
> Complete the value in **.envdetlocal** file a set in execution environment
|
|
90
|
+
```
|
|
91
|
+
$ set -a
|
|
92
|
+
$ source .envdetlocal
|
|
93
|
+
$ set +a
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
devsecops-engine-tools --platform_devops local --remote_config_repo DevSecOps_Remote_Config --tool engine_iac
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
### Scan result sample (CLI)
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
____ _____ ____ ______ _ ______ __
|
|
105
|
+
/ __ \___ _ __/ ___/___ _____/ __ \____ _____ / ____/___ ____ _(_)___ ___ /_ __/___ ____ / /____
|
|
106
|
+
/ / / / _ \ | / /\__ \/ _ \/ ___/ / / / __ \/ ___/ / __/ / __ \/ __ `/ / __ \/ _ \ / / / __ \/ __ \/ / ___/
|
|
107
|
+
/ /_/ / __/ |/ /___/ / __/ /__/ /_/ / /_/ (__ ) / /___/ / / / /_/ / / / / / __/ / / / /_/ / /_/ / (__ )
|
|
108
|
+
/_____/\___/|___//____/\___/\___/\____/ .___/____/ /_____/_/ /_/\__, /_/_/ /_/\___/ /_/ \____/\____/_/____/
|
|
109
|
+
/_/ /____/
|
|
110
|
+
|
|
111
|
+
Secrets manager is not enabled to configure external checks
|
|
112
|
+
|
|
113
|
+
Below are all vulnerabilities detected.
|
|
114
|
+
╔══════════╦════════════╦════════════════════════════════════════════════════════════════════════════════════╦════════════════════════╗
|
|
115
|
+
║ Severity ║ ID ║ Description ║ Where ║
|
|
116
|
+
╠══════════╬════════════╬════════════════════════════════════════════════════════════════════════════════════╬════════════════════════╣
|
|
117
|
+
║ critical ║ CKV_K8S_37 ║ IAC-CKV_K8S_37 Minimize the admission of containers with capabilities assigned ║ /_AW1234/app.yaml ║
|
|
118
|
+
║ critical ║ CKV_K8S_20 ║ IAC-CKV_K8S_20 Containers should not run with allowPrivilegeEscalation ║ /_AW1234/app.yaml ║
|
|
119
|
+
║ critical ║ CKV_K8S_30 ║ IAC-CKV_K8S_30 Apply security context to your containers ║ /_AW1234/app.yaml ║
|
|
120
|
+
║ critical ║ CKV_K8S_23 ║ IAC-CKV_K8S_23 Minimize the admission of root containers ║ /_AW1234/app.yaml ║
|
|
121
|
+
║ high ║ CKV_AWS_20 ║ C-S3-005-AWS S3 buckets are accessible to public ║ /_AW1234/template.yaml ║
|
|
122
|
+
║ high ║ CKV_K8S_22 ║ IAC-CKV_K8S_22 Use read-only filesystem for containers where possible ║ /_AW1234/app.yaml ║
|
|
123
|
+
║ high ║ CKV_K8S_28 ║ IAC-CKV_K8S_28 Minimize the admission of containers with the NET_RAW capability ║ /_AW1234/app.yaml ║
|
|
124
|
+
║ high ║ CKV_K8S_38 ║ IAC-CKV_K8S_38 Ensure that Service Account Tokens are only mounted where necessary ║ /_AW1234/app.yaml ║
|
|
125
|
+
╚══════════╩════════════╩════════════════════════════════════════════════════════════════════════════════════╩════════════════════════╝
|
|
126
|
+
Security count issues (critical: 4, high: 4, medium: 0, low: 0) is greater than or equal to failure criteria (critical: 1, high: 8, medium: 10, low:15, operator: or)
|
|
127
|
+
✘Failed
|
|
128
|
+
|
|
129
|
+
Below are all compliances issues detected.
|
|
130
|
+
╔══════════╦═══════════╦════════════════════════════════════════════════════╦═══════════════════╗
|
|
131
|
+
║ Severity ║ ID ║ Description ║ Where ║
|
|
132
|
+
╠══════════╬═══════════╬════════════════════════════════════════════════════╬═══════════════════╣
|
|
133
|
+
║ critical ║ CKV_K8S_8 ║ IAC-CKV_K8S_8 Liveness Probe Should be Configured ║ /_AW1234/app.yaml ║
|
|
134
|
+
║ critical ║ CKV_K8S_9 ║ IAC-CKV_K8S_9 Readiness Probe Should be Configured ║ /_AW1234/app.yaml ║
|
|
135
|
+
╚══════════╩═══════════╩════════════════════════════════════════════════════╩═══════════════════╝
|
|
136
|
+
Compliance issues count (critical: 2) is greater than or equal to failure criteria (critical: 1)
|
|
137
|
+
✘Failed
|
|
138
|
+
|
|
139
|
+
Bellow are all the findings that were accepted.
|
|
140
|
+
╔══════════╦════════════╦═══════════════════╦═════════════╦══════════════╦══════════════════╗
|
|
141
|
+
║ Severity ║ ID ║ Where ║ Create Date ║ Expired Date ║ Reason ║
|
|
142
|
+
╠══════════╬════════════╬═══════════════════╬═════════════╬══════════════╬══════════════════╣
|
|
143
|
+
║ high ║ CKV_K8S_38 ║ /_AW1234/app.yaml ║ 18/11/2023 ║ 18/03/2024 ║ False Positive ║
|
|
144
|
+
╚══════════╩════════════╩═══════════════════╩═════════════╩══════════════╩══════════════════╝
|
|
145
|
+
|
|
146
|
+
message custom
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
# How can I help?
|
|
150
|
+
|
|
151
|
+
Review the issues, we hear new ideas. Read more [Contributing](https://github.com/bancolombia/devsecops-engine-tools/blob/trunk/docs/CONTRIBUTING.md)
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# Introduction
|
|
2
|
+
|
|
3
|
+
DevSecOps Practice Modules
|
|
4
|
+
|
|
5
|
+
# Project layout
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
devsecops_engine_tools
|
|
9
|
+
├───engine_core -> Main module.
|
|
10
|
+
| test
|
|
11
|
+
| src
|
|
12
|
+
| applications
|
|
13
|
+
| deployment
|
|
14
|
+
| domain
|
|
15
|
+
| model
|
|
16
|
+
| usecases
|
|
17
|
+
| infraestructure
|
|
18
|
+
| driven_adapters
|
|
19
|
+
| entry_points
|
|
20
|
+
| utils.
|
|
21
|
+
|
|
|
22
|
+
├───engine_dast -> DAST Practice
|
|
23
|
+
| test
|
|
24
|
+
| src
|
|
25
|
+
| applications
|
|
26
|
+
| deployment
|
|
27
|
+
| domain
|
|
28
|
+
| model
|
|
29
|
+
| usecases
|
|
30
|
+
| infraestructure
|
|
31
|
+
| driven_adapters
|
|
32
|
+
| entry_points
|
|
33
|
+
| utils.
|
|
34
|
+
|
|
|
35
|
+
├───engine_sast -> SAST Practices
|
|
36
|
+
| engine_iac -> Infrastructure as code
|
|
37
|
+
| src
|
|
38
|
+
| applications
|
|
39
|
+
| deployment
|
|
40
|
+
| domain
|
|
41
|
+
| model
|
|
42
|
+
| usecases
|
|
43
|
+
| infraestructure
|
|
44
|
+
| driven_adapters
|
|
45
|
+
| entry_points
|
|
46
|
+
| utils.
|
|
47
|
+
| engine_secret -> Secret Scanning
|
|
48
|
+
| src
|
|
49
|
+
| applications
|
|
50
|
+
| deployment
|
|
51
|
+
| domain
|
|
52
|
+
| model
|
|
53
|
+
| usecases
|
|
54
|
+
| infraestructure
|
|
55
|
+
| driven_adapters
|
|
56
|
+
| entry_points
|
|
57
|
+
| utils.
|
|
58
|
+
|
|
|
59
|
+
├───engine_sca -> SCA Practices
|
|
60
|
+
| engine_container -> Container Scanning
|
|
61
|
+
| src
|
|
62
|
+
| applications
|
|
63
|
+
| deployment
|
|
64
|
+
| domain
|
|
65
|
+
| model
|
|
66
|
+
| usecases
|
|
67
|
+
| infraestructure
|
|
68
|
+
| driven_adapters
|
|
69
|
+
| entry_points
|
|
70
|
+
| utils.
|
|
71
|
+
| engine_dependencies -> Dependency Scanning
|
|
72
|
+
| src
|
|
73
|
+
| applications
|
|
74
|
+
| deployment
|
|
75
|
+
| domain
|
|
76
|
+
| model
|
|
77
|
+
| usecases
|
|
78
|
+
| infraestructure
|
|
79
|
+
| driven_adapters
|
|
80
|
+
| entry_points
|
|
81
|
+
| utils.
|
|
82
|
+
├───engine_utilities -> Utilities transversal.
|
|
83
|
+
| azuredevops
|
|
84
|
+
| defect_dojo
|
|
85
|
+
| github
|
|
86
|
+
| input_validations
|
|
87
|
+
| ssh
|
|
88
|
+
| utils
|
|
89
|
+
```
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
from devsecops_engine_tools.engine_core.src.infrastructure.entry_points.entry_point_core import (
|
|
2
|
+
init_engine_core,
|
|
3
|
+
)
|
|
4
|
+
from devsecops_engine_tools.engine_core.src.infrastructure.driven_adapters.defect_dojo.defect_dojo import (
|
|
5
|
+
DefectDojoPlatform,
|
|
6
|
+
)
|
|
7
|
+
from devsecops_engine_tools.engine_core.src.infrastructure.driven_adapters.aws.secrets_manager import (
|
|
8
|
+
SecretsManager,
|
|
9
|
+
)
|
|
10
|
+
from devsecops_engine_tools.engine_core.src.infrastructure.driven_adapters.azure.azure_devops import (
|
|
11
|
+
AzureDevops,
|
|
12
|
+
)
|
|
13
|
+
from devsecops_engine_tools.engine_core.src.infrastructure.driven_adapters.runtime_local.runtime_local import (
|
|
14
|
+
RuntimeLocal,
|
|
15
|
+
)
|
|
16
|
+
from devsecops_engine_tools.engine_core.src.infrastructure.driven_adapters.aws.s3_manager import (
|
|
17
|
+
S3Manager,
|
|
18
|
+
)
|
|
19
|
+
from devsecops_engine_tools.engine_core.src.infrastructure.driven_adapters.printer_pretty_table.printer_pretty_table import (
|
|
20
|
+
PrinterPrettyTable,
|
|
21
|
+
)
|
|
22
|
+
import sys
|
|
23
|
+
import argparse
|
|
24
|
+
from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
|
|
25
|
+
from devsecops_engine_tools.engine_utilities import settings
|
|
26
|
+
from devsecops_engine_tools.version import version
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
|
|
30
|
+
|
|
31
|
+
def get_inputs_from_cli(args):
|
|
32
|
+
parser = argparse.ArgumentParser()
|
|
33
|
+
parser.add_argument("-v", "--version", action='version', version='{version}'.format(version=version))
|
|
34
|
+
parser.add_argument("-pd", "--platform_devops", choices=["azure", "local"], type=str, required=True, help="Platform where is executed")
|
|
35
|
+
parser.add_argument("-rcf" ,"--remote_config_repo", type=str, required=True, help="Name or Folder Path of Config Repo")
|
|
36
|
+
parser.add_argument("-t",
|
|
37
|
+
"--tool",
|
|
38
|
+
choices=[
|
|
39
|
+
"engine_iac",
|
|
40
|
+
"engine_dast",
|
|
41
|
+
"engine_secret",
|
|
42
|
+
"engine_dependencies",
|
|
43
|
+
"engine_container",
|
|
44
|
+
],
|
|
45
|
+
type=str,
|
|
46
|
+
required=True,
|
|
47
|
+
help="Tool to execute",
|
|
48
|
+
)
|
|
49
|
+
parser.add_argument("-fp", "--folder_path", type=str, required=False, help="Folder Path to scan, only apply engine_iac tool")
|
|
50
|
+
parser.add_argument("-p",
|
|
51
|
+
"--platform", choices=["eks", "openshift"], type=str, required=False, help="Platform to execute, only apply engine_iac tool"
|
|
52
|
+
)
|
|
53
|
+
parser.add_argument(
|
|
54
|
+
"--use_secrets_manager",
|
|
55
|
+
choices=["true", "false"],
|
|
56
|
+
type=str,
|
|
57
|
+
required=False,
|
|
58
|
+
help="Use Secrets Manager to get the tokens",
|
|
59
|
+
)
|
|
60
|
+
parser.add_argument(
|
|
61
|
+
"--use_vulnerability_management",
|
|
62
|
+
choices=["true", "false"],
|
|
63
|
+
type=str,
|
|
64
|
+
required=False,
|
|
65
|
+
help="Use Vulnerability Management to send the vulnerabilities to the platform",
|
|
66
|
+
)
|
|
67
|
+
parser.add_argument(
|
|
68
|
+
"--send_metrics",
|
|
69
|
+
choices=["true", "false"],
|
|
70
|
+
type=str,
|
|
71
|
+
required=False,
|
|
72
|
+
help="Enable or Disable the send metrics to the driven adapter metrics",
|
|
73
|
+
)
|
|
74
|
+
parser.add_argument("--token_cmdb", required=False, help="Token to connect to the CMDB")
|
|
75
|
+
parser.add_argument("--token_vulnerability_management", required=False, help="Token to connect to the Vulnerability Management")
|
|
76
|
+
parser.add_argument("--token_engine_container", required=False, help="Token to execute engine_container if is necessary")
|
|
77
|
+
parser.add_argument("--token_engine_dependencies", required=False, help="Token to execute engine_dependencies if is necessary")
|
|
78
|
+
args = parser.parse_args()
|
|
79
|
+
return {
|
|
80
|
+
"platform_devops": args.platform_devops,
|
|
81
|
+
"remote_config_repo": args.remote_config_repo,
|
|
82
|
+
"tool": args.tool,
|
|
83
|
+
"folder_path": args.folder_path,
|
|
84
|
+
"platform": args.platform,
|
|
85
|
+
"use_secrets_manager": args.use_secrets_manager,
|
|
86
|
+
"use_vulnerability_management": args.use_vulnerability_management,
|
|
87
|
+
"send_metrics": args.send_metrics,
|
|
88
|
+
"token_cmdb": args.token_cmdb,
|
|
89
|
+
"token_vulnerability_management": args.token_vulnerability_management,
|
|
90
|
+
"token_engine_container": args.token_engine_container,
|
|
91
|
+
"token_engine_dependencies": args.token_engine_dependencies,
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
def application_core():
|
|
95
|
+
try:
|
|
96
|
+
# Get inputs from CLI
|
|
97
|
+
args = get_inputs_from_cli(sys.argv[1:])
|
|
98
|
+
|
|
99
|
+
# Define driven adapters for gateways
|
|
100
|
+
vulnerability_management_gateway = DefectDojoPlatform()
|
|
101
|
+
secrets_manager_gateway = SecretsManager()
|
|
102
|
+
devops_platform_gateway = AzureDevops() if args["platform_devops"] == "azure" else RuntimeLocal()
|
|
103
|
+
printer_table_gateway = PrinterPrettyTable()
|
|
104
|
+
metrics_manager_gateway = S3Manager()
|
|
105
|
+
|
|
106
|
+
init_engine_core(
|
|
107
|
+
vulnerability_management_gateway,
|
|
108
|
+
secrets_manager_gateway,
|
|
109
|
+
devops_platform_gateway,
|
|
110
|
+
printer_table_gateway,
|
|
111
|
+
metrics_manager_gateway,
|
|
112
|
+
args
|
|
113
|
+
)
|
|
114
|
+
except Exception as e:
|
|
115
|
+
logger.error("Error SCAN: {0} ".format(str(e)))
|
|
116
|
+
print(
|
|
117
|
+
devops_platform_gateway.message(
|
|
118
|
+
"error", "Error SCAN: {0} ".format(str(e))
|
|
119
|
+
)
|
|
120
|
+
)
|
|
121
|
+
print(devops_platform_gateway.result_pipeline("failed"))
|
|
122
|
+
|
|
123
|
+
if __name__ == "__main__":
|
|
124
|
+
application_core()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
class ExceptionVulnerabilityManagement(Exception):
|
|
2
|
+
def __init__(self, message):
|
|
3
|
+
self.message = message
|
|
4
|
+
super().__init__(self.message)
|
|
5
|
+
|
|
6
|
+
class ExceptionFindingsExcepted(Exception):
|
|
7
|
+
def __init__(self, message):
|
|
8
|
+
self.message = message
|
|
9
|
+
super().__init__(self.message)
|
devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/domain/model/exclusions.py
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
from dataclasses import dataclass
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
@dataclass
|
|
5
|
+
class Exclusions:
|
|
6
|
+
def __init__(self, **kwargs):
|
|
7
|
+
self.id = kwargs.get("id", "")
|
|
8
|
+
self.where = kwargs.get("where", "")
|
|
9
|
+
self.cve_id = kwargs.get("cve_id", "")
|
|
10
|
+
self.create_date = kwargs.get("create_date", "")
|
|
11
|
+
self.expired_date = kwargs.get("expired_date", "")
|
|
12
|
+
self.severity = kwargs.get("severity", "")
|
|
13
|
+
self.hu = kwargs.get("hu", "")
|
|
14
|
+
self.reason = kwargs.get("reason", "Risk acceptance")
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
from enum import Enum
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
|
|
4
|
+
class Category(Enum):
|
|
5
|
+
VULNERABILITY = "vulnerability"
|
|
6
|
+
COMPLIANCE = "compliance"
|
|
7
|
+
|
|
8
|
+
@dataclass
|
|
9
|
+
class Finding:
|
|
10
|
+
id: str
|
|
11
|
+
cvss: str
|
|
12
|
+
where: str
|
|
13
|
+
description: str
|
|
14
|
+
severity: str
|
|
15
|
+
identification_date: str
|
|
16
|
+
published_date_cve: str
|
|
17
|
+
module: str
|
|
18
|
+
category: Category
|
|
19
|
+
requirements: str
|
|
20
|
+
tool: str
|
devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/domain/model/gateway/__init__.py
ADDED
|
File without changes
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
from abc import ABCMeta, abstractmethod
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class DevopsPlatformGateway(metaclass=ABCMeta):
|
|
5
|
+
@abstractmethod
|
|
6
|
+
def get_remote_config(self, repository, path):
|
|
7
|
+
"get_remote_config"
|
|
8
|
+
|
|
9
|
+
@abstractmethod
|
|
10
|
+
def message(self, type, message):
|
|
11
|
+
"message"
|
|
12
|
+
|
|
13
|
+
@abstractmethod
|
|
14
|
+
def result_pipeline(self, type):
|
|
15
|
+
"result_pipeline"
|
|
16
|
+
|
|
17
|
+
@abstractmethod
|
|
18
|
+
def get_source_code_management_uri(self):
|
|
19
|
+
"get_source_code_management_uri"
|
|
20
|
+
|
|
21
|
+
@abstractmethod
|
|
22
|
+
def get_base_compact_remote_config_url(self, remote_config_repo):
|
|
23
|
+
"get_base_compact_remote_config_url"
|
|
24
|
+
|
|
25
|
+
@abstractmethod
|
|
26
|
+
def get_variable(self, variable):
|
|
27
|
+
"get_variable"
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
from abc import ABCMeta, abstractmethod
|
|
2
|
+
from devsecops_engine_tools.engine_core.src.domain.model.finding import (
|
|
3
|
+
Finding,
|
|
4
|
+
)
|
|
5
|
+
|
|
6
|
+
class PrinterTableGateway(metaclass=ABCMeta):
|
|
7
|
+
@abstractmethod
|
|
8
|
+
def print_table_findings(self, finding_list: "list[Finding]"):
|
|
9
|
+
"print_table_findings"
|
|
10
|
+
|
|
11
|
+
@abstractmethod
|
|
12
|
+
def print_table_exclusions(self, exclusions_list):
|
|
13
|
+
"print_table_exclusions"
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
from abc import ABCMeta, abstractmethod
|
|
2
|
+
|
|
3
|
+
from devsecops_engine_tools.engine_core.src.domain.model.vulnerability_management import VulnerabilityManagement
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class VulnerabilityManagementGateway(metaclass=ABCMeta):
|
|
7
|
+
@abstractmethod
|
|
8
|
+
def send_vulnerability_management(
|
|
9
|
+
self, vulnerability_management: VulnerabilityManagement
|
|
10
|
+
):
|
|
11
|
+
"send_vulnerability_management"
|
|
12
|
+
|
|
13
|
+
@abstractmethod
|
|
14
|
+
def get_findings_excepted(
|
|
15
|
+
self, service, dict_args, secret_tool, config_tool
|
|
16
|
+
):
|
|
17
|
+
"get_findings_excepted"
|
devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/domain/model/input_core.py
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
from dataclasses import dataclass
|
|
2
|
+
from devsecops_engine_tools.engine_core.src.domain.model.exclusions import Exclusions
|
|
3
|
+
from devsecops_engine_tools.engine_core.src.domain.model.threshold import Threshold
|
|
4
|
+
|
|
5
|
+
@dataclass
|
|
6
|
+
class InputCore:
|
|
7
|
+
totalized_exclusions: "list[Exclusions]"
|
|
8
|
+
threshold_defined: Threshold
|
|
9
|
+
path_file_results: str
|
|
10
|
+
custom_message_break_build: str
|
|
11
|
+
scope_pipeline: str
|
|
12
|
+
stage_pipeline: str
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
from devsecops_engine_tools.engine_core.src.domain.model.level_vulnerability import (
|
|
2
|
+
LevelVulnerability,
|
|
3
|
+
)
|
|
4
|
+
from devsecops_engine_tools.engine_core.src.domain.model.level_compliance import (
|
|
5
|
+
LevelCompliance,
|
|
6
|
+
)
|
|
7
|
+
|
|
8
|
+
class Threshold:
|
|
9
|
+
def __init__(self, data):
|
|
10
|
+
self.vulnerability = LevelVulnerability(data.get("VULNERABILITY"))
|
|
11
|
+
self.compliance = LevelCompliance(data.get("COMPLIANCE"))
|
|
12
|
+
self.cve = data.get("CVE",[])
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
from dataclasses import dataclass
|
|
2
|
+
|
|
3
|
+
from devsecops_engine_tools.engine_core.src.domain.model.input_core import InputCore
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
@dataclass
|
|
7
|
+
class VulnerabilityManagement:
|
|
8
|
+
scan_type: str
|
|
9
|
+
input_core: InputCore
|
|
10
|
+
dict_args: any
|
|
11
|
+
secret_tool: any
|
|
12
|
+
config_tool: any
|
|
13
|
+
source_code_management_uri: str
|
|
14
|
+
base_compact_remote_config_url: str
|
|
15
|
+
access_token: str
|
|
16
|
+
version: str
|
|
17
|
+
build_id: str
|
|
18
|
+
branch_tag: str
|
|
19
|
+
commit_hash: str
|
|
20
|
+
environment: str
|
devsecops_engine_tools-1.6.7/devsecops_engine_tools/engine_core/src/domain/usecases/__init__.py
ADDED
|
File without changes
|