devsecops-engine-tools 1.20.0__tar.gz → 1.22.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of devsecops-engine-tools might be problematic. Click here for more details.

Files changed (322) hide show
  1. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/PKG-INFO +1 -1
  2. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/applications/runner_engine_core.py +1 -1
  3. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/secrets_manager.py +0 -0
  4. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py +2 -1
  5. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/github_actions.py +3 -6
  6. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_tool.py +5 -70
  7. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/DeserializeConfigTool.py +2 -0
  8. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_run.py +10 -3
  9. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/github/infrastructure/github_api.py +14 -18
  10. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/entry_points/entry_point_report_sonar.py +7 -3
  11. devsecops_engine_tools-1.22.0/devsecops_engine_tools/engine_utilities/utils/utils.py +138 -0
  12. devsecops_engine_tools-1.22.0/devsecops_engine_tools/version.py +1 -0
  13. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools.egg-info/PKG-INFO +1 -1
  14. devsecops_engine_tools-1.20.0/devsecops_engine_tools/engine_utilities/utils/utils.py +0 -45
  15. devsecops_engine_tools-1.20.0/devsecops_engine_tools/version.py +0 -1
  16. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/README.md +0 -0
  17. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/__init__.py +0 -0
  18. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/__init__.py +0 -0
  19. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/__init__.py +0 -0
  20. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/applications/__init__.py +0 -0
  21. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/deployment/__init__.py +0 -0
  22. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/deployment/infrastructure/__init__.py +0 -0
  23. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/__init__.py +0 -0
  24. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/model/__init__.py +0 -0
  25. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/model/customs_exceptions.py +0 -0
  26. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/model/exclusions.py +0 -0
  27. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/model/finding.py +0 -0
  28. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/__init__.py +0 -0
  29. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/devops_platform_gateway.py +0 -0
  30. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/metrics_manager_gateway.py +0 -0
  31. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/printer_table_gateway.py +0 -0
  32. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/secrets_manager_gateway.py +0 -0
  33. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/vulnerability_management_gateway.py +0 -0
  34. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/model/input_core.py +0 -0
  35. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/model/level_compliance.py +0 -0
  36. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/model/level_vulnerability.py +0 -0
  37. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/model/report.py +0 -0
  38. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/model/threshold.py +0 -0
  39. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/model/vulnerability_management.py +0 -0
  40. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/usecases/__init__.py +0 -0
  41. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/usecases/break_build.py +0 -0
  42. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/usecases/handle_risk.py +0 -0
  43. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/usecases/handle_scan.py +0 -0
  44. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/domain/usecases/metrics_manager.py +0 -0
  45. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/__init__.py +0 -0
  46. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/__init__.py +0 -0
  47. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/__init__.py +0 -0
  48. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/s3_manager.py +0 -0
  49. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/__init__.py +0 -0
  50. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/azure_devops.py +0 -0
  51. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/__init__.py +0 -0
  52. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/__init__.py +0 -0
  53. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/__init__.py +0 -0
  54. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/printer_pretty_table.py +0 -0
  55. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_rich_table/__init__.py +0 -0
  56. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_rich_table/printer_rich_table.py +0 -0
  57. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/__init__.py +0 -0
  58. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/runtime_local.py +0 -0
  59. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/__init__.py +0 -0
  60. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/entry_point_core.py +0 -0
  61. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/__init__.py +0 -0
  62. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/aws.py +0 -0
  63. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/util.py +0 -0
  64. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_dast/__init__.py +0 -0
  65. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_dast/src/__init__.py +0 -0
  66. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_dast/src/applications/__init__.py +0 -0
  67. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_dast/src/deployment/__init__.py +0 -0
  68. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_dast/src/deployment/infrastructure/__init__.py +0 -0
  69. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_dast/src/domain/__init__.py +0 -0
  70. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_dast/src/domain/model/__init__.py +0 -0
  71. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_dast/src/domain/usecases/__init__.py +0 -0
  72. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_dast/src/infrastructure/__init__.py +0 -0
  73. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/__init__.py +0 -0
  74. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_dast/src/infrastructure/entry_points/__init__.py +0 -0
  75. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_dast/src/infrastructure/helpers/__init__.py +0 -0
  76. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/__init__.py +0 -0
  77. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/__init__.py +0 -0
  78. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/applications/__init__.py +0 -0
  79. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/applications/runner_engine_risk.py +0 -0
  80. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/deployment/__init__.py +0 -0
  81. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/deployment/infrastructure/__init__.py +0 -0
  82. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/domain/__init__.py +0 -0
  83. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/domain/model/__init__.py +0 -0
  84. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/domain/model/gateways/__init__.py +0 -0
  85. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/domain/model/gateways/add_epss_gateway.py +0 -0
  86. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/__init__.py +0 -0
  87. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/add_data.py +0 -0
  88. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/break_build.py +0 -0
  89. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/check_threshold.py +0 -0
  90. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/get_exclusions.py +0 -0
  91. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/handle_filters.py +0 -0
  92. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/infrastructure/__init__.py +0 -0
  93. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/__init__.py +0 -0
  94. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/first_csv/__init__.py +0 -0
  95. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/first_csv/first_epss_csv.py +0 -0
  96. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/__init__.py +0 -0
  97. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/entry_point_risk.py +0 -0
  98. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_risk/src/infrastructure/helpers/__init__.py +0 -0
  99. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/__init__.py +0 -0
  100. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/__init__.py +0 -0
  101. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/__init__.py +0 -0
  102. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/applications/__init__.py +0 -0
  103. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/applications/runner_engine_code.py +0 -0
  104. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/deployment/__init__.py +0 -0
  105. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/deployment/infrastructure/__init__.py +0 -0
  106. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/__init__.py +0 -0
  107. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/__init__.py +0 -0
  108. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/config_tool.py +0 -0
  109. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/gateways/__init__.py +0 -0
  110. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/gateways/tool_gateway.py +0 -0
  111. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases/__init__.py +0 -0
  112. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases/code_scan.py +0 -0
  113. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/__init__.py +0 -0
  114. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/__init__.py +0 -0
  115. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/__init__.py +0 -0
  116. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/bearer_deserealizator.py +0 -0
  117. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/bearer_tool.py +0 -0
  118. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/entry_points/__init__.py +0 -0
  119. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  120. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/helpers/__init__.py +0 -0
  121. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/__init__.py +0 -0
  122. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/__init__.py +0 -0
  123. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/applications/__init__.py +0 -0
  124. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/applications/runner_iac_scan.py +0 -0
  125. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/__init__.py +0 -0
  126. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/infrastructure/__init__.py +0 -0
  127. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/__init__.py +0 -0
  128. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/__init__.py +0 -0
  129. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/config_tool.py +0 -0
  130. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/__init__.py +0 -0
  131. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/tool_gateway.py +0 -0
  132. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/__init__.py +0 -0
  133. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/iac_scan.py +0 -0
  134. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/__init__.py +0 -0
  135. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/__init__.py +0 -0
  136. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/__init__.py +0 -0
  137. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_config.py +0 -0
  138. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_deserealizator.py +0 -0
  139. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/__init__.py +0 -0
  140. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_deserealizator.py +0 -0
  141. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_tool.py +0 -0
  142. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/__init__.py +0 -0
  143. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_deserealizator.py +0 -0
  144. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_tool.py +0 -0
  145. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/__init__.py +0 -0
  146. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  147. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/__init__.py +0 -0
  148. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/file_generator_tool.py +0 -0
  149. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/__init__.py +0 -0
  150. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/__init__.py +0 -0
  151. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/applications/__init__.py +0 -0
  152. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/applications/runner_secret_scan.py +0 -0
  153. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/__init__.py +0 -0
  154. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/infrastructure/__init__.py +0 -0
  155. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/__init__.py +0 -0
  156. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/__init__.py +0 -0
  157. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/__init__.py +0 -0
  158. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/gateway_deserealizator.py +0 -0
  159. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/tool_gateway.py +0 -0
  160. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/__init__.py +0 -0
  161. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/secret_scan.py +0 -0
  162. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/set_input_core.py +0 -0
  163. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/__init__.py +0 -0
  164. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/__init__.py +0 -0
  165. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/__init__.py +0 -0
  166. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_deserealizator.py +0 -0
  167. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/__init__.py +0 -0
  168. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  169. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/__init__.py +0 -0
  170. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/__init__.py +0 -0
  171. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/__init__.py +0 -0
  172. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/applications/__init__.py +0 -0
  173. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/applications/runner_container_scan.py +0 -0
  174. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/deployment/__init__.py +0 -0
  175. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/deployment/infrastructure/__init__.py +0 -0
  176. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/__init__.py +0 -0
  177. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/__init__.py +0 -0
  178. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/__init__.py +0 -0
  179. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/deserealizator_gateway.py +0 -0
  180. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/images_gateway.py +0 -0
  181. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/tool_gateway.py +0 -0
  182. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/__init__.py +0 -0
  183. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/container_sca_scan.py +0 -0
  184. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/handle_remote_config_patterns.py +0 -0
  185. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/set_input_core.py +0 -0
  186. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/__init__.py +0 -0
  187. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/__init__.py +0 -0
  188. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/__init__.py +0 -0
  189. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/docker_images.py +0 -0
  190. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/__init__.py +0 -0
  191. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_cloud_manager_scan.py +0 -0
  192. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_deserialize_output.py +0 -0
  193. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/__init__.py +0 -0
  194. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_deserialize_output.py +0 -0
  195. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_manager_scan.py +0 -0
  196. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/__init__.py +0 -0
  197. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  198. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/helpers/__init__.py +0 -0
  199. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/__init__.py +0 -0
  200. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/__init__.py +0 -0
  201. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/__init__.py +0 -0
  202. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/runner_dependencies_scan.py +0 -0
  203. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/__init__.py +0 -0
  204. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/infrastructure/__init__.py +0 -0
  205. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/__init__.py +0 -0
  206. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/__init__.py +0 -0
  207. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/__init__.py +0 -0
  208. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/deserializator_gateway.py +0 -0
  209. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/tool_gateway.py +0 -0
  210. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/__init__.py +0 -0
  211. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/dependencies_sca_scan.py +0 -0
  212. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/handle_remote_config_patterns.py +0 -0
  213. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/set_input_core.py +0 -0
  214. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/__init__.py +0 -0
  215. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/__init__.py +0 -0
  216. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/__init__.py +0 -0
  217. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_deserialize.py +0 -0
  218. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_tool.py +0 -0
  219. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/__init__.py +0 -0
  220. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_deserialize_output.py +0 -0
  221. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_manager_scan.py +0 -0
  222. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/__init__.py +0 -0
  223. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  224. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/__init__.py +0 -0
  225. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/get_artifacts.py +0 -0
  226. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/__init__.py +0 -0
  227. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/azuredevops/__init__.py +0 -0
  228. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure/__init__.py +0 -0
  229. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure/azure_devops_api.py +0 -0
  230. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzureMessageLoggingPipeline.py +0 -0
  231. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzurePredefinedVariables.py +0 -0
  232. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/azuredevops/models/__init__.py +0 -0
  233. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/__init__.py +0 -0
  234. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/__init__.py +0 -0
  235. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/connect.py +0 -0
  236. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/defect_dojo.py +0 -0
  237. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/engagement.py +0 -0
  238. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/finding.py +0 -0
  239. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/product.py +0 -0
  240. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/__init__.py +0 -0
  241. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/__init__.py +0 -0
  242. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/cmdb.py +0 -0
  243. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/engagement.py +0 -0
  244. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/finding.py +0 -0
  245. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product.py +0 -0
  246. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_list.py +0 -0
  247. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type.py +0 -0
  248. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type_list.py +0 -0
  249. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/scan_configuration.py +0 -0
  250. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/__init__.py +0 -0
  251. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/finding.py +0 -0
  252. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/import_scan.py +0 -0
  253. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/__init__.py +0 -0
  254. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/finding.py +0 -0
  255. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/import_scan.py +0 -0
  256. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/__init__.py +0 -0
  257. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/cmdb.py +0 -0
  258. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/engagement.py +0 -0
  259. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/finding.py +0 -0
  260. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/import_scan.py +0 -0
  261. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/product.py +0 -0
  262. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/hello_world.py +0 -0
  263. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/__init__.py +0 -0
  264. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/__init__.py +0 -0
  265. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/cmdb.py +0 -0
  266. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/engagement.py +0 -0
  267. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/finding.py +0 -0
  268. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/import_scan.py +0 -0
  269. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product.py +0 -0
  270. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product_type.py +0 -0
  271. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/scan_configurations.py +0 -0
  272. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/__init__.py +0 -0
  273. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/settings.py +0 -0
  274. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/repository/__init__.py +0 -0
  275. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/git_cli/__init__.py +0 -0
  276. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/git_cli/infrastructure/__init__.py +0 -0
  277. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/git_cli/infrastructure/git_run.py +0 -0
  278. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/git_cli/model/__init__.py +0 -0
  279. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/git_cli/model/gateway/__init__.py +0 -0
  280. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/git_cli/model/gateway/git_gateway.py +0 -0
  281. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/github/__init__.py +0 -0
  282. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/github/infrastructure/__init__.py +0 -0
  283. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/github/models/GithubPredefinedVariables.py +0 -0
  284. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/github/models/__init__.py +0 -0
  285. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/input_validations/__init__.py +0 -0
  286. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/input_validations/env_utils.py +0 -0
  287. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/input_validations/validate_input_with_regex_letters_number_and_only.py +0 -0
  288. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/settings.py +0 -0
  289. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/sonarqube/__init__.py +0 -0
  290. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/__init__.py +0 -0
  291. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/applications/__init__.py +0 -0
  292. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/applications/runner_report_sonar.py +0 -0
  293. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/__init__.py +0 -0
  294. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/__init__.py +0 -0
  295. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/gateways/__init__.py +0 -0
  296. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/gateways/sonar_gateway.py +0 -0
  297. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases/__init__.py +0 -0
  298. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases/report_sonar.py +0 -0
  299. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/__init__.py +0 -0
  300. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/__init__.py +0 -0
  301. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/sonarqube/__init__.py +0 -0
  302. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/sonarqube/sonarqube_report.py +0 -0
  303. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/entry_points/__init__.py +0 -0
  304. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/helpers/__init__.py +0 -0
  305. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/helpers/utils.py +0 -0
  306. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/ssh/__init__.py +0 -0
  307. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/ssh/managment_private_key.py +0 -0
  308. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/utils/__init__.py +0 -0
  309. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/utils/api_error.py +0 -0
  310. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/utils/dataclass_classmethod.py +0 -0
  311. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/utils/datetime_parsing.py +0 -0
  312. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/utils/logger_info.py +0 -0
  313. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/utils/name_conversion.py +0 -0
  314. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/utils/printers.py +0 -0
  315. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools/engine_utilities/utils/session_manager.py +0 -0
  316. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools.egg-info/SOURCES.txt +0 -0
  317. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools.egg-info/dependency_links.txt +0 -0
  318. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools.egg-info/entry_points.txt +0 -0
  319. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools.egg-info/requires.txt +0 -0
  320. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/devsecops_engine_tools.egg-info/top_level.txt +0 -0
  321. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/setup.cfg +0 -0
  322. {devsecops_engine_tools-1.20.0 → devsecops_engine_tools-1.22.0}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: devsecops-engine-tools
3
- Version: 1.20.0
3
+ Version: 1.22.0
4
4
  Summary: Tool for DevSecOps strategy
5
5
  Home-page: https://github.com/bancolombia/devsecops-engine-tools
6
6
  Author: Bancolombia DevSecOps Team
@@ -144,7 +144,7 @@ def get_inputs_from_cli(args):
144
144
  parser.add_argument(
145
145
  "--token_external_checks",
146
146
  required=False,
147
- help="Token for downloading external checks from engine_iac or engine_secret if is necessary. Ej: github:token, ssh:privatekey:pass",
147
+ 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
148
  )
149
149
  parser.add_argument(
150
150
  "--xray_mode",
@@ -243,7 +243,7 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
243
243
  self.FALSE_POSITIVE,
244
244
  )
245
245
 
246
- exclusions_false_positive = self._get_findings_with_exclusions(
246
+ exclusions_out_of_scope = self._get_findings_with_exclusions(
247
247
  session_manager,
248
248
  service,
249
249
  dd_max_retries,
@@ -266,6 +266,7 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
266
266
  return (
267
267
  list(exclusions_risk_accepted)
268
268
  + list(exclusions_false_positive)
269
+ + list(exclusions_out_of_scope)
269
270
  + list(exclusions_transfer_finding)
270
271
  )
271
272
  except Exception as ex:
@@ -28,11 +28,8 @@ class GithubActions(DevopsPlatformGateway):
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()
31
+ utils_github = GithubApi()
32
+ git_client = utils_github.get_github_connection(SystemVariables.github_access_token.value())
36
33
  json_config = utils_github.get_remote_json_config(git_client, owner, repository, path)
37
34
 
38
35
  return json_config
@@ -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
@@ -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"]
@@ -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:
@@ -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,9 +48,8 @@ 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
55
  def get_remote_json_config(self, git_client: Github, owner, repository, path):
@@ -65,4 +61,4 @@ class GithubApi:
65
61
 
66
62
  return content_json
67
63
  except Exception as e:
68
- raise ApiError("Error getting remote github configuration file: " + str(e))
64
+ raise ApiError("Error getting remote github configuration file: " + str(e))
@@ -26,8 +26,9 @@ def init_report_sonar(vulnerability_management_gateway, secrets_manager_gateway,
26
26
  branch = devops_platform_gateway.get_variable("branch_name")
27
27
  is_valid_pipeline = not re.match(report_config_tool["IGNORE_SEARCH_PATTERN"], pipeline_name, re.IGNORECASE)
28
28
  is_valid_branch = branch in report_config_tool["TARGET_BRANCHES"]
29
-
30
- if config_tool["REPORT_SONAR"]["ENABLED"] == "true" and is_valid_pipeline and is_valid_branch:
29
+ is_enabled = config_tool["REPORT_SONAR"]["ENABLED"] == "true"
30
+
31
+ if is_enabled and is_valid_pipeline and is_valid_branch:
31
32
  input_core = ReportSonar(
32
33
  vulnerability_management_gateway,
33
34
  secrets_manager_gateway,
@@ -40,7 +41,10 @@ def init_report_sonar(vulnerability_management_gateway, secrets_manager_gateway,
40
41
  config_tool, input_core, {"tool": "report_sonar"}, ""
41
42
  )
42
43
  else:
44
+ if not is_enabled: message = "DevSecOps Engine Tool - {0} in maintenance...".format("report_sonar")
45
+ else: message = "Tool skipped by DevSecOps policy"
46
+
43
47
  print(
44
48
  devops_platform_gateway.message(
45
- "warning", "DevSecOps Engine Tool - {0} in maintenance...".format("report_sonar")),
49
+ "warning", message),
46
50
  )
@@ -0,0 +1,138 @@
1
+ import zipfile
2
+ import platform
3
+ from devsecops_engine_tools.engine_utilities.github.infrastructure.github_api import (
4
+ GithubApi,
5
+ )
6
+ from devsecops_engine_tools.engine_utilities.ssh.managment_private_key import (
7
+ create_ssh_private_file,
8
+ add_ssh_private_key,
9
+ decode_base64,
10
+ config_knowns_hosts,
11
+ )
12
+ from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
13
+ from devsecops_engine_tools.engine_utilities import settings
14
+ logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
15
+ import base64
16
+ import re
17
+
18
+ from devsecops_engine_tools.engine_core.src.domain.model.threshold import Threshold
19
+ from devsecops_engine_tools.engine_core.src.domain.model.level_vulnerability import (
20
+ LevelVulnerability,
21
+ )
22
+ from devsecops_engine_tools.engine_core.src.domain.model.level_compliance import (
23
+ LevelCompliance,
24
+ )
25
+
26
+
27
+ class Utils:
28
+
29
+ def unzip_file(self, zip_file_path, extract_path):
30
+ with zipfile.ZipFile(zip_file_path, "r") as zip_ref:
31
+ zip_ref.extractall(extract_path)
32
+
33
+ def configurate_external_checks(self, tool, config_tool, secret_tool, secret_external_checks):
34
+ try:
35
+ agent_env = None
36
+ secret = None
37
+ github_token = None
38
+ github_api = GithubApi()
39
+
40
+ if secret_tool is not None:
41
+ secret = secret_tool
42
+ github_token = github_api.get_installation_access_token(
43
+ secret["github_token"],
44
+ config_tool[tool]["APP_ID_GITHUB"],
45
+ config_tool[tool]["INSTALLATION_ID_GITHUB"]
46
+ )
47
+
48
+ elif secret_external_checks is not None:
49
+ secret_external_checks_parts = {
50
+ "github_token": (
51
+ secret_external_checks.split("github_token:")[1]
52
+ if "github_token" in secret_external_checks
53
+ else None
54
+ ),
55
+ "github_apps": (
56
+ secret_external_checks.split("github_apps:")[1]
57
+ if "github_apps" in secret_external_checks
58
+ else None
59
+ ),
60
+ "repository_ssh_private_key": (
61
+ secret_external_checks.split("ssh:")[1].split(":")[0]
62
+ if "ssh" in secret_external_checks
63
+ else None
64
+ ),
65
+ "repository_ssh_password": (
66
+ secret_external_checks.split("ssh:")[1].split(":")[1]
67
+ if "ssh" in secret_external_checks
68
+ else None
69
+ ),
70
+ }
71
+
72
+ secret = {
73
+ key: secret_external_checks_parts[key]
74
+ for key in secret_external_checks_parts
75
+ if secret_external_checks_parts[key] is not None
76
+ }
77
+
78
+ if secret is None:
79
+ logger.warning("The secret is not configured for external controls")
80
+
81
+
82
+ elif config_tool[tool]["USE_EXTERNAL_CHECKS_GIT"] == "True" and platform.system() in (
83
+ "Linux", "Darwin",
84
+ ):
85
+ config_knowns_hosts(
86
+ config_tool[tool]["EXTERNAL_GIT_SSH_HOST"],
87
+ config_tool[tool]["EXTERNAL_GIT_PUBLIC_KEY_FINGERPRINT"],
88
+ )
89
+ ssh_key_content = decode_base64(secret["repository_ssh_private_key"])
90
+ ssh_key_file_path = "/tmp/ssh_key_file"
91
+ create_ssh_private_file(ssh_key_file_path, ssh_key_content)
92
+ ssh_key_password = decode_base64(secret["repository_ssh_password"])
93
+ agent_env = add_ssh_private_key(ssh_key_file_path, ssh_key_password)
94
+
95
+ elif config_tool[tool]["USE_EXTERNAL_CHECKS_DIR"] == "True":
96
+ if not github_token:
97
+ github_token = github_api.get_installation_access_token(
98
+ secret.get("github_apps"),
99
+ config_tool[tool]["APP_ID_GITHUB"],
100
+ config_tool[tool]["INSTALLATION_ID_GITHUB"]
101
+ ) if secret.get("github_apps") else secret.get("github_token")
102
+ github_api.download_latest_release_assets(
103
+ config_tool[tool]["EXTERNAL_DIR_OWNER"],
104
+ config_tool[tool]["EXTERNAL_DIR_REPOSITORY"],
105
+ github_token,
106
+ "/tmp",
107
+ )
108
+
109
+ except Exception as ex:
110
+ logger.error(f"An error occurred configuring external checks: {ex}")
111
+ return agent_env
112
+
113
+ def encode_token_to_base64(self, token):
114
+ token_bytes = f"{token}:".encode("utf-8")
115
+ base64_token = base64.b64encode(token_bytes).decode("utf-8")
116
+ return base64_token
117
+
118
+ def update_threshold(self, threshold: Threshold, exclusions_data, pipeline_name):
119
+ def set_threshold(new_threshold):
120
+ threshold.vulnerability = LevelVulnerability(new_threshold.get("VULNERABILITY"))
121
+ threshold.compliance = LevelCompliance(new_threshold.get("COMPLIANCE")) if new_threshold.get("COMPLIANCE") else threshold.compliance
122
+ threshold.cve = new_threshold.get("CVE") if new_threshold.get("CVE") is not None else threshold.cve
123
+ return threshold
124
+
125
+ threshold_pipeline = exclusions_data.get(pipeline_name, {}).get("THRESHOLD", {})
126
+ if threshold_pipeline:
127
+ return set_threshold(threshold_pipeline)
128
+
129
+ search_patterns = exclusions_data.get("BY_PATTERN_SEARCH", {})
130
+
131
+ match_pattern = next(
132
+ (v["THRESHOLD"]
133
+ for pattern, v in search_patterns.items()
134
+ if re.match(pattern, pipeline_name, re.IGNORECASE)),
135
+ None
136
+ )
137
+
138
+ return set_threshold(match_pattern) if match_pattern else threshold
@@ -0,0 +1 @@
1
+ version = '1.22.0'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: devsecops-engine-tools
3
- Version: 1.20.0
3
+ Version: 1.22.0
4
4
  Summary: Tool for DevSecOps strategy
5
5
  Home-page: https://github.com/bancolombia/devsecops-engine-tools
6
6
  Author: Bancolombia DevSecOps Team
@@ -1,45 +0,0 @@
1
- import zipfile
2
- import base64
3
- import re
4
-
5
- from devsecops_engine_tools.engine_core.src.domain.model.threshold import Threshold
6
- from devsecops_engine_tools.engine_core.src.domain.model.level_vulnerability import (
7
- LevelVulnerability,
8
- )
9
- from devsecops_engine_tools.engine_core.src.domain.model.level_compliance import (
10
- LevelCompliance,
11
- )
12
-
13
-
14
- class Utils:
15
-
16
- def unzip_file(self, zip_file_path, extract_path):
17
- with zipfile.ZipFile(zip_file_path, "r") as zip_ref:
18
- zip_ref.extractall(extract_path)
19
-
20
- def encode_token_to_base64(self, token):
21
- token_bytes = f"{token}:".encode("utf-8")
22
- base64_token = base64.b64encode(token_bytes).decode("utf-8")
23
- return base64_token
24
-
25
- def update_threshold(self, threshold: Threshold, exclusions_data, pipeline_name):
26
- def set_threshold(new_threshold):
27
- threshold.vulnerability = LevelVulnerability(new_threshold.get("VULNERABILITY"))
28
- threshold.compliance = LevelCompliance(new_threshold.get("COMPLIANCE")) if new_threshold.get("COMPLIANCE") else threshold.compliance
29
- threshold.cve = new_threshold.get("CVE") if new_threshold.get("CVE") is not None else threshold.cve
30
- return threshold
31
-
32
- threshold_pipeline = exclusions_data.get(pipeline_name, {}).get("THRESHOLD", {})
33
- if threshold_pipeline:
34
- return set_threshold(threshold_pipeline)
35
-
36
- search_patterns = exclusions_data.get("BY_PATTERN_SEARCH", {})
37
-
38
- match_pattern = next(
39
- (v["THRESHOLD"]
40
- for pattern, v in search_patterns.items()
41
- if re.match(pattern, pipeline_name, re.IGNORECASE)),
42
- None
43
- )
44
-
45
- return set_threshold(match_pattern) if match_pattern else threshold
@@ -1 +0,0 @@
1
- version = '1.20.0'