devsecops-engine-tools 1.7.35__tar.gz → 1.7.37__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.

Files changed (265) hide show
  1. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/PKG-INFO +12 -11
  2. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/applications/runner_engine_core.py +6 -0
  3. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/domain/usecases/break_build.py +2 -0
  4. devsecops_engine_tools-1.7.37/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/config_tool.py +14 -0
  5. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/tool_gateway.py +1 -1
  6. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/iac_scan.py +36 -24
  7. devsecops_engine_tools-1.7.37/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_tool.py +298 -0
  8. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_tool.py +9 -11
  9. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_tool.py +2 -5
  10. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/entry_point_tool.py +0 -1
  11. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/docker_images.py +0 -1
  12. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/entry_point_tool.py +0 -2
  13. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure/azure_devops_api.py +0 -1
  14. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/ssh/managment_private_key.py +2 -3
  15. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/utils/printers.py +1 -1
  16. devsecops_engine_tools-1.7.37/devsecops_engine_tools/version.py +1 -0
  17. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools.egg-info/PKG-INFO +12 -11
  18. devsecops_engine_tools-1.7.37/devsecops_engine_tools.egg-info/requires.txt +15 -0
  19. devsecops_engine_tools-1.7.35/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/config_tool.py +0 -34
  20. devsecops_engine_tools-1.7.35/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_tool.py +0 -188
  21. devsecops_engine_tools-1.7.35/devsecops_engine_tools/version.py +0 -1
  22. devsecops_engine_tools-1.7.35/devsecops_engine_tools.egg-info/requires.txt +0 -14
  23. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/README.md +0 -0
  24. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/__init__.py +0 -0
  25. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/__init__.py +0 -0
  26. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/__init__.py +0 -0
  27. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/applications/__init__.py +0 -0
  28. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/deployment/__init__.py +0 -0
  29. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/deployment/infrastructure/__init__.py +0 -0
  30. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/domain/__init__.py +0 -0
  31. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/domain/model/__init__.py +0 -0
  32. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/domain/model/customs_exceptions.py +0 -0
  33. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/domain/model/exclusions.py +0 -0
  34. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/domain/model/finding.py +0 -0
  35. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/domain/model/gateway/__init__.py +0 -0
  36. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/domain/model/gateway/devops_platform_gateway.py +0 -0
  37. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/domain/model/gateway/metrics_manager_gateway.py +0 -0
  38. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/domain/model/gateway/printer_table_gateway.py +0 -0
  39. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/domain/model/gateway/secrets_manager_gateway.py +0 -0
  40. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/domain/model/gateway/vulnerability_management_gateway.py +0 -0
  41. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/domain/model/input_core.py +0 -0
  42. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/domain/model/level_compliance.py +0 -0
  43. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/domain/model/level_vulnerability.py +0 -0
  44. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/domain/model/report.py +0 -0
  45. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/domain/model/threshold.py +0 -0
  46. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/domain/model/vulnerability_management.py +0 -0
  47. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/domain/usecases/__init__.py +0 -0
  48. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/domain/usecases/handle_risk.py +0 -0
  49. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/domain/usecases/handle_scan.py +0 -0
  50. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/domain/usecases/metrics_manager.py +0 -0
  51. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/infrastructure/__init__.py +0 -0
  52. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/__init__.py +0 -0
  53. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/__init__.py +0 -0
  54. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/s3_manager.py +0 -0
  55. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/secrets_manager.py +0 -0
  56. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/__init__.py +0 -0
  57. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/azure_devops.py +0 -0
  58. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/__init__.py +0 -0
  59. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py +0 -0
  60. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/__init__.py +0 -0
  61. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/github_actions.py +0 -0
  62. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/__init__.py +0 -0
  63. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/printer_pretty_table.py +0 -0
  64. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/__init__.py +0 -0
  65. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/runtime_local.py +0 -0
  66. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/__init__.py +0 -0
  67. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/entry_point_core.py +0 -0
  68. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/__init__.py +0 -0
  69. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/aws.py +0 -0
  70. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/util.py +0 -0
  71. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_dast/__init__.py +0 -0
  72. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_dast/src/__init__.py +0 -0
  73. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_dast/src/applications/__init__.py +0 -0
  74. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_dast/src/deployment/__init__.py +0 -0
  75. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_dast/src/deployment/infrastructure/__init__.py +0 -0
  76. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_dast/src/domain/__init__.py +0 -0
  77. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_dast/src/domain/model/__init__.py +0 -0
  78. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_dast/src/domain/usecases/__init__.py +0 -0
  79. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_dast/src/infrastructure/__init__.py +0 -0
  80. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/__init__.py +0 -0
  81. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_dast/src/infrastructure/entry_points/__init__.py +0 -0
  82. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_dast/src/infrastructure/helpers/__init__.py +0 -0
  83. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_risk/__init__.py +0 -0
  84. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_risk/src/__init__.py +0 -0
  85. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_risk/src/applications/__init__.py +0 -0
  86. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_risk/src/applications/runner_engine_risk.py +0 -0
  87. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_risk/src/deployment/__init__.py +0 -0
  88. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_risk/src/deployment/infrastructure/__init__.py +0 -0
  89. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_risk/src/domain/__init__.py +0 -0
  90. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_risk/src/domain/model/__init__.py +0 -0
  91. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_risk/src/domain/model/gateways/__init__.py +0 -0
  92. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_risk/src/domain/usecases/__init__.py +0 -0
  93. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_risk/src/domain/usecases/break_build.py +0 -0
  94. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_risk/src/domain/usecases/handle_filters.py +0 -0
  95. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_risk/src/infrastructure/__init__.py +0 -0
  96. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/__init__.py +0 -0
  97. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/__init__.py +0 -0
  98. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/entry_point_risk.py +0 -0
  99. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_risk/src/infrastructure/helpers/__init__.py +0 -0
  100. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/__init__.py +0 -0
  101. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_iac/__init__.py +0 -0
  102. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_iac/src/__init__.py +0 -0
  103. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_iac/src/applications/__init__.py +0 -0
  104. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_iac/src/applications/runner_iac_scan.py +0 -0
  105. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/__init__.py +0 -0
  106. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/infrastructure/__init__.py +0 -0
  107. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/__init__.py +0 -0
  108. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/__init__.py +0 -0
  109. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/__init__.py +0 -0
  110. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/__init__.py +0 -0
  111. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/__init__.py +0 -0
  112. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/__init__.py +0 -0
  113. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/__init__.py +0 -0
  114. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_config.py +0 -0
  115. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_deserealizator.py +0 -0
  116. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/__init__.py +0 -0
  117. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_deserealizator.py +0 -0
  118. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/__init__.py +0 -0
  119. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_deserealizator.py +0 -0
  120. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/__init__.py +0 -0
  121. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  122. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/__init__.py +0 -0
  123. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/file_generator_tool.py +0 -0
  124. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_secret/__init__.py +0 -0
  125. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_secret/src/__init__.py +0 -0
  126. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_secret/src/applications/__init__.py +0 -0
  127. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_secret/src/applications/runner_secret_scan.py +0 -0
  128. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/__init__.py +0 -0
  129. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/infrastructure/__init__.py +0 -0
  130. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/__init__.py +0 -0
  131. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/DeserializeConfigTool.py +0 -0
  132. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/__init__.py +0 -0
  133. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/__init__.py +0 -0
  134. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/gateway_deserealizator.py +0 -0
  135. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/git_gateway.py +0 -0
  136. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/tool_gateway.py +0 -0
  137. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/__init__.py +0 -0
  138. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/secret_scan.py +0 -0
  139. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/set_input_core.py +0 -0
  140. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/__init__.py +0 -0
  141. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/__init__.py +0 -0
  142. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/git_cli/__init__.py +0 -0
  143. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/git_cli/git_run.py +0 -0
  144. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/__init__.py +0 -0
  145. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_deserealizator.py +0 -0
  146. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_run.py +0 -0
  147. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/__init__.py +0 -0
  148. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/__init__.py +0 -0
  149. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_container/__init__.py +0 -0
  150. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_container/src/__init__.py +0 -0
  151. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_container/src/applications/__init__.py +0 -0
  152. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_container/src/applications/runner_container_scan.py +0 -0
  153. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_container/src/deployment/__init__.py +0 -0
  154. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_container/src/deployment/infrastructure/__init__.py +0 -0
  155. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_container/src/domain/__init__.py +0 -0
  156. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/__init__.py +0 -0
  157. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/__init__.py +0 -0
  158. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/deserealizator_gateway.py +0 -0
  159. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/images_gateway.py +0 -0
  160. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/tool_gateway.py +0 -0
  161. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/__init__.py +0 -0
  162. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/container_sca_scan.py +0 -0
  163. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/handle_remote_config_patterns.py +0 -0
  164. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/set_input_core.py +0 -0
  165. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/__init__.py +0 -0
  166. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/__init__.py +0 -0
  167. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/__init__.py +0 -0
  168. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/__init__.py +0 -0
  169. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_cloud_manager_scan.py +0 -0
  170. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_deserialize_output.py +0 -0
  171. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/__init__.py +0 -0
  172. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_deserialize_output.py +0 -0
  173. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_manager_scan.py +0 -0
  174. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/__init__.py +0 -0
  175. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  176. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/helpers/__init__.py +0 -0
  177. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_dependencies/__init__.py +0 -0
  178. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_dependencies/src/__init__.py +0 -0
  179. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/__init__.py +0 -0
  180. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/runner_dependencies_scan.py +0 -0
  181. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/__init__.py +0 -0
  182. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/infrastructure/__init__.py +0 -0
  183. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/__init__.py +0 -0
  184. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/__init__.py +0 -0
  185. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/__init__.py +0 -0
  186. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/deserializator_gateway.py +0 -0
  187. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/tool_gateway.py +0 -0
  188. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/__init__.py +0 -0
  189. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/dependencies_sca_scan.py +0 -0
  190. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/handle_remote_config_patterns.py +0 -0
  191. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/set_input_core.py +0 -0
  192. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/__init__.py +0 -0
  193. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/__init__.py +0 -0
  194. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/__init__.py +0 -0
  195. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_deserialize_output.py +0 -0
  196. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_manager_scan.py +0 -0
  197. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/__init__.py +0 -0
  198. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/__init__.py +0 -0
  199. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/__init__.py +0 -0
  200. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/azuredevops/__init__.py +0 -0
  201. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure/__init__.py +0 -0
  202. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzureMessageLoggingPipeline.py +0 -0
  203. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzurePredefinedVariables.py +0 -0
  204. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/azuredevops/models/__init__.py +0 -0
  205. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/__init__.py +0 -0
  206. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/__init__.py +0 -0
  207. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/connect.py +0 -0
  208. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/defect_dojo.py +0 -0
  209. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/finding.py +0 -0
  210. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/__init__.py +0 -0
  211. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/__init__.py +0 -0
  212. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/cmdb.py +0 -0
  213. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/engagement.py +0 -0
  214. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/finding.py +0 -0
  215. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product.py +0 -0
  216. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_list.py +0 -0
  217. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type.py +0 -0
  218. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type_list.py +0 -0
  219. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/scan_configuration.py +0 -0
  220. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/__init__.py +0 -0
  221. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/finding.py +0 -0
  222. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/import_scan.py +0 -0
  223. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/__init__.py +0 -0
  224. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/finding.py +0 -0
  225. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/import_scan.py +0 -0
  226. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/__init__.py +0 -0
  227. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/cmdb.py +0 -0
  228. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/finding.py +0 -0
  229. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/import_scan.py +0 -0
  230. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/hello_world.py +0 -0
  231. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/__init__.py +0 -0
  232. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/__init__.py +0 -0
  233. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/cmdb.py +0 -0
  234. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/engagement.py +0 -0
  235. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/finding.py +0 -0
  236. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/import_scan.py +0 -0
  237. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product.py +0 -0
  238. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product_type.py +0 -0
  239. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/scan_configurations.py +0 -0
  240. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/__init__.py +0 -0
  241. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/settings.py +0 -0
  242. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/repository/__init__.py +0 -0
  243. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/github/__init__.py +0 -0
  244. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/github/infrastructure/__init__.py +0 -0
  245. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/github/infrastructure/github_api.py +0 -0
  246. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/github/models/GithubPredefinedVariables.py +0 -0
  247. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/github/models/__init__.py +0 -0
  248. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/input_validations/__init__.py +0 -0
  249. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/input_validations/env_utils.py +0 -0
  250. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/input_validations/validate_input_with_regex_letters_number_and_only.py +0 -0
  251. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/settings.py +0 -0
  252. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/ssh/__init__.py +0 -0
  253. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/utils/__init__.py +0 -0
  254. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/utils/api_error.py +0 -0
  255. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/utils/dataclass_classmethod.py +0 -0
  256. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/utils/datetime_parsing.py +0 -0
  257. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/utils/logger_info.py +0 -0
  258. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/utils/name_conversion.py +0 -0
  259. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools/engine_utilities/utils/session_manager.py +0 -0
  260. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools.egg-info/SOURCES.txt +0 -0
  261. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools.egg-info/dependency_links.txt +0 -0
  262. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools.egg-info/entry_points.txt +0 -0
  263. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/devsecops_engine_tools.egg-info/top_level.txt +0 -0
  264. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/setup.cfg +0 -0
  265. {devsecops_engine_tools-1.7.35 → devsecops_engine_tools-1.7.37}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: devsecops-engine-tools
3
- Version: 1.7.35
3
+ Version: 1.7.37
4
4
  Summary: Tool for DevSecOps strategy
5
5
  Home-page: https://github.com/bancolombia/devsecops-engine-tools
6
6
  Author: Bancolombia DevSecOps Team
@@ -10,20 +10,21 @@ Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or l
10
10
  Classifier: Operating System :: OS Independent
11
11
  Requires-Python: >=3.8
12
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
13
+ Requires-Dist: requests==2.32.3
14
+ Requires-Dist: PyYAML==6.0.2
15
+ Requires-Dist: pyfiglet==0.8.post1
16
+ Requires-Dist: prettytable==3.10.2
17
+ Requires-Dist: azure-devops==7.1.0b4
18
+ Requires-Dist: marshmallow==3.21.3
19
+ Requires-Dist: pytz==2024.1
22
20
  Requires-Dist: python-decouple==3.8
23
21
  Requires-Dist: requests_toolbelt==1.0.0
24
- Requires-Dist: python-dateutil==2.8.2
25
22
  Requires-Dist: pexpect==4.9.0
26
23
  Requires-Dist: PyGithub==2.3.0
24
+ Requires-Dist: distro==1.9.0
25
+ Requires-Dist: boto3==1.34.157
26
+ Requires-Dist: docker==7.1.0
27
+ Requires-Dist: setuptools==72.1.0
27
28
 
28
29
  # DevSecOps Engine Tools
29
30
 
@@ -140,6 +140,11 @@ def get_inputs_from_cli(args):
140
140
  required=False,
141
141
  help="Token to execute engine_dependencies if is necessary. If using xray as engine_dependencies tool, the token is the base64 of artifactory server config that can be obtain from jfrog cli with 'jf config export <ServerID>' command.",
142
142
  )
143
+ parser.add_argument(
144
+ "--token_external_checks",
145
+ required=False,
146
+ help="Token for downloading external checks from engine_iac if is necessary. Ej: github:token, ssh:privatekey:pass",
147
+ )
143
148
  parser.add_argument(
144
149
  "--xray_mode",
145
150
  choices=["scan", "audit"],
@@ -161,6 +166,7 @@ def get_inputs_from_cli(args):
161
166
  "token_vulnerability_management": args.token_vulnerability_management,
162
167
  "token_engine_container": args.token_engine_container,
163
168
  "token_engine_dependencies": args.token_engine_dependencies,
169
+ "token_external_checks": args.token_external_checks,
164
170
  "xray_mode": args.xray_mode,
165
171
  }
166
172
 
@@ -1,3 +1,4 @@
1
+ import sys
1
2
  from dataclasses import dataclass
2
3
  from functools import reduce
