devsecops-engine-tools 1.21.0__tar.gz → 1.23.1__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 (322) hide show
  1. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/PKG-INFO +2 -2
  2. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/README.md +1 -0
  3. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/applications/runner_engine_core.py +11 -2
  4. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/model/gateway/devops_platform_gateway.py +1 -1
  5. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/usecases/handle_risk.py +3 -3
  6. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/secrets_manager.py +0 -0
  7. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/azure_devops.py +3 -2
  8. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/github_actions.py +5 -8
  9. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/runtime_local.py +4 -2
  10. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/entry_point_core.py +1 -1
  11. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/domain/usecases/get_exclusions.py +2 -2
  12. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/entry_point_risk.py +2 -2
  13. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases/code_scan.py +1 -1
  14. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/iac_scan.py +2 -2
  15. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_tool.py +5 -70
  16. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/DeserializeConfigTool.py +2 -0
  17. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/secret_scan.py +1 -1
  18. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/set_input_core.py +1 -1
  19. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_run.py +10 -3
  20. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/entry_point_tool.py +1 -1
  21. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/entry_point_tool.py +2 -2
  22. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/entry_point_tool.py +2 -0
  23. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/get_artifacts.py +3 -1
  24. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure/azure_devops_api.py +7 -1
  25. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/github/infrastructure/github_api.py +19 -20
  26. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/applications/runner_report_sonar.py +9 -0
  27. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases/report_sonar.py +4 -2
  28. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/entry_points/entry_point_report_sonar.py +1 -1
  29. devsecops_engine_tools-1.23.1/devsecops_engine_tools/engine_utilities/utils/utils.py +138 -0
  30. devsecops_engine_tools-1.23.1/devsecops_engine_tools/version.py +1 -0
  31. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools.egg-info/PKG-INFO +2 -2
  32. devsecops_engine_tools-1.21.0/devsecops_engine_tools/engine_utilities/utils/utils.py +0 -45
  33. devsecops_engine_tools-1.21.0/devsecops_engine_tools/version.py +0 -1
  34. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/__init__.py +0 -0
  35. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/__init__.py +0 -0
  36. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/__init__.py +0 -0
  37. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/applications/__init__.py +0 -0
  38. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/deployment/__init__.py +0 -0
  39. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/deployment/infrastructure/__init__.py +0 -0
  40. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/__init__.py +0 -0
  41. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/model/__init__.py +0 -0
  42. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/model/customs_exceptions.py +0 -0
  43. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/model/exclusions.py +0 -0
  44. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/model/finding.py +0 -0
  45. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/model/gateway/__init__.py +0 -0
  46. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/model/gateway/metrics_manager_gateway.py +0 -0
  47. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/model/gateway/printer_table_gateway.py +0 -0
  48. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/model/gateway/secrets_manager_gateway.py +0 -0
  49. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/model/gateway/vulnerability_management_gateway.py +0 -0
  50. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/model/input_core.py +0 -0
  51. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/model/level_compliance.py +0 -0
  52. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/model/level_vulnerability.py +0 -0
  53. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/model/report.py +0 -0
  54. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/model/threshold.py +0 -0
  55. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/model/vulnerability_management.py +0 -0
  56. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/usecases/__init__.py +0 -0
  57. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/usecases/break_build.py +0 -0
  58. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/usecases/handle_scan.py +0 -0
  59. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/domain/usecases/metrics_manager.py +0 -0
  60. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/__init__.py +0 -0
  61. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/__init__.py +0 -0
  62. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/__init__.py +0 -0
  63. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/s3_manager.py +0 -0
  64. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/__init__.py +0 -0
  65. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/__init__.py +0 -0
  66. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py +0 -0
  67. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/__init__.py +0 -0
  68. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/__init__.py +0 -0
  69. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/printer_pretty_table.py +0 -0
  70. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_rich_table/__init__.py +0 -0
  71. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_rich_table/printer_rich_table.py +0 -0
  72. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/__init__.py +0 -0
  73. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/__init__.py +0 -0
  74. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/__init__.py +0 -0
  75. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/aws.py +0 -0
  76. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/util.py +0 -0
  77. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_dast/__init__.py +0 -0
  78. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_dast/src/__init__.py +0 -0
  79. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_dast/src/applications/__init__.py +0 -0
  80. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_dast/src/deployment/__init__.py +0 -0
  81. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_dast/src/deployment/infrastructure/__init__.py +0 -0
  82. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_dast/src/domain/__init__.py +0 -0
  83. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_dast/src/domain/model/__init__.py +0 -0
  84. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_dast/src/domain/usecases/__init__.py +0 -0
  85. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_dast/src/infrastructure/__init__.py +0 -0
  86. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/__init__.py +0 -0
  87. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_dast/src/infrastructure/entry_points/__init__.py +0 -0
  88. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_dast/src/infrastructure/helpers/__init__.py +0 -0
  89. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/__init__.py +0 -0
  90. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/__init__.py +0 -0
  91. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/applications/__init__.py +0 -0
  92. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/applications/runner_engine_risk.py +0 -0
  93. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/deployment/__init__.py +0 -0
  94. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/deployment/infrastructure/__init__.py +0 -0
  95. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/domain/__init__.py +0 -0
  96. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/domain/model/__init__.py +0 -0
  97. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/domain/model/gateways/__init__.py +0 -0
  98. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/domain/model/gateways/add_epss_gateway.py +0 -0
  99. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/domain/usecases/__init__.py +0 -0
  100. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/domain/usecases/add_data.py +0 -0
  101. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/domain/usecases/break_build.py +0 -0
  102. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/domain/usecases/check_threshold.py +0 -0
  103. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/domain/usecases/handle_filters.py +0 -0
  104. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/infrastructure/__init__.py +0 -0
  105. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/__init__.py +0 -0
  106. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/first_csv/__init__.py +0 -0
  107. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/first_csv/first_epss_csv.py +0 -0
  108. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/__init__.py +0 -0
  109. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_risk/src/infrastructure/helpers/__init__.py +0 -0
  110. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/__init__.py +0 -0
  111. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/__init__.py +0 -0
  112. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/__init__.py +0 -0
  113. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/applications/__init__.py +0 -0
  114. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/applications/runner_engine_code.py +0 -0
  115. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/deployment/__init__.py +0 -0
  116. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/deployment/infrastructure/__init__.py +0 -0
  117. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/domain/__init__.py +0 -0
  118. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/__init__.py +0 -0
  119. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/config_tool.py +0 -0
  120. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/gateways/__init__.py +0 -0
  121. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/gateways/tool_gateway.py +0 -0
  122. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases/__init__.py +0 -0
  123. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/__init__.py +0 -0
  124. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/__init__.py +0 -0
  125. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/__init__.py +0 -0
  126. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/bearer_deserealizator.py +0 -0
  127. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/bearer_tool.py +0 -0
  128. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/entry_points/__init__.py +0 -0
  129. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  130. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/helpers/__init__.py +0 -0
  131. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/__init__.py +0 -0
  132. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/__init__.py +0 -0
  133. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/applications/__init__.py +0 -0
  134. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/applications/runner_iac_scan.py +0 -0
  135. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/__init__.py +0 -0
  136. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/infrastructure/__init__.py +0 -0
  137. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/__init__.py +0 -0
  138. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/__init__.py +0 -0
  139. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/config_tool.py +0 -0
  140. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/__init__.py +0 -0
  141. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/tool_gateway.py +0 -0
  142. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/__init__.py +0 -0
  143. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/__init__.py +0 -0
  144. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/__init__.py +0 -0
  145. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/__init__.py +0 -0
  146. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_config.py +0 -0
  147. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_deserealizator.py +0 -0
  148. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/__init__.py +0 -0
  149. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_deserealizator.py +0 -0
  150. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_tool.py +0 -0
  151. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/__init__.py +0 -0
  152. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_deserealizator.py +0 -0
  153. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_tool.py +0 -0
  154. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/__init__.py +0 -0
  155. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  156. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/__init__.py +0 -0
  157. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/file_generator_tool.py +0 -0
  158. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/__init__.py +0 -0
  159. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/__init__.py +0 -0
  160. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/applications/__init__.py +0 -0
  161. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/applications/runner_secret_scan.py +0 -0
  162. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/__init__.py +0 -0
  163. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/infrastructure/__init__.py +0 -0
  164. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/__init__.py +0 -0
  165. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/__init__.py +0 -0
  166. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/__init__.py +0 -0
  167. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/gateway_deserealizator.py +0 -0
  168. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/tool_gateway.py +0 -0
  169. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/__init__.py +0 -0
  170. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/__init__.py +0 -0
  171. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/__init__.py +0 -0
  172. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/__init__.py +0 -0
  173. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_deserealizator.py +0 -0
  174. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/__init__.py +0 -0
  175. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/__init__.py +0 -0
  176. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/__init__.py +0 -0
  177. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/__init__.py +0 -0
  178. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/applications/__init__.py +0 -0
  179. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/applications/runner_container_scan.py +0 -0
  180. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/deployment/__init__.py +0 -0
  181. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/deployment/infrastructure/__init__.py +0 -0
  182. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/__init__.py +0 -0
  183. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/__init__.py +0 -0
  184. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/__init__.py +0 -0
  185. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/deserealizator_gateway.py +0 -0
  186. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/images_gateway.py +0 -0
  187. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/tool_gateway.py +0 -0
  188. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/__init__.py +0 -0
  189. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/container_sca_scan.py +0 -0
  190. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/handle_remote_config_patterns.py +0 -0
  191. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/set_input_core.py +0 -0
  192. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/__init__.py +0 -0
  193. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/__init__.py +0 -0
  194. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/__init__.py +0 -0
  195. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/docker_images.py +0 -0
  196. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/__init__.py +0 -0
  197. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_cloud_manager_scan.py +0 -0
  198. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_deserialize_output.py +0 -0
  199. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/__init__.py +0 -0
  200. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_deserialize_output.py +0 -0
  201. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_manager_scan.py +0 -0
  202. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/__init__.py +0 -0
  203. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/helpers/__init__.py +0 -0
  204. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/__init__.py +0 -0
  205. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/__init__.py +0 -0
  206. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/__init__.py +0 -0
  207. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/runner_dependencies_scan.py +0 -0
  208. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/__init__.py +0 -0
  209. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/infrastructure/__init__.py +0 -0
  210. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/__init__.py +0 -0
  211. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/__init__.py +0 -0
  212. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/__init__.py +0 -0
  213. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/deserializator_gateway.py +0 -0
  214. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/tool_gateway.py +0 -0
  215. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/__init__.py +0 -0
  216. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/dependencies_sca_scan.py +0 -0
  217. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/handle_remote_config_patterns.py +0 -0
  218. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/set_input_core.py +0 -0
  219. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/__init__.py +0 -0
  220. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/__init__.py +0 -0
  221. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/__init__.py +0 -0
  222. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_deserialize.py +0 -0
  223. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_tool.py +0 -0
  224. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/__init__.py +0 -0
  225. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_deserialize_output.py +0 -0
  226. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_manager_scan.py +0 -0
  227. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/__init__.py +0 -0
  228. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/__init__.py +0 -0
  229. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/__init__.py +0 -0
  230. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/azuredevops/__init__.py +0 -0
  231. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure/__init__.py +0 -0
  232. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzureMessageLoggingPipeline.py +0 -0
  233. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzurePredefinedVariables.py +0 -0
  234. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/azuredevops/models/__init__.py +0 -0
  235. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/__init__.py +0 -0
  236. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/__init__.py +0 -0
  237. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/connect.py +0 -0
  238. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/defect_dojo.py +0 -0
  239. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/engagement.py +0 -0
  240. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/finding.py +0 -0
  241. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/product.py +0 -0
  242. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/__init__.py +0 -0
  243. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/__init__.py +0 -0
  244. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/cmdb.py +0 -0
  245. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/engagement.py +0 -0
  246. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/finding.py +0 -0
  247. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product.py +0 -0
  248. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_list.py +0 -0
  249. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type.py +0 -0
  250. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type_list.py +0 -0
  251. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/scan_configuration.py +0 -0
  252. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/__init__.py +0 -0
  253. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/finding.py +0 -0
  254. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/import_scan.py +0 -0
  255. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/__init__.py +0 -0
  256. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/finding.py +0 -0
  257. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/import_scan.py +0 -0
  258. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/__init__.py +0 -0
  259. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/cmdb.py +0 -0
  260. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/engagement.py +0 -0
  261. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/finding.py +0 -0
  262. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/import_scan.py +0 -0
  263. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/product.py +0 -0
  264. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/hello_world.py +0 -0
  265. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/__init__.py +0 -0
  266. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/__init__.py +0 -0
  267. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/cmdb.py +0 -0
  268. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/engagement.py +0 -0
  269. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/finding.py +0 -0
  270. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/import_scan.py +0 -0
  271. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product.py +0 -0
  272. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product_type.py +0 -0
  273. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/scan_configurations.py +0 -0
  274. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/__init__.py +0 -0
  275. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/settings.py +0 -0
  276. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/repository/__init__.py +0 -0
  277. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/git_cli/__init__.py +0 -0
  278. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/git_cli/infrastructure/__init__.py +0 -0
  279. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/git_cli/infrastructure/git_run.py +0 -0
  280. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/git_cli/model/__init__.py +0 -0
  281. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/git_cli/model/gateway/__init__.py +0 -0
  282. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/git_cli/model/gateway/git_gateway.py +0 -0
  283. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/github/__init__.py +0 -0
  284. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/github/infrastructure/__init__.py +0 -0
  285. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/github/models/GithubPredefinedVariables.py +0 -0
  286. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/github/models/__init__.py +0 -0
  287. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/input_validations/__init__.py +0 -0
  288. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/input_validations/env_utils.py +0 -0
  289. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/input_validations/validate_input_with_regex_letters_number_and_only.py +0 -0
  290. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/settings.py +0 -0
  291. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/sonarqube/__init__.py +0 -0
  292. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/__init__.py +0 -0
  293. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/applications/__init__.py +0 -0
  294. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/__init__.py +0 -0
  295. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/__init__.py +0 -0
  296. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/gateways/__init__.py +0 -0
  297. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/gateways/sonar_gateway.py +0 -0
  298. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases/__init__.py +0 -0
  299. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/__init__.py +0 -0
  300. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/__init__.py +0 -0
  301. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/sonarqube/__init__.py +0 -0
  302. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/sonarqube/sonarqube_report.py +0 -0
  303. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/entry_points/__init__.py +0 -0
  304. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/helpers/__init__.py +0 -0
  305. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/helpers/utils.py +0 -0
  306. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/ssh/__init__.py +0 -0
  307. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/ssh/managment_private_key.py +0 -0
  308. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/utils/__init__.py +0 -0
  309. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/utils/api_error.py +0 -0
  310. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/utils/dataclass_classmethod.py +0 -0
  311. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/utils/datetime_parsing.py +0 -0
  312. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/utils/logger_info.py +0 -0
  313. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/utils/name_conversion.py +0 -0
  314. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/utils/printers.py +0 -0
  315. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools/engine_utilities/utils/session_manager.py +0 -0
  316. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools.egg-info/SOURCES.txt +0 -0
  317. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools.egg-info/dependency_links.txt +0 -0
  318. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools.egg-info/entry_points.txt +0 -0
  319. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools.egg-info/requires.txt +0 -0
  320. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/devsecops_engine_tools.egg-info/top_level.txt +0 -0
  321. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/setup.cfg +0 -0
  322. {devsecops_engine_tools-1.21.0 → devsecops_engine_tools-1.23.1}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: devsecops-engine-tools
3
- Version: 1.21.0
3
+ Version: 1.23.1
4
4
  Summary: Tool for DevSecOps strategy
5
5
  Home-page: https://github.com/bancolombia/devsecops-engine-tools
6
6
  Author: Bancolombia DevSecOps Team
@@ -68,7 +68,7 @@ pip3 install devsecops-engine-tools
68
68
  ### Scan running - flags (CLI)
69
69
 
70
70
  ```bash
71
- devsecops-engine-tools --platform_devops ["local","azure","github"] --remote_config_repo ["remote_config_repo"] --tool ["engine_iac", "engine_dast", "engine_secret", "engine_dependencies", "engine_container", "engine_risk", "engine_code"] --folder_path ["Folder path scan engine_iac, engine_code and engine_dependencies"] --platform ["k8s","cloudformation","docker", "openapi", "terraform"] --use_secrets_manager ["false", "true"] --use_vulnerability_management ["false", "true"] --send_metrics ["false", "true"] --token_cmdb ["token_cmdb"] --token_vulnerability_management ["token_vulnerability_management"] --token_engine_container ["token_engine_container"] --token_engine_dependencies ["token_engine_dependencies"] --token_external_checks ["token_external_checks"] --xray_mode ["scan", "audit"] --image_to_scan ["image_to_scan"]
71
+ devsecops-engine-tools --platform_devops ["local","azure","github"] --remote_config_repo ["remote_config_repo"] --remote_config_branch ["remote_config_branch"] --tool ["engine_iac", "engine_dast", "engine_secret", "engine_dependencies", "engine_container", "engine_risk", "engine_code"] --folder_path ["Folder path scan engine_iac, engine_code and engine_dependencies"] --platform ["k8s","cloudformation","docker", "openapi", "terraform"] --use_secrets_manager ["false", "true"] --use_vulnerability_management ["false", "true"] --send_metrics ["false", "true"] --token_cmdb ["token_cmdb"] --token_vulnerability_management ["token_vulnerability_management"] --token_engine_container ["token_engine_container"] --token_engine_dependencies ["token_engine_dependencies"] --token_external_checks ["token_external_checks"] --xray_mode ["scan", "audit"] --image_to_scan ["image_to_scan"]
72
72
  ```
73
73
 
74
74
  ### Structure Remote Config
@@ -108,6 +108,7 @@ devsecops_engine_tools
108
108
  | defect_dojo
109
109
  | github
110
110
  | input_validations
111
+ | sonarqube
111
112
  | ssh
112
113
  | utils
113
114
  ```
@@ -69,7 +69,15 @@ def get_inputs_from_cli(args):
69
69
  "--remote_config_repo",
70
70
  type=str,
71
71
  required=True,
72
- help="Name or Folder Path of Config Repo",
72
+ help="Name or Folder Path of Remote Config Repo",
73
+ )
74
+ parser.add_argument(
75
+ "-rcb",
76
+ "--remote_config_branch",
77
+ type=str,
78
+ required=False,
79
+ default="",
80
+ help="Name of the branch of Remote Config Repo",
73
81
  )
74
82
  parser.add_argument(
75
83
  "-t",
@@ -144,7 +152,7 @@ def get_inputs_from_cli(args):
144
152
  parser.add_argument(
145
153
  "--token_external_checks",
146
154
  required=False,
147
- help="Token for downloading external checks from engine_iac or engine_secret if is necessary. Ej: github:token, ssh:privatekey:pass",
155
+ help="Token for downloading external checks from engine_iac or engine_secret if is necessary. Ej: github_token:token, github_app:private_key, ssh:privatekey:pass",
148
156
  )
149
157
  parser.add_argument(
150
158
  "--xray_mode",
@@ -162,6 +170,7 @@ def get_inputs_from_cli(args):
162
170
  return {
163
171
  "platform_devops": args.platform_devops,
164
172
  "remote_config_repo": args.remote_config_repo,
173
+ "remote_config_branch": args.remote_config_branch,
165
174
  "tool": args.tool,
166
175
  "folder_path": args.folder_path,
167
176
  "platform": args.platform,
@@ -3,7 +3,7 @@ from abc import ABCMeta, abstractmethod
3
3
 
4
4
  class DevopsPlatformGateway(metaclass=ABCMeta):
5
5
  @abstractmethod
6
- def get_remote_config(self, repository, path):
6
+ def get_remote_config(self, repository, path, branch):
7
7
  "get_remote_config"
8
8
 
9
9
  @abstractmethod
@@ -86,7 +86,7 @@ class HandleRisk:
86
86
 
87
87
  def _exclude_services(self, dict_args, pipeline_name, service_list):
88
88
  risk_exclusions = self.devops_platform_gateway.get_remote_config(
89
- dict_args["remote_config_repo"], "engine_risk/Exclusions.json"
89
+ dict_args["remote_config_repo"], "engine_risk/Exclusions.json", dict_args["remote_config_branch"]
90
90
  )
91
91
  if (
92
92
  pipeline_name in risk_exclusions
@@ -129,10 +129,10 @@ class HandleRisk:
129
129
 
130
130
  def process(self, dict_args: any, remote_config: any):
131
131
  risk_config = self.devops_platform_gateway.get_remote_config(
132
- dict_args["remote_config_repo"], "engine_risk/ConfigTool.json"
132
+ dict_args["remote_config_repo"], "engine_risk/ConfigTool.json", dict_args["remote_config_branch"]
133
133
  )
134
134
  risk_exclusions = self.devops_platform_gateway.get_remote_config(
135
- dict_args["remote_config_repo"], "engine_risk/Exclusions.json"
135
+ dict_args["remote_config_repo"], "engine_risk/Exclusions.json", dict_args["remote_config_branch"]
136
136
  )
137
137
  pipeline_name = self.devops_platform_gateway.get_variable("pipeline_name")
138
138
 
@@ -23,7 +23,8 @@ logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
23
23
 
24
24
  @dataclass
25
25
  class AzureDevops(DevopsPlatformGateway):
26
- def get_remote_config(self, repository, path):
26
+ def get_remote_config(self, repository, path, branch=""):
27
+
27
28
  base_compact_remote_config_url = (
28
29
  f"https://{SystemVariables.System_TeamFoundationCollectionUri.value().rstrip('/').split('/')[-1].replace('.visualstudio.com','')}"
29
30
  f".visualstudio.com/{SystemVariables.System_TeamProject.value()}/_git/"
@@ -34,7 +35,7 @@ class AzureDevops(DevopsPlatformGateway):
34
35
  compact_remote_config_url=base_compact_remote_config_url,
35
36
  )
36
37
  connection = utils_azure.get_azure_connection()
37
- return utils_azure.get_remote_json_config(connection=connection)
38
+ return utils_azure.get_remote_json_config(connection=connection, branch=branch)
38
39
 
39
40
  def message(self, type, message):
40
41
  if type == "succeeded":
@@ -22,18 +22,15 @@ class GithubActions(DevopsPlatformGateway):
22
22
  ICON_FAIL = "\u2718"
23
23
  ICON_SUCCESS = "\u2714"
24
24
 
25
- def get_remote_config(self, repository, path):
25
+ def get_remote_config(self, repository, path, branch=""):
26
26
 
27
27
  github_repository = SystemVariables.github_repository.value()
28
28
  split = github_repository.split("/")
29
29
  owner = split[0]
30
30
 
31
- utils_github = GithubApi(
32
- personal_access_token=SystemVariables.github_access_token.value()
33
- )
34
-
35
- git_client = utils_github.get_github_connection()
36
- json_config = utils_github.get_remote_json_config(git_client, owner, repository, path)
31
+ utils_github = GithubApi()
32
+ git_client = utils_github.get_github_connection(SystemVariables.github_access_token.value())
33
+ json_config = utils_github.get_remote_json_config(git_client, owner, repository, path, branch)
37
34
 
38
35
  return json_config
39
36
 
@@ -92,4 +89,4 @@ class GithubActions(DevopsPlatformGateway):
92
89
  try:
93
90
  return variable_map.get(variable).value()
94
91
  except ValueError:
95
- return None
92
+ return None
@@ -18,8 +18,10 @@ class RuntimeLocal(DevopsPlatformGateway):
18
18
  ICON_SUCCESS = "\u2714"
19
19
 
20
20
 
21
- def get_remote_config(self, repository, path):
22
- with open(f"{repository}/{path}") as f:
21
+ def get_remote_config(self, repository, path, branch=""):
22
+ remote_config_path = f"{repository}/{path}"
23
+
24
+ with open(remote_config_path) as f:
23
25
  return json.load(f)
24
26
 
25
27
  def message(self, type, message):
@@ -24,7 +24,7 @@ def init_engine_core(
24
24
  args: any
25
25
  ):
26
26
  config_tool = devops_platform_gateway.get_remote_config(
27
- args["remote_config_repo"], "/engine_core/ConfigTool.json"
27
+ args["remote_config_repo"], "/engine_core/ConfigTool.json", args["remote_config_branch"]
28
28
  )
29
29
  Printers.print_logo_tool(config_tool["BANNER"])
30
30
 
@@ -22,7 +22,7 @@ class GetExclusions:
22
22
 
23
23
  def process(self):
24
24
  core_config = self.devops_platform_gateway.get_remote_config(
25
- self.dict_args["remote_config_repo"], "engine_core/ConfigTool.json"
25
+ self.dict_args["remote_config_repo"], "engine_core/ConfigTool.json", self.dict_args["remote_config_branch"]
26
26
  )
27
27
  unique_tags = self._get_unique_tags()
28
28
  exclusions = []
@@ -42,7 +42,7 @@ class GetExclusions:
42
42
 
43
43
  def _get_exclusions_by_practice(self, core_config, practice, path):
44
44
  exclusions_config = self.devops_platform_gateway.get_remote_config(
45
- self.dict_args["remote_config_repo"], path
45
+ self.dict_args["remote_config_repo"], path, self.dict_args["remote_config_branch"]
46
46
  )
47
47
  tool = core_config[practice.upper()]["TOOL"]
48
48
  return self._get_exclusions(exclusions_config, tool)
@@ -31,10 +31,10 @@ def init_engine_risk(
31
31
  vm_exclusions,
32
32
  ):
33
33
  remote_config = devops_platform_gateway.get_remote_config(
34
- dict_args["remote_config_repo"], "engine_risk/ConfigTool.json"
34
+ dict_args["remote_config_repo"], "engine_risk/ConfigTool.json", dict_args["remote_config_branch"]
35
35
  )
36
36
  risk_exclusions = devops_platform_gateway.get_remote_config(
37
- dict_args["remote_config_repo"], "engine_risk/Exclusions.json"
37
+ dict_args["remote_config_repo"], "engine_risk/Exclusions.json", dict_args["remote_config_branch"]
38
38
  )
39
39
  pipeline_name = devops_platform_gateway.get_variable("pipeline_name")
40
40
 
@@ -33,7 +33,7 @@ class CodeScan:
33
33
 
34
34
  def set_config_tool(self, dict_args):
35
35
  init_config_tool = self.devops_platform_gateway.get_remote_config(
36
- dict_args["remote_config_repo"], "engine_sast/engine_code/ConfigTool.json"
36
+ dict_args["remote_config_repo"], "engine_sast/engine_code/ConfigTool.json", dict_args["remote_config_branch"]
37
37
  )
38
38
  scope_pipeline = self.devops_platform_gateway.get_variable("pipeline_name")
39
39
  return ConfigTool(json_data=init_config_tool, scope=scope_pipeline)
@@ -28,11 +28,11 @@ class IacScan:
28
28
 
29
29
  def process(self, dict_args, secret_tool, tool, env):
30
30
  config_tool_iac = self.devops_platform_gateway.get_remote_config(
31
- dict_args["remote_config_repo"], "engine_sast/engine_iac/ConfigTool.json"
31
+ dict_args["remote_config_repo"], "engine_sast/engine_iac/ConfigTool.json", dict_args["remote_config_branch"]
32
32
  )
33
33
 
34
34
  exclusions = self.devops_platform_gateway.get_remote_config(
35
- dict_args["remote_config_repo"], "engine_sast/engine_iac/Exclusions.json"
35
+ dict_args["remote_config_repo"], "engine_sast/engine_iac/Exclusions.json", dict_args["remote_config_branch"]
36
36
  )
37
37
 
38
38
  config_tool_core, folders_to_scan, skip_tool = self.complete_config_tool(
@@ -19,22 +19,15 @@ from devsecops_engine_tools.engine_sast.engine_iac.src.infrastructure.driven_ada
19
19
  from devsecops_engine_tools.engine_sast.engine_iac.src.infrastructure.helpers.file_generator_tool import (
20
20
  generate_file_from_tool,
21
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
22
  from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
32
23
  from devsecops_engine_tools.engine_utilities import settings
24
+ from devsecops_engine_tools.engine_utilities.utils.utils import Utils
33
25
 
34
26
  logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
35
27
 
36
28
 
37
29
  class CheckovTool(ToolGateway):
30
+
38
31
  CHECKOV_CONFIG_FILE = "checkov_config.yaml"
39
32
  TOOL_CHECKOV = "CHECKOV"
40
33
  framework_mapping = {
@@ -62,43 +55,6 @@ class CheckovTool(ToolGateway):
62
55
  yaml.dump(checkov_config.dict_confg_file, file)
63
56
  file.close()
64
57
 
65
- def configurate_external_checks(self, config_tool, secret):
66
- agent_env = None
67
- try:
68
- if secret is None:
69
- logger.warning("The secret is not configured for external controls")
70
-
71
- # Create configuration git external checks
72
- elif config_tool[self.TOOL_CHECKOV][
73
- "USE_EXTERNAL_CHECKS_GIT"
74
- ] == "True" and platform.system() in (
75
- "Linux",
76
- "Darwin",
77
- ):
78
- config_knowns_hosts(
79
- config_tool[self.TOOL_CHECKOV]["EXTERNAL_GIT_SSH_HOST"],
80
- config_tool[self.TOOL_CHECKOV][
81
- "EXTERNAL_GIT_PUBLIC_KEY_FINGERPRINT"
82
- ],
83
- )
84
- ssh_key_content = decode_base64(secret["repository_ssh_private_key"])
85
- ssh_key_file_path = "/tmp/ssh_key_file"
86
- create_ssh_private_file(ssh_key_file_path, ssh_key_content)
87
- ssh_key_password = decode_base64(secret["repository_ssh_password"])
88
- agent_env = add_ssh_private_key(ssh_key_file_path, ssh_key_password)
89
-
90
- # Create configuration dir external checks
91
- elif config_tool[self.TOOL_CHECKOV]["USE_EXTERNAL_CHECKS_DIR"] == "True":
92
- github_api = GithubApi(secret["github_token"])
93
- github_api.download_latest_release_assets(
94
- config_tool[self.TOOL_CHECKOV]["EXTERNAL_DIR_OWNER"],
95
- config_tool[self.TOOL_CHECKOV]["EXTERNAL_DIR_REPOSITORY"],
96
- "/tmp",
97
- )
98
-
99
- except Exception as ex:
100
- logger.error(f"An error ocurred configuring external checks {ex}")
101
- return agent_env
102
58
 
103
59
  def retryable_install_package(self, package: str, version: str) -> bool:
104
60
  MAX_RETRIES = 3
@@ -258,29 +214,8 @@ class CheckovTool(ToolGateway):
258
214
  secret_tool,
259
215
  secret_external_checks,
260
216
  ):
261
- secret = None
262
- if secret_tool is not None:
263
- secret = secret_tool
264
- elif secret_external_checks is not None:
265
- secret = {
266
- "github_token": (
267
- secret_external_checks.split("github:")[1]
268
- if "github" in secret_external_checks
269
- else None
270
- ),
271
- "repository_ssh_private_key": (
272
- secret_external_checks.split("ssh:")[1].split(":")[0]
273
- if "ssh" in secret_external_checks
274
- else None
275
- ),
276
- "repository_ssh_password": (
277
- secret_external_checks.split("ssh:")[1].split(":")[1]
278
- if "ssh" in secret_external_checks
279
- else None
280
- ),
281
- }
282
-
283
- agent_env = self.configurate_external_checks(config_tool, secret)
217
+ util = Utils()
218
+ agent_env = util.configurate_external_checks(self.TOOL_CHECKOV,config_tool, secret_tool,secret_external_checks)
284
219
 
285
220
  checkov_install = self.retryable_install_package(
286
221
  "checkov", config_tool[self.TOOL_CHECKOV]["VERSION"]
@@ -310,4 +245,4 @@ class CheckovTool(ToolGateway):
310
245
  ),
311
246
  )
312
247
  else:
313
- return [], None
248
+ return [], None
@@ -12,5 +12,7 @@ class DeserializeConfigTool:
12
12
  self.enable_custom_rules = json_data[tool]["ENABLE_CUSTOM_RULES"]
13
13
  self.external_dir_owner = json_data[tool]["EXTERNAL_DIR_OWNER"]
14
14
  self.external_dir_repo = json_data[tool]["EXTERNAL_DIR_REPOSITORY"]
15
+ self.app_id_github = json_data[tool]["APP_ID_GITHUB"]
16
+ self.installation_id_github = json_data[tool]["INSTALLATION_ID_GITHUB"]
15
17
  self.tool_version = json_data[tool]["VERSION"]
16
18
  self.extradata_rules = json_data[tool]["RULES"]
@@ -67,7 +67,7 @@ class SecretScan:
67
67
  def complete_config_tool(self, dict_args, tool):
68
68
  tool = str(tool).lower()
69
69
  init_config_tool = self.devops_platform_gateway.get_remote_config(
70
- dict_args["remote_config_repo"], "engine_sast/engine_secret/ConfigTool.json"
70
+ dict_args["remote_config_repo"], "engine_sast/engine_secret/ConfigTool.json", dict_args["remote_config_branch"]
71
71
  )
72
72
  config_tool = DeserializeConfigTool(json_data=init_config_tool, tool=tool)
73
73
  config_tool.scope_pipeline = self.devops_platform_gateway.get_variable("pipeline_name")
@@ -30,7 +30,7 @@ class SetInputCore:
30
30
  dict: Remote configuration.
31
31
  """
32
32
  return self.tool_remote.get_remote_config(
33
- self.dict_args["remote_config_repo"], file_path
33
+ self.dict_args["remote_config_repo"], file_path, self.dict_args["remote_config_branch"]
34
34
  )
35
35
 
36
36
  def get_variable(self, variable):
@@ -73,9 +73,15 @@ class TrufflehogRun(ToolGateway):
73
73
  include_paths = self.config_include_path(files_commits, agent_work_folder, agent_os)
74
74
  enable_custom_rules = config_tool.enable_custom_rules.lower()
75
75
  secret = None
76
-
76
+ github_api = GithubApi()
77
+
77
78
  if secret_tool is not None:
78
- secret = secret_tool["github_token"] if "github_token" in secret_tool else None
79
+ secret_tmp = secret_tool
80
+ secret = github_api.get_installation_access_token(
81
+ secret_tmp["github_token"],
82
+ config_tool.app_id_github,
83
+ config_tool.installation_id_github
84
+ )
79
85
  elif secret_external_checks is not None:
80
86
  secret = secret_external_checks.split("github:")[1] if "github" in secret_external_checks else None
81
87
 
@@ -161,10 +167,11 @@ class TrufflehogRun(ToolGateway):
161
167
 
162
168
  def configurate_external_checks(self, config_tool, secret):
163
169
  try:
164
- github_api = GithubApi(secret)
170
+ github_api = GithubApi()
165
171
  github_api.download_latest_release_assets(
166
172
  config_tool.external_dir_owner,
167
173
  config_tool.external_dir_repo,
174
+ secret,
168
175
  "/tmp",
169
176
  )
170
177
  except Exception as ex:
@@ -6,7 +6,7 @@ from devsecops_engine_tools.engine_sast.engine_secret.src.domain.usecases.set_in
6
6
 
7
7
  def engine_secret_scan(devops_platform_gateway, tool_gateway, dict_args, tool, tool_deserealizator, git_gateway, secret_tool):
8
8
  exclusions = devops_platform_gateway.get_remote_config(
9
- dict_args["remote_config_repo"], "engine_sast/engine_secret/Exclusions.json"
9
+ dict_args["remote_config_repo"], "engine_sast/engine_secret/Exclusions.json", dict_args["remote_config_branch"]
10
10
  )
11
11
  secret_scan = SecretScan(tool_gateway, devops_platform_gateway, tool_deserealizator, git_gateway)
12
12
  config_tool, skip_tool_isp = secret_scan.complete_config_tool(dict_args, tool)
@@ -23,10 +23,10 @@ def init_engine_sca_rm(
23
23
  tool,
24
24
  ):
25
25
  remote_config = tool_remote.get_remote_config(
26
- dict_args["remote_config_repo"], "engine_sca/engine_container/ConfigTool.json"
26
+ dict_args["remote_config_repo"], "engine_sca/engine_container/ConfigTool.json", dict_args["remote_config_branch"]
27
27
  )
28
28
  exclusions = tool_remote.get_remote_config(
29
- dict_args["remote_config_repo"], "engine_sca/engine_container/Exclusions.json"
29
+ dict_args["remote_config_repo"], "engine_sca/engine_container/Exclusions.json", dict_args["remote_config_branch"]
30
30
  )
31
31
  pipeline_name = tool_remote.get_variable("pipeline_name")
32
32
  handle_remote_config_patterns = HandleRemoteConfigPatterns(
@@ -23,10 +23,12 @@ def init_engine_dependencies(
23
23
  remote_config = tool_remote.get_remote_config(
24
24
  dict_args["remote_config_repo"],
25
25
  "engine_sca/engine_dependencies/ConfigTool.json",
26
+ dict_args["remote_config_branch"]
26
27
  )
27
28
  exclusions = tool_remote.get_remote_config(
28
29
  dict_args["remote_config_repo"],
29
30
  "engine_sca/engine_dependencies/Exclusions.json",
31
+ dict_args["remote_config_branch"]
30
32
  )
31
33
  pipeline_name = tool_remote.get_variable("pipeline_name")
32
34
 
@@ -14,7 +14,9 @@ class GetArtifacts:
14
14
 
15
15
  def excluded_files(self, remote_config, pipeline_name, exclusions, tool):
16
16
  pattern = remote_config[tool]["REGEX_EXPRESSION_EXTENSIONS"]
17
- if pipeline_name in exclusions:
17
+ if (pipeline_name in exclusions) and (
18
+ exclusions[pipeline_name].get(tool, None)
19
+ ):
18
20
  for ex in exclusions[pipeline_name][tool]:
19
21
  if ex.get("SKIP_FILES", 0):
20
22
  exclusion = ex.get("SKIP_FILES")
@@ -2,6 +2,7 @@ import json
2
2
  from devsecops_engine_tools.engine_utilities.utils.api_error import ApiError
3
3
  from urllib.parse import urlsplit, unquote
4
4
  from azure.devops.connection import Connection
5
+ from azure.devops.v7_1.wiki.models import GitVersionDescriptor
5
6
  from msrest.authentication import BasicAuthentication
6
7
  from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
7
8
  from devsecops_engine_tools.engine_utilities.settings import SETTING_LOGGER
@@ -48,14 +49,19 @@ class AzureDevopsApi:
48
49
  except Exception as e:
49
50
  raise ApiError("Error getting Azure DevOps connection: " + str(e))
50
51
 
51
- def get_remote_json_config(self, connection: Connection):
52
+ def get_remote_json_config(self, connection: Connection, branch):
52
53
  try:
53
54
  git_client = connection.clients.get_git_client()
55
+ version_descriptor = None
56
+ if branch: version_descriptor = GitVersionDescriptor(version=branch, version_type="branch")
57
+
54
58
  file_content = git_client.get_item_text(
55
59
  repository_id=self.__repository_id,
56
60
  path=self.__remote_config_path,
57
61
  project=self.__project_remote_config,
62
+ version_descriptor=version_descriptor
58
63
  )
64
+
59
65
  data = json.loads(b"".join(file_content).decode("utf-8"))
60
66
  return data
61
67
  except Exception as e:
@@ -1,28 +1,28 @@
1
1
  import requests
2
2
  import zipfile
3
3
  import json
4
- from github import Github
4
+ from github import Github, GithubIntegration
5
5
  from devsecops_engine_tools.engine_utilities.utils.api_error import ApiError
6
6
 
7
7
 
8
8
  class GithubApi:
9
- def __init__(
10
- self,
11
- personal_access_token: str = ""
12
- ):
13
- self.__personal_access_token = personal_access_token
14
9
 
15
10
  def unzip_file(self, zip_file_path, extract_path):
16
11
  with zipfile.ZipFile(zip_file_path, "r") as zip_ref:
17
12
  zip_ref.extractall(extract_path)
13
+
14
+ def get_installation_access_token(self,private_key,app_id,instalation_id):
15
+ if private_key:
16
+ private_key = private_key.replace("\\n", "\n")
17
+ integration = GithubIntegration(app_id, private_key)
18
+ access_token = integration.get_access_token(instalation_id)
19
+ return access_token.token
18
20
 
19
21
  def download_latest_release_assets(
20
- self, owner, repository, download_path="."
21
- ):
22
+ self, owner, repository, token, download_path=".",
23
+ ):
22
24
  url = f"https://api.github.com/repos/{owner}/{repository}/releases/latest"
23
-
24
- headers = {"Authorization": f"token {self.__personal_access_token}"}
25
-
25
+ headers = {"Authorization": f"token {token}", "Accept": "application/vnd.github+json"}
26
26
  response = requests.get(url, headers=headers)
27
27
 
28
28
  if response.status_code == 200:
@@ -32,11 +32,8 @@ class GithubApi:
32
32
  for asset in assets:
33
33
  asset_url = asset["url"]
34
34
  asset_name = asset["name"]
35
-
36
35
  headers.update({"Accept": "application/octet-stream"})
37
-
38
36
  response = requests.get(asset_url, headers=headers, stream=True)
39
-
40
37
  if response.status_code == 200:
41
38
  with open(f"{download_path}/{asset_name}", "wb") as file:
42
39
  for chunk in response.iter_content(chunk_size=8192):
@@ -51,18 +48,20 @@ class GithubApi:
51
48
  f"Error getting the assets of the last release. Status code: {response.status_code}"
52
49
  )
53
50
 
54
- def get_github_connection(self):
55
- git_client = Github(self.__personal_access_token)
56
-
51
+ def get_github_connection(self,personal_access_token):
52
+ git_client = Github(personal_access_token)
57
53
  return git_client
58
54
 
59
- def get_remote_json_config(self, git_client: Github, owner, repository, path):
55
+ def get_remote_json_config(self, git_client: Github, owner, repository, path, branch=""):
60
56
  try:
61
57
  repo = git_client.get_repo(f"{owner}/{repository}")
62
- file_content = repo.get_contents(path)
58
+
59
+ if branch: file_content = repo.get_contents(path, ref=branch)
60
+ else: file_content = repo.get_contents(path)
61
+
63
62
  data = file_content.decoded_content.decode()
64
63
  content_json = json.loads(data)
65
64
 
66
65
  return content_json
67
66
  except Exception as e:
68
- raise ApiError("Error getting remote github configuration file: " + str(e))
67
+ raise ApiError("Error getting remote github configuration file: " + str(e))
@@ -32,6 +32,14 @@ def get_inputs_from_cli(args):
32
32
  required=True,
33
33
  help="Name of Config Repo",
34
34
  )
35
+ parser.add_argument(
36
+ "-rcb",
37
+ "--remote_config_branch",
38
+ type=str,
39
+ required=False,
40
+ default="",
41
+ help="Name of the branch of Config Repo",
42
+ )
35
43
  parser.add_argument(
36
44
  "--use_secrets_manager",
37
45
  choices=["true", "false"],
@@ -70,6 +78,7 @@ def get_inputs_from_cli(args):
70
78
  args = parser.parse_args()
71
79
  return {
72
80
  "remote_config_repo": args.remote_config_repo,
81
+ "remote_config_branch": args.remote_config_branch,
73
82
  "use_secrets_manager": args.use_secrets_manager,
74
83
  "send_metrics": args.send_metrics,
75
84
  "sonar_url": args.sonar_url,
@@ -60,7 +60,8 @@ class ReportSonar:
60
60
  )
61
61
  config_tool = self.devops_platform_gateway.get_remote_config(
62
62
  args["remote_config_repo"],
63
- "/engine_core/ConfigTool.json"
63
+ "/engine_core/ConfigTool.json",
64
+ args["remote_config_branch"]
64
65
  )
65
66
  environment = define_env(None, branch)
66
67
 
@@ -73,7 +74,8 @@ class ReportSonar:
73
74
 
74
75
  report_config_tool = self.devops_platform_gateway.get_remote_config(
75
76
  args["remote_config_repo"],
76
- "/report_sonar/ConfigTool.json"
77
+ "/report_sonar/ConfigTool.json",
78
+ args["remote_config_branch"]
77
79
  )
78
80
 
79
81
  get_components = report_config_tool["PIPELINE_COMPONENTS"].get(pipeline_name)
@@ -15,7 +15,7 @@ logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
15
15
 
16
16
  def init_report_sonar(vulnerability_management_gateway, secrets_manager_gateway, devops_platform_gateway, sonar_gateway, metrics_manager_gateway, args):
17
17
  config_tool = devops_platform_gateway.get_remote_config(
18
- args["remote_config_repo"], "/engine_core/ConfigTool.json"
18
+ args["remote_config_repo"], "/engine_core/ConfigTool.json", args["remote_config_branch"]
19
19
  )
20
20
  report_config_tool = devops_platform_gateway.get_remote_config(
21
21
  args["remote_config_repo"], "/report_sonar/ConfigTool.json"