3
4
 
@@ -52,6 +53,7 @@ class BreakBuild:
52
53
  )
53
54
 
54
55
  def process(self, findings_list: "list[Finding]", input_core: InputCore, args: any):
56
+ sys.stdout.reconfigure(encoding='utf-8')
55
57
  devops_platform_gateway = self.devops_platform_gateway
56
58
  printer_table_gateway = self.printer_table_gateway
57
59
  threshold = input_core.threshold_defined
@@ -0,0 +1,14 @@
1
+ from devsecops_engine_tools.engine_core.src.domain.model.threshold import Threshold
2
+
3
+
4
+ class ConfigTool:
5
+ def __init__(self, json_data):
6
+ self.search_pattern = json_data["SEARCH_PATTERN"]
7
+ self.ignore_search_pattern = json_data["IGNORE_SEARCH_PATTERN"]
8
+ self.update_service_file_name_cft = json_data["UPDATE_SERVICE_WITH_FILE_NAME_CFT"]
9
+ self.message_info_engine_iac = json_data["MESSAGE_INFO_ENGINE_IAC"]
10
+ self.threshold = Threshold(json_data["THRESHOLD"])
11
+ self.scope_pipeline = ""
12
+ self.exclusions = None
13
+ self.exclusions_all = None
14
+ self.exclusions_scope = None
@@ -2,5 +2,5 @@ from abc import ABCMeta, abstractmethod
2
2
 
3
3
  class ToolGateway(metaclass=ABCMeta):
4
4
  @abstractmethod
5
- def run_tool(self, config_tool, folders_to_scan, environment, platform_to_scan, secret_tool):
5
+ def run_tool(self, config_tool, folders_to_scan, **kwargs):
6
6
  "run_tool"
@@ -10,9 +10,7 @@ from devsecops_engine_tools.engine_sast.engine_iac.src.domain.model.config_tool
10
10
  ConfigTool,
11
11
  )
12
12
  from devsecops_engine_tools.engine_core.src.domain.model.exclusions import Exclusions
13
- from devsecops_engine_tools.engine_core.src.domain.model.input_core import (
14
- InputCore
15
- )
13
+ from devsecops_engine_tools.engine_core.src.domain.model.input_core import InputCore
16
14
  from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
17
15
  from devsecops_engine_tools.engine_utilities import settings
18
16
 
@@ -27,7 +25,7 @@ class IacScan:
27
25
  self.devops_platform_gateway = devops_platform_gateway
28
26
 
29
27
  def process(self, dict_args, secret_tool, tool, env):
30
- init_config_tool = self.devops_platform_gateway.get_remote_config(
28
+ config_tool_iac = self.devops_platform_gateway.get_remote_config(
31
29
  dict_args["remote_config_repo"], "engine_sast/engine_iac/ConfigTool.json"
32
30
  )
33
31
 
@@ -35,19 +33,19 @@ class IacScan:
35
33
  dict_args["remote_config_repo"], "engine_sast/engine_iac/Exclusions.json"
36
34
  )
37
35
 
38
- config_tool, folders_to_scan, skip_tool = self.complete_config_tool(
39
- init_config_tool, exclusions, tool, dict_args
36
+ config_tool_core, folders_to_scan, skip_tool = self.complete_config_tool(
37
+ config_tool_iac, exclusions, tool, dict_args
40
38
  )
41
39
 
42
-
43
40
  findings_list, path_file_results = [], None
44
41
  if skip_tool == "false":
45
42
  findings_list, path_file_results = self.tool_gateway.run_tool(
46
- config_tool,
43
+ config_tool_iac,
47
44
  folders_to_scan,
48
- "pdn" if env not in ["dev","qa","pdn"] else env,
49
- dict_args["platform"],
50
- secret_tool,
45
+ environment="pdn" if env not in ["dev", "qa", "pdn"] else env,
46
+ platform_to_scan=dict_args["platform"],
47
+ secret_tool=secret_tool,
48
+ secret_external_checks=dict_args["token_external_checks"]
51
49
  )
52
50
  else:
53
51
  print(f"Tool skipped by DevSecOps policy")
@@ -56,32 +54,34 @@ class IacScan:
56
54
  totalized_exclusions = []
57
55
  (
58
56
  totalized_exclusions.extend(
59
- map(lambda elem: Exclusions(**elem), config_tool.exclusions_all)
57
+ map(lambda elem: Exclusions(**elem), config_tool_core.exclusions_all)
60
58
  )
61
- if config_tool.exclusions_all is not None
59
+ if config_tool_core.exclusions_all is not None
62
60
  else None
63
61
  )
64
62
  (
65
63
  totalized_exclusions.extend(
66
- map(lambda elem: Exclusions(**elem), config_tool.exclusions_scope)
64
+ map(lambda elem: Exclusions(**elem), config_tool_core.exclusions_scope)
67
65
  )
68
- if config_tool.exclusions_scope is not None
66
+ if config_tool_core.exclusions_scope is not None
69
67
  else None
70
68
  )
71
69
 
72
70
  input_core = InputCore(
73
71
  totalized_exclusions=totalized_exclusions,
74
- threshold_defined=config_tool.threshold,
72
+ threshold_defined=config_tool_core.threshold,
75
73
  path_file_results=path_file_results,
76
- custom_message_break_build=config_tool.message_info_engine_iac,
77
- scope_pipeline=config_tool.scope_pipeline,
78
- stage_pipeline=self.devops_platform_gateway.get_variable("stage").capitalize(),
74
+ custom_message_break_build=config_tool_core.message_info_engine_iac,
75
+ scope_pipeline=config_tool_core.scope_pipeline,
76
+ stage_pipeline=self.devops_platform_gateway.get_variable(
77
+ "stage"
78
+ ).capitalize(),
79
79
  )
80
80
 
81
81
  return findings_list, input_core
82
82
 
83
83
  def complete_config_tool(self, data_file_tool, exclusions, tool, dict_args):
84
- config_tool = ConfigTool(json_data=data_file_tool, tool=tool)
84
+ config_tool = ConfigTool(json_data=data_file_tool)
85
85
  skip_tool = "false"
86
86
 
87
87
  config_tool.exclusions = exclusions
@@ -95,13 +95,25 @@ class IacScan:
95
95
  config_tool.exclusions_scope = config_tool.exclusions.get(
96
96
  config_tool.scope_pipeline
97
97
  ).get(tool)
98
- skip_tool = "true" if config_tool.exclusions.get(config_tool.scope_pipeline).get("SKIP_TOOL") else "false"
99
- if(dict_args["folder_path"]):
100
- if config_tool.update_service_file_name_cft == "True" and "cloudformation" in dict_args["platform"]:
98
+ skip_tool = (
99
+ "true"
100
+ if config_tool.exclusions.get(config_tool.scope_pipeline).get(
101
+ "SKIP_TOOL"
102
+ )
103
+ else "false"
104
+ )
105
+
106
+ if dict_args["folder_path"]:
107
+ if (
108
+ config_tool.update_service_file_name_cft == "True"
109
+ and "cloudformation" in dict_args["platform"]
110
+ ):
101
111
  files = os.listdir(os.path.join(os.getcwd(), dict_args["folder_path"]))
102
112
  if len(files) > 0:
103
113
  name_file, _ = os.path.splitext(files[0])
104
- config_tool.scope_pipeline = f"{config_tool.scope_pipeline}_{name_file}"
114
+ config_tool.scope_pipeline = (
115
+ f"{config_tool.scope_pipeline}_{name_file}"
116
+ )
105
117
 
106
118
  folders_to_scan = [dict_args["folder_path"]]
107
119
  else:
@@ -0,0 +1,298 @@
1
+ import yaml
2
+ import subprocess
3
+ import time
4
+ import os
5
+ import platform
6
+ import queue
7
+ import threading
8
+ import json
9
+ import shutil
10
+ from devsecops_engine_tools.engine_sast.engine_iac.src.domain.model.gateways.tool_gateway import (
11
+ ToolGateway,
12
+ )
13
+ from devsecops_engine_tools.engine_sast.engine_iac.src.infrastructure.driven_adapters.checkov.checkov_deserealizator import (
14
+ CheckovDeserealizator,
15
+ )
16
+ from devsecops_engine_tools.engine_sast.engine_iac.src.infrastructure.driven_adapters.checkov.checkov_config import (
17
+ CheckovConfig,
18
+ )
19
+ from devsecops_engine_tools.engine_sast.engine_iac.src.infrastructure.helpers.file_generator_tool import (
20
+ generate_file_from_tool,
21
+ )
22
+ from devsecops_engine_tools.engine_utilities.github.infrastructure.github_api import (
23
+ GithubApi,
24
+ )
25
+ from devsecops_engine_tools.engine_utilities.ssh.managment_private_key import (
26
+ create_ssh_private_file,
27
+ add_ssh_private_key,
28
+ decode_base64,
29
+ config_knowns_hosts,
30
+ )
31
+ from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
32
+ from devsecops_engine_tools.engine_utilities import settings
33
+
34
+ logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
35
+
36
+
37
+ class CheckovTool(ToolGateway):
38
+ CHECKOV_CONFIG_FILE = "checkov_config.yaml"
39
+ TOOL_CHECKOV = "CHECKOV"
40
+ framework_mapping = {
41
+ "RULES_DOCKER": "dockerfile",
42
+ "RULES_K8S": "kubernetes",
43
+ "RULES_CLOUDFORMATION": "cloudformation",
44
+ "RULES_OPENAPI": "openapi",
45
+ }
46
+ framework_external_checks = [
47
+ "RULES_K8S",
48
+ "RULES_CLOUDFORMATION",
49
+ "RULES_DOCKER",
50
+ "RULES_OPENAPI",
51
+ ]
52
+
53
+ def create_config_file(self, checkov_config: CheckovConfig):
54
+ with open(
55
+ checkov_config.path_config_file
56
+ + checkov_config.config_file_name
57
+ + self.CHECKOV_CONFIG_FILE,
58
+ "w",
59
+ ) as file:
60
+ yaml.dump(checkov_config.dict_confg_file, file)
61
+ file.close()
62
+
63
+ def configurate_external_checks(self, config_tool, secret):
64
+ agent_env = None
65
+ try:
66
+ if secret is None:
67
+ logger.warning("The secret is not configured for external controls")
68
+
69
+ # Create configuration git external checks
70
+ elif config_tool[self.TOOL_CHECKOV][
71
+ "USE_EXTERNAL_CHECKS_GIT"
72
+ ] == "True" and platform.system() in (
73
+ "Linux",
74
+ "Darwin",
75
+ ):
76
+ config_knowns_hosts(
77
+ config_tool[self.TOOL_CHECKOV]["EXTERNAL_GIT_SSH_HOST"],
78
+ config_tool[self.TOOL_CHECKOV][
79
+ "EXTERNAL_GIT_PUBLIC_KEY_FINGERPRINT"
80
+ ],
81
+ )
82
+ ssh_key_content = decode_base64(secret["repository_ssh_private_key"])
83
+ ssh_key_file_path = "/tmp/ssh_key_file"
84
+ create_ssh_private_file(ssh_key_file_path, ssh_key_content)
85
+ ssh_key_password = decode_base64(secret["repository_ssh_password"])
86
+ agent_env = add_ssh_private_key(ssh_key_file_path, ssh_key_password)
87
+
88
+ # Create configuration dir external checks
89
+ elif config_tool[self.TOOL_CHECKOV]["USE_EXTERNAL_CHECKS_DIR"] == "True":
90
+ github_api = GithubApi(secret["github_token"])
91
+ github_api.download_latest_release_assets(
92
+ config_tool[self.TOOL_CHECKOV]["EXTERNAL_DIR_OWNER"],
93
+ config_tool[self.TOOL_CHECKOV]["EXTERNAL_DIR_REPOSITORY"],
94
+ "/tmp",
95
+ )
96
+
97
+ except Exception as ex:
98
+ logger.error(f"An error ocurred configuring external checks {ex}")
99
+ return agent_env
100
+
101
+ def retryable_install_package(self, package: str, version: str) -> bool:
102
+ MAX_RETRIES = 3
103
+ RETRY_DELAY = 1 # in seconds
104
+ INSTALL_SUCCESS_MSG = f"Installation of {package} successful"
105
+ INSTALL_RETRY_MSG = (
106
+ f"Retrying installation of {package} in {RETRY_DELAY} seconds..."
107
+ )
108
+
109
+ installed = subprocess.run(
110
+ ["which", package],
111
+ stdout=subprocess.PIPE,
112
+ stderr=subprocess.PIPE,
113
+ )
114
+
115
+ if installed.returncode == 0:
116
+ return True
117
+
118
+ python_path = shutil.which("python3")
119
+ if python_path is None:
120
+ logger.error("Python3 not found on the system.")
121
+ return False
122
+
123
+ def retry(attempt):
124
+ if attempt < MAX_RETRIES:
125
+ logger.warning(INSTALL_RETRY_MSG)
126
+ time.sleep(RETRY_DELAY)
127
+
128
+ for attempt in range(1, MAX_RETRIES + 1):
129
+ install_cmd = [
130
+ python_path,
131
+ "-m",
132
+ "pip",
133
+ "install",
134
+ "-q",
135
+ f"{package}=={version}",
136
+ "--retries",
137
+ str(MAX_RETRIES),
138
+ "--timeout",
139
+ str(RETRY_DELAY),
140
+ ]
141
+
142
+ try:
143
+ result = subprocess.run(install_cmd, capture_output=True)
144
+ if result.returncode == 0:
145
+ logger.debug(INSTALL_SUCCESS_MSG)
146
+ return True
147
+ except Exception as e:
148
+ logger.error(f"Error during installation: {e}")
149
+
150
+ retry(attempt)
151
+
152
+ return False
153
+
154
+ def execute(self, checkov_config: CheckovConfig):
155
+ command = (
156
+ "checkov --config-file "
157
+ + checkov_config.path_config_file
158
+ + checkov_config.config_file_name
159
+ + self.CHECKOV_CONFIG_FILE
160
+ )
161
+ env_modified = dict(os.environ)
162
+ if checkov_config.env is not None:
163
+ env_modified = {**dict(os.environ), **checkov_config.env}
164
+ result = subprocess.run(
165
+ command, capture_output=True, text=True, shell=True, env=env_modified
166
+ )
167
+ output = result.stdout.strip()
168
+ error = result.stderr.strip()
169
+ return output
170
+
171
+ def async_scan(self, queue, checkov_config: CheckovConfig):
172
+ result = []
173
+ output = self.execute(checkov_config)
174
+ result.append(json.loads(output))
175
+ queue.put(result)
176
+
177
+ def scan_folders(
178
+ self,
179
+ folders_to_scan,
180
+ config_tool,
181
+ agent_env,
182
+ environment,
183
+ platform_to_scan,
184
+ ):
185
+ output_queue = queue.Queue()
186
+ # Crea una lista para almacenar los hilos
187
+ threads = []
188
+ rules_run = {}
189
+ for folder in folders_to_scan:
190
+ for rule in config_tool[self.TOOL_CHECKOV]["RULES"]:
191
+ if "all" in platform_to_scan or any(
192
+ elem.upper() in rule for elem in platform_to_scan
193
+ ):
194
+ checkov_config = CheckovConfig(
195
+ path_config_file="",
196
+ config_file_name=rule,
197
+ framework=self.framework_mapping[rule],
198
+ checks=[
199
+ key
200
+ for key, value in config_tool[self.TOOL_CHECKOV]["RULES"][
201
+ rule
202
+ ].items()
203
+ if value["environment"].get(environment)
204
+ ],
205
+ soft_fail=False,
206
+ directories=folder,
207
+ external_checks_git=(
208
+ [
209
+ f"{config_tool[self.TOOL_CHECKOV]['EXTERNAL_CHECKS_GIT']}/{self.framework_mapping[rule]}"
210
+ ]
211
+ if config_tool[self.TOOL_CHECKOV]["USE_EXTERNAL_CHECKS_GIT"]
212
+ == "True"
213
+ and agent_env is not None
214
+ and rule in self.framework_external_checks
215
+ else []
216
+ ),
217
+ env=agent_env,
218
+ external_checks_dir=(
219
+ f"/tmp/rules/{self.framework_mapping[rule]}"
220
+ if config_tool[self.TOOL_CHECKOV]["USE_EXTERNAL_CHECKS_DIR"]
221
+ == "True"
222
+ and rule in self.framework_external_checks
223
+ else []
224
+ ),
225
+ )
226
+
227
+ checkov_config.create_config_dict()
228
+ self.create_config_file(checkov_config)
229
+ rules_run.update(config_tool[self.TOOL_CHECKOV]["RULES"][rule])
230
+ t = threading.Thread(
231
+ target=self.async_scan,
232
+ args=(output_queue, checkov_config),
233
+ )
234
+ t.start()
235
+ threads.append(t)
236
+ # Espera a que todos los hilos terminen
237
+ for t in threads:
238
+ t.join()
239
+ # Recopila las salidas de las tareas
240
+ result_scans = []
241
+ while not output_queue.empty():
242
+ result = output_queue.get()
243
+ result_scans.extend(result)
244
+ return result_scans, rules_run
245
+
246
+ def run_tool(
247
+ self,
248
+ config_tool,
249
+ folders_to_scan,
250
+ environment,
251
+ platform_to_scan,
252
+ secret_tool,
253
+ secret_external_checks,
254
+ ):
255
+ secret = None
256
+ if secret_tool is not None:
257
+ secret = secret_tool
258
+ elif secret_external_checks is not None:
259
+ secret = {
260
+ "github_token": (
261
+ secret_external_checks.split("github:")[1]
262
+ if "github" in secret_external_checks
263
+ else None
264
+ ),
265
+ "repository_ssh_private_key": (
266
+ secret_external_checks.split("ssh:")[1].split(":")[0]
267
+ if "ssh" in secret_external_checks
268
+ else None
269
+ ),
270
+ "repository_ssh_password": (
271
+ secret_external_checks.split("ssh:")[1].split(":")[1]
272
+ if "ssh" in secret_external_checks
273
+ else None
274
+ ),
275
+ }
276
+
277
+ agent_env = self.configurate_external_checks(config_tool, secret)
278
+
279
+ checkov_install = self.retryable_install_package(
280
+ "checkov", config_tool[self.TOOL_CHECKOV]["VERSION"]
281
+ )
282
+
283
+ if checkov_install:
284
+ result_scans, rules_run = self.scan_folders(
285
+ folders_to_scan, config_tool, agent_env, environment, platform_to_scan
286
+ )
287
+
288
+ checkov_deserealizator = CheckovDeserealizator()
289
+ findings_list = checkov_deserealizator.get_list_finding(
290
+ result_scans, rules_run
291
+ )
292
+
293
+ return (
294
+ findings_list,
295
+ generate_file_from_tool(self.TOOL_CHECKOV, result_scans, rules_run),
296
+ )
297
+ else:
298
+ return [], None
@@ -6,9 +6,6 @@ import os
6
6
  from devsecops_engine_tools.engine_sast.engine_iac.src.domain.model.gateways.tool_gateway import (
7
7
  ToolGateway,
8
8
  )
9
- from devsecops_engine_tools.engine_sast.engine_iac.src.domain.model.config_tool import (
10
- ConfigTool,
11
- )
12
9
  from devsecops_engine_tools.engine_sast.engine_iac.src.infrastructure.driven_adapters.kics.kics_deserealizator import (
13
10
  KicsDeserealizator
14
11
  )
@@ -20,6 +17,7 @@ logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
20
17
 
21
18
 
22
19
  class KicsTool(ToolGateway):
20
+ TOOL_KICS = "KICS"
23
21
 
24
22
  def download(self, file, url):
25
23
  try:
@@ -83,19 +81,19 @@ class KicsTool(ToolGateway):
83
81
  logger.error(f"An error ocurred loading KICS results {ex}")
84
82
  return None
85
83
 
86
- def select_operative_system(self, os_platform, folders_to_scan, config_tool: ConfigTool, path_kics):
84
+ def select_operative_system(self, os_platform, folders_to_scan, config_tool, path_kics):
87
85
  command_prefix = path_kics
88
86
  if os_platform == "Linux":
89
87
  kics_zip = "kics_linux.zip"
90
- url_kics = config_tool.kics_linux
88
+ url_kics = config_tool[self.TOOL_KICS]["KICS_LINUX"]
91
89
  command_prefix = self.install_tool(kics_zip, url_kics, command_prefix)
92
90
  elif os_platform == "Windows":
93
91
  kics_zip = "kics_windows.zip"
94
- url_kics = config_tool.kics_windows
92
+ url_kics = config_tool[self.TOOL_KICS]["KICS_WINDOWS"]
95
93
  command_prefix = self.install_tool_windows(kics_zip, url_kics, command_prefix)
96
94
  elif os_platform == "Darwin":
97
95
  kics_zip = "kics_macos.zip"
98
- url_kics = config_tool.kics_mac
96
+ url_kics = config_tool[self.TOOL_KICS]["KICS_MAC"]
99
97
  command_prefix = self.install_tool(kics_zip, url_kics, command_prefix)
100
98
  else:
101
99
  logger.warning(f"{os_platform} is not supported.")
@@ -113,11 +111,11 @@ class KicsTool(ToolGateway):
113
111
  github_api.unzip_file(name_zip, directory_assets)
114
112
 
115
113
  def run_tool(
116
- self, config_tool: ConfigTool, folders_to_scan, environment, platform_to_scan, secret_tool
114
+ self, config_tool, folders_to_scan, **kwargs
117
115
  ):
118
- kics_version = config_tool.version
119
- path_kics = config_tool.path_kics
120
- download_kics_assets = config_tool.download_kics_assets
116
+ kics_version = config_tool[self.TOOL_KICS]["VERSION"]
117
+ path_kics = config_tool[self.TOOL_KICS]["PATH_KICS"]
118
+ download_kics_assets = config_tool[self.TOOL_KICS]["DOWNLOAD_KICS_ASSETS"]
121
119
  if download_kics_assets:
122
120
  self.get_assets(kics_version)
123
121
 
@@ -7,9 +7,6 @@ import os
7
7
  from devsecops_engine_tools.engine_sast.engine_iac.src.domain.model.gateways.tool_gateway import (
8
8
  ToolGateway,
9
9
  )
10
- from devsecops_engine_tools.engine_sast.engine_iac.src.domain.model.config_tool import (
11
- ConfigTool,
12
- )
13
10
  from devsecops_engine_tools.engine_sast.engine_iac.src.infrastructure.driven_adapters.kubescape.kubescape_deserealizator import (
14
11
  KubescapeDeserealizator,
15
12
  )
@@ -99,11 +96,11 @@ class KubescapeTool(ToolGateway):
99
96
 
100
97
  self.execute_kubescape(folders_to_scan, command_prefix)
101
98
 
102
- def run_tool(self, config_tool: ConfigTool, folders_to_scan, environment, platform_to_scan, secret_tool):
99
+ def run_tool(self, config_tool, folders_to_scan, platform_to_scan, **kwargs):
103
100
 
104
101
  if folders_to_scan and "k8s" in platform_to_scan:
105
102
 
106
- kubescape_version = config_tool.version
103
+ kubescape_version = config_tool["KUBESCAPE"]["VERSION"]
107
104
  os_platform = platform.system()
108
105
  base_url = f"https://github.com/kubescape/kubescape/releases/download/v{kubescape_version}/"
109
106
  self.select_operative_system(os_platform, folders_to_scan, base_url)
@@ -5,7 +5,6 @@ from devsecops_engine_tools.engine_sast.engine_secret.src.domain.usecases.set_in
5
5
  )
6
6
 
7
7
  def engine_secret_scan(devops_platform_gateway, tool_gateway, dict_args, tool, tool_deserealizator, git_gateway):
8
- sys.stdout.reconfigure(encoding='utf-8')
9
8
  exclusions = devops_platform_gateway.get_remote_config(
10
9
  dict_args["remote_config_repo"], "engine_sast/engine_secret/Exclusions.json"
11
10
  )
@@ -1,4 +1,3 @@
1
- import subprocess
2
1
  from devsecops_engine_tools.engine_sca.engine_container.src.domain.model.gateways.images_gateway import (
3
2
  ImagesGateway,
4
3
  )
@@ -20,8 +20,6 @@ logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
20
20
  def init_engine_dependencies(
21
21
  tool_run, tool_remote, tool_deserializator, dict_args, token, tool
22
22
  ):
23
- sys.stdout.reconfigure(encoding="utf-8")
24
-
25
23
  remote_config = tool_remote.get_remote_config(
26
24
  dict_args["remote_config_repo"],
27
25
  "engine_sca/engine_dependencies/ConfigTool.json",
@@ -5,7 +5,6 @@ from azure.devops.connection import Connection
5
5
  from msrest.authentication import BasicAuthentication
6
6
  from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
7
7
  from devsecops_engine_tools.engine_utilities.settings import SETTING_LOGGER
8
- from azure.devops.v7_1.git.models import GitVersionDescriptor
9
8
 
10
9
  logger = MyLogger.__call__(**SETTING_LOGGER).get_logger()
11
10
 
@@ -3,9 +3,8 @@ import pexpect
3
3
  import base64
4
4
 
5
5
 
6
- def decode_base64(secret_data, key_name):
7
- key_name_secret = secret_data[key_name]
8
- return base64.b64decode(key_name_secret).decode("utf-8")
6
+ def decode_base64(secret_data):
7
+ return base64.b64decode(secret_data).decode("utf-8")
9
8
 
10
9
 
11
10
  def config_knowns_hosts(host, ssh_key):
@@ -10,7 +10,7 @@ logging.basicConfig(format="%(message)s", level=logging.INFO)
10
10
  class Printers:
11
11
  @staticmethod
12
12
  def print_logo_tool(banner: str):
13
- print(pyfiglet.figlet_format(banner, font="slant"))
13
+ print(pyfiglet.figlet_format(banner, font="slant", width=200))
14
14
 
15
15
  @staticmethod
16
16
  def print_title(title: str):
@@ -0,0 +1 @@
1
+ version = '1.7.37'