devsecops-engine-tools 1.18.3__tar.gz → 1.19.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 (321) hide show
  1. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/PKG-INFO +1 -1
  2. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/domain/model/report.py +1 -0
  3. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/domain/usecases/handle_risk.py +1 -1
  4. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/s3_manager.py +15 -10
  5. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/secrets_manager.py +15 -8
  6. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py +38 -9
  7. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases/code_scan.py +49 -31
  8. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/iac_scan.py +22 -11
  9. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/secret_scan.py +3 -0
  10. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/set_input_core.py +24 -7
  11. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/set_input_core.py +8 -4
  12. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/entry_point_tool.py +1 -1
  13. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/set_input_core.py +6 -13
  14. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/entry_point_tool.py +2 -2
  15. devsecops_engine_tools-1.19.0/devsecops_engine_tools/engine_utilities/utils/utils.py +40 -0
  16. devsecops_engine_tools-1.19.0/devsecops_engine_tools/version.py +1 -0
  17. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools.egg-info/PKG-INFO +1 -1
  18. devsecops_engine_tools-1.18.3/devsecops_engine_tools/engine_utilities/utils/utils.py +0 -13
  19. devsecops_engine_tools-1.18.3/devsecops_engine_tools/version.py +0 -1
  20. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/README.md +0 -0
  21. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/__init__.py +0 -0
  22. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/__init__.py +0 -0
  23. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/__init__.py +0 -0
  24. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/applications/__init__.py +0 -0
  25. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/applications/runner_engine_core.py +0 -0
  26. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/deployment/__init__.py +0 -0
  27. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/deployment/infrastructure/__init__.py +0 -0
  28. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/domain/__init__.py +0 -0
  29. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/domain/model/__init__.py +0 -0
  30. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/domain/model/customs_exceptions.py +0 -0
  31. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/domain/model/exclusions.py +0 -0
  32. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/domain/model/finding.py +0 -0
  33. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/__init__.py +0 -0
  34. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/devops_platform_gateway.py +0 -0
  35. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/metrics_manager_gateway.py +0 -0
  36. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/printer_table_gateway.py +0 -0
  37. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/secrets_manager_gateway.py +0 -0
  38. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/vulnerability_management_gateway.py +0 -0
  39. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/domain/model/input_core.py +0 -0
  40. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/domain/model/level_compliance.py +0 -0
  41. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/domain/model/level_vulnerability.py +0 -0
  42. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/domain/model/threshold.py +0 -0
  43. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/domain/model/vulnerability_management.py +0 -0
  44. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/domain/usecases/__init__.py +0 -0
  45. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/domain/usecases/break_build.py +0 -0
  46. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/domain/usecases/handle_scan.py +0 -0
  47. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/domain/usecases/metrics_manager.py +0 -0
  48. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/infrastructure/__init__.py +0 -0
  49. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/__init__.py +0 -0
  50. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/__init__.py +0 -0
  51. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/__init__.py +0 -0
  52. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/azure_devops.py +0 -0
  53. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/__init__.py +0 -0
  54. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/__init__.py +0 -0
  55. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/github_actions.py +0 -0
  56. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/__init__.py +0 -0
  57. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/printer_pretty_table.py +0 -0
  58. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_rich_table/__init__.py +0 -0
  59. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_rich_table/printer_rich_table.py +0 -0
  60. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/__init__.py +0 -0
  61. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/runtime_local.py +0 -0
  62. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/__init__.py +0 -0
  63. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/entry_point_core.py +0 -0
  64. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/__init__.py +0 -0
  65. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/aws.py +0 -0
  66. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/util.py +0 -0
  67. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_dast/__init__.py +0 -0
  68. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_dast/src/__init__.py +0 -0
  69. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_dast/src/applications/__init__.py +0 -0
  70. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_dast/src/deployment/__init__.py +0 -0
  71. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_dast/src/deployment/infrastructure/__init__.py +0 -0
  72. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_dast/src/domain/__init__.py +0 -0
  73. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_dast/src/domain/model/__init__.py +0 -0
  74. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_dast/src/domain/usecases/__init__.py +0 -0
  75. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_dast/src/infrastructure/__init__.py +0 -0
  76. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/__init__.py +0 -0
  77. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_dast/src/infrastructure/entry_points/__init__.py +0 -0
  78. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_dast/src/infrastructure/helpers/__init__.py +0 -0
  79. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_risk/__init__.py +0 -0
  80. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_risk/src/__init__.py +0 -0
  81. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_risk/src/applications/__init__.py +0 -0
  82. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_risk/src/applications/runner_engine_risk.py +0 -0
  83. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_risk/src/deployment/__init__.py +0 -0
  84. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_risk/src/deployment/infrastructure/__init__.py +0 -0
  85. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_risk/src/domain/__init__.py +0 -0
  86. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_risk/src/domain/model/__init__.py +0 -0
  87. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_risk/src/domain/model/gateways/__init__.py +0 -0
  88. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_risk/src/domain/model/gateways/add_epss_gateway.py +0 -0
  89. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/__init__.py +0 -0
  90. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/add_data.py +0 -0
  91. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/break_build.py +0 -0
  92. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/get_exclusions.py +0 -0
  93. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/handle_filters.py +0 -0
  94. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_risk/src/infrastructure/__init__.py +0 -0
  95. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/__init__.py +0 -0
  96. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/first_csv/__init__.py +0 -0
  97. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/first_csv/first_epss_csv.py +0 -0
  98. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/__init__.py +0 -0
  99. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/entry_point_risk.py +0 -0
  100. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_risk/src/infrastructure/helpers/__init__.py +0 -0
  101. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/__init__.py +0 -0
  102. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_code/__init__.py +0 -0
  103. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_code/src/__init__.py +0 -0
  104. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_code/src/applications/__init__.py +0 -0
  105. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_code/src/applications/runner_engine_code.py +0 -0
  106. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_code/src/deployment/__init__.py +0 -0
  107. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_code/src/deployment/infrastructure/__init__.py +0 -0
  108. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/__init__.py +0 -0
  109. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/__init__.py +0 -0
  110. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/config_tool.py +0 -0
  111. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/gateways/__init__.py +0 -0
  112. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/gateways/tool_gateway.py +0 -0
  113. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases/__init__.py +0 -0
  114. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/__init__.py +0 -0
  115. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/__init__.py +0 -0
  116. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/__init__.py +0 -0
  117. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/bearer_deserealizator.py +0 -0
  118. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/bearer_tool.py +0 -0
  119. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/entry_points/__init__.py +0 -0
  120. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  121. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/helpers/__init__.py +0 -0
  122. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_iac/__init__.py +0 -0
  123. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_iac/src/__init__.py +0 -0
  124. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_iac/src/applications/__init__.py +0 -0
  125. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_iac/src/applications/runner_iac_scan.py +0 -0
  126. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/__init__.py +0 -0
  127. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/infrastructure/__init__.py +0 -0
  128. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/__init__.py +0 -0
  129. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/__init__.py +0 -0
  130. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/config_tool.py +0 -0
  131. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/__init__.py +0 -0
  132. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/tool_gateway.py +0 -0
  133. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/__init__.py +0 -0
  134. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/__init__.py +0 -0
  135. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/__init__.py +0 -0
  136. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/__init__.py +0 -0
  137. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_config.py +0 -0
  138. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_deserealizator.py +0 -0
  139. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_tool.py +0 -0
  140. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/__init__.py +0 -0
  141. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_deserealizator.py +0 -0
  142. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_tool.py +0 -0
  143. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/__init__.py +0 -0
  144. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_deserealizator.py +0 -0
  145. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_tool.py +0 -0
  146. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/__init__.py +0 -0
  147. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  148. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/__init__.py +0 -0
  149. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/file_generator_tool.py +0 -0
  150. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_secret/__init__.py +0 -0
  151. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_secret/src/__init__.py +0 -0
  152. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_secret/src/applications/__init__.py +0 -0
  153. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_secret/src/applications/runner_secret_scan.py +0 -0
  154. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/__init__.py +0 -0
  155. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/infrastructure/__init__.py +0 -0
  156. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/__init__.py +0 -0
  157. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/DeserializeConfigTool.py +0 -0
  158. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/__init__.py +0 -0
  159. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/__init__.py +0 -0
  160. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/gateway_deserealizator.py +0 -0
  161. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/tool_gateway.py +0 -0
  162. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/__init__.py +0 -0
  163. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/__init__.py +0 -0
  164. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/__init__.py +0 -0
  165. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/__init__.py +0 -0
  166. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_deserealizator.py +0 -0
  167. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_run.py +0 -0
  168. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/__init__.py +0 -0
  169. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  170. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/__init__.py +0 -0
  171. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_container/__init__.py +0 -0
  172. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_container/src/__init__.py +0 -0
  173. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_container/src/applications/__init__.py +0 -0
  174. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_container/src/applications/runner_container_scan.py +0 -0
  175. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_container/src/deployment/__init__.py +0 -0
  176. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_container/src/deployment/infrastructure/__init__.py +0 -0
  177. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/__init__.py +0 -0
  178. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/__init__.py +0 -0
  179. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/__init__.py +0 -0
  180. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/deserealizator_gateway.py +0 -0
  181. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/images_gateway.py +0 -0
  182. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/tool_gateway.py +0 -0
  183. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/__init__.py +0 -0
  184. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/container_sca_scan.py +0 -0
  185. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/handle_remote_config_patterns.py +0 -0
  186. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/__init__.py +0 -0
  187. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/__init__.py +0 -0
  188. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/__init__.py +0 -0
  189. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/docker_images.py +0 -0
  190. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/__init__.py +0 -0
  191. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.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.18.3 → devsecops_engine_tools-1.19.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.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/__init__.py +0 -0
  194. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.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.18.3 → devsecops_engine_tools-1.19.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.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/__init__.py +0 -0
  197. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/helpers/__init__.py +0 -0
  198. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_dependencies/__init__.py +0 -0
  199. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/__init__.py +0 -0
  200. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/__init__.py +0 -0
  201. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/runner_dependencies_scan.py +0 -0
  202. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/__init__.py +0 -0
  203. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/infrastructure/__init__.py +0 -0
  204. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/__init__.py +0 -0
  205. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/__init__.py +0 -0
  206. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/__init__.py +0 -0
  207. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/deserializator_gateway.py +0 -0
  208. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/tool_gateway.py +0 -0
  209. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/__init__.py +0 -0
  210. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/dependencies_sca_scan.py +0 -0
  211. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/handle_remote_config_patterns.py +0 -0
  212. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/__init__.py +0 -0
  213. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/__init__.py +0 -0
  214. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/__init__.py +0 -0
  215. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_deserialize.py +0 -0
  216. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_tool.py +0 -0
  217. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/__init__.py +0 -0
  218. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_deserialize_output.py +0 -0
  219. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_manager_scan.py +0 -0
  220. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/__init__.py +0 -0
  221. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/__init__.py +0 -0
  222. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/get_artifacts.py +0 -0
  223. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/__init__.py +0 -0
  224. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/azuredevops/__init__.py +0 -0
  225. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure/__init__.py +0 -0
  226. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure/azure_devops_api.py +0 -0
  227. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzureMessageLoggingPipeline.py +0 -0
  228. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzurePredefinedVariables.py +0 -0
  229. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/azuredevops/models/__init__.py +0 -0
  230. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/__init__.py +0 -0
  231. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/__init__.py +0 -0
  232. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/connect.py +0 -0
  233. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/defect_dojo.py +0 -0
  234. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/engagement.py +0 -0
  235. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/finding.py +0 -0
  236. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/product.py +0 -0
  237. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/__init__.py +0 -0
  238. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/__init__.py +0 -0
  239. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/cmdb.py +0 -0
  240. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/engagement.py +0 -0
  241. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/finding.py +0 -0
  242. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product.py +0 -0
  243. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_list.py +0 -0
  244. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type.py +0 -0
  245. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type_list.py +0 -0
  246. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/scan_configuration.py +0 -0
  247. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/__init__.py +0 -0
  248. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/finding.py +0 -0
  249. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/import_scan.py +0 -0
  250. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/__init__.py +0 -0
  251. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/finding.py +0 -0
  252. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/import_scan.py +0 -0
  253. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/__init__.py +0 -0
  254. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/cmdb.py +0 -0
  255. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/engagement.py +0 -0
  256. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/finding.py +0 -0
  257. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/import_scan.py +0 -0
  258. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/product.py +0 -0
  259. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/hello_world.py +0 -0
  260. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/__init__.py +0 -0
  261. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/__init__.py +0 -0
  262. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/cmdb.py +0 -0
  263. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/engagement.py +0 -0
  264. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/finding.py +0 -0
  265. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/import_scan.py +0 -0
  266. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product.py +0 -0
  267. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product_type.py +0 -0
  268. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/scan_configurations.py +0 -0
  269. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/__init__.py +0 -0
  270. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/settings.py +0 -0
  271. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/repository/__init__.py +0 -0
  272. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/git_cli/__init__.py +0 -0
  273. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/git_cli/infrastructure/__init__.py +0 -0
  274. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/git_cli/infrastructure/git_run.py +0 -0
  275. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/git_cli/model/__init__.py +0 -0
  276. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/git_cli/model/gateway/__init__.py +0 -0
  277. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/git_cli/model/gateway/git_gateway.py +0 -0
  278. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/github/__init__.py +0 -0
  279. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/github/infrastructure/__init__.py +0 -0
  280. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/github/infrastructure/github_api.py +0 -0
  281. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/github/models/GithubPredefinedVariables.py +0 -0
  282. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/github/models/__init__.py +0 -0
  283. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/input_validations/__init__.py +0 -0
  284. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/input_validations/env_utils.py +0 -0
  285. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/input_validations/validate_input_with_regex_letters_number_and_only.py +0 -0
  286. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/settings.py +0 -0
  287. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/sonarqube/__init__.py +0 -0
  288. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/__init__.py +0 -0
  289. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/applications/__init__.py +0 -0
  290. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/applications/runner_report_sonar.py +0 -0
  291. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/__init__.py +0 -0
  292. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/__init__.py +0 -0
  293. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/gateways/__init__.py +0 -0
  294. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/gateways/sonar_gateway.py +0 -0
  295. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases/__init__.py +0 -0
  296. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases/report_sonar.py +0 -0
  297. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/__init__.py +0 -0
  298. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/__init__.py +0 -0
  299. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/sonarqube/__init__.py +0 -0
  300. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/sonarqube/sonarqube_report.py +0 -0
  301. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/entry_points/__init__.py +0 -0
  302. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/entry_points/entry_point_report_sonar.py +0 -0
  303. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/helpers/__init__.py +0 -0
  304. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/helpers/utils.py +0 -0
  305. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/ssh/__init__.py +0 -0
  306. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/ssh/managment_private_key.py +0 -0
  307. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/utils/__init__.py +0 -0
  308. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/utils/api_error.py +0 -0
  309. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/utils/dataclass_classmethod.py +0 -0
  310. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/utils/datetime_parsing.py +0 -0
  311. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/utils/logger_info.py +0 -0
  312. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/utils/name_conversion.py +0 -0
  313. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/utils/printers.py +0 -0
  314. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools/engine_utilities/utils/session_manager.py +0 -0
  315. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools.egg-info/SOURCES.txt +0 -0
  316. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools.egg-info/dependency_links.txt +0 -0
  317. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools.egg-info/entry_points.txt +0 -0
  318. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools.egg-info/requires.txt +0 -0
  319. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/devsecops_engine_tools.egg-info/top_level.txt +0 -0
  320. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/setup.cfg +0 -0
  321. {devsecops_engine_tools-1.18.3 → devsecops_engine_tools-1.19.0}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: devsecops-engine-tools
3
- Version: 1.18.3
3
+ Version: 1.19.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
@@ -28,6 +28,7 @@ class Report:
28
28
  self.vul_description = kwargs.get("vul_description", "")
29
29
  self.risk_accepted = kwargs.get("risk_accepted", "")
30
30
  self.false_p = kwargs.get("false_p", "")
31
+ self.out_of_scope = kwargs.get("out_of_scope", "")
31
32
  self.service = kwargs.get("service", "")
32
33
  self.reason = kwargs.get("reason", "")
33
34
  self.component_name = kwargs.get("component_name", "")
@@ -147,7 +147,7 @@ class HandleRisk:
147
147
 
148
148
  if self._should_skip_analysis(risk_config, pipeline_name, risk_exclusions):
149
149
  print("Tool skipped by DevSecOps Policy.")
150
- logger.info("Tool skipped by DevSecOps Policy.")
150
+ dict_args["send_metrics"] = "false"
151
151
  return [], input_core
152
152
 
153
153
  secret_tool = None
@@ -24,17 +24,22 @@ class S3Manager(MetricsManagerGateway):
24
24
  return ""
25
25
 
26
26
  def send_metrics(self, config_tool, tool, file_path):
27
- temp_credentials = assume_role(
28
- config_tool["METRICS_MANAGER"]["AWS"]["ROLE_ARN"]
29
- )
27
+ credentials_role = assume_role(config_tool["METRICS_MANAGER"]["AWS"]["ROLE_ARN"]) if config_tool["METRICS_MANAGER"]["AWS"]["USE_ROLE"] else None
30
28
  session = boto3.session.Session()
31
- client = session.client(
32
- service_name="s3",
33
- region_name=config_tool["METRICS_MANAGER"]["AWS"]["REGION_NAME"],
34
- aws_access_key_id=temp_credentials["AccessKeyId"],
35
- aws_secret_access_key=temp_credentials["SecretAccessKey"],
36
- aws_session_token=temp_credentials["SessionToken"],
37
- )
29
+
30
+ if credentials_role:
31
+ client = session.client(
32
+ service_name="s3",
33
+ region_name=config_tool["METRICS_MANAGER"]["AWS"]["REGION_NAME"],
34
+ aws_access_key_id=credentials_role["AccessKeyId"],
35
+ aws_secret_access_key=credentials_role["SecretAccessKey"],
36
+ aws_session_token=credentials_role["SessionToken"],
37
+ )
38
+ else:
39
+ client = session.client(
40
+ service_name="s3",
41
+ region_name=config_tool["METRICS_MANAGER"]["AWS"]["REGION_NAME"]
42
+ )
38
43
  date = datetime.datetime.now()
39
44
  path_bucket = f'engine_tools/{tool}/{date.strftime("%Y")}/{date.strftime("%m")}/{date.strftime("%d")}/{file_path.split("/")[-1]}'
40
45
 
@@ -19,15 +19,22 @@ logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
19
19
  @dataclass
20
20
  class SecretsManager(SecretsManagerGateway):
21
21
  def get_secret(self, config_tool):
22
- temp_credentials = assume_role(config_tool["SECRET_MANAGER"]["AWS"]["ROLE_ARN"])
22
+ credentials_role = assume_role(config_tool["SECRET_MANAGER"]["AWS"]["ROLE_ARN"]) if config_tool["SECRET_MANAGER"]["AWS"]["USE_ROLE"] else None
23
23
  session = boto3.session.Session()
24
- client = session.client(
25
- service_name="secretsmanager",
26
- region_name=config_tool["SECRET_MANAGER"]["AWS"]["REGION_NAME"],
27
- aws_access_key_id=temp_credentials["AccessKeyId"],
28
- aws_secret_access_key=temp_credentials["SecretAccessKey"],
29
- aws_session_token=temp_credentials["SessionToken"],
30
- )
24
+
25
+ if credentials_role:
26
+ client = session.client(
27
+ service_name="secretsmanager",
28
+ region_name=config_tool["SECRET_MANAGER"]["AWS"]["REGION_NAME"],
29
+ aws_access_key_id=credentials_role["AccessKeyId"],
30
+ aws_secret_access_key=credentials_role["SecretAccessKey"],
31
+ aws_session_token=credentials_role["SessionToken"],
32
+ )
33
+ else:
34
+ client = session.client(
35
+ service_name="secretsmanager",
36
+ region_name=config_tool["SECRET_MANAGER"]["AWS"]["REGION_NAME"],
37
+ )
31
38
 
32
39
  try:
33
40
  secret_name = config_tool["SECRET_MANAGER"]["AWS"]["SECRET_NAME"]
@@ -39,6 +39,11 @@ logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
39
39
 
40
40
  @dataclass
41
41
  class DefectDojoPlatform(VulnerabilityManagementGateway):
42
+
43
+ OUT_OF_SCOPE = "Out of Scope"
44
+ FALSE_POSITIVE = "False Positive"
45
+ TRANSFERRED_FINDING = "Transferred Finding"
46
+
42
47
  def send_vulnerability_management(
43
48
  self, vulnerability_management: VulnerabilityManagement
44
49
  ):
@@ -80,6 +85,9 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
80
85
  "VULNERABILITY_MANAGER"
81
86
  ]["BRANCH_FILTER"].split(",")
82
87
  ) or (vulnerability_management.dict_args["tool"] == "engine_secret"):
88
+ tags = vulnerability_management.dict_args["tool"]
89
+ if vulnerability_management.dict_args["tool"] == "engine_iac":
90
+ tags = f"{vulnerability_management.dict_args["tool"]}_{"_".join(vulnerability_management.dict_args["platform"])}"
83
91
  request: ImportScanRequest = Connect.cmdb(
84
92
  cmdb_mapping={
85
93
  "product_type_name": "nombreevc",
@@ -117,7 +125,7 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
117
125
  in enviroment_mapping
118
126
  else enviroment_mapping["default"]
119
127
  ),
120
- tags=vulnerability_management.dict_args["tool"],
128
+ tags=tags,
121
129
  )
122
130
 
123
131
  def request_func():
@@ -199,6 +207,11 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
199
207
  "tags": tool,
200
208
  "limit": dd_limits_query,
201
209
  }
210
+ out_of_scope_query_params = {
211
+ "out_of_scope": True,
212
+ "tags": tool,
213
+ "limit": dd_limits_query,
214
+ }
202
215
  false_positive_query_params = {
203
216
  "false_p": True,
204
217
  "tags": tool,
@@ -227,7 +240,17 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
227
240
  false_positive_query_params,
228
241
  tool,
229
242
  self._format_date_to_dd_format,
230
- "False Positive",
243
+ self.FALSE_POSITIVE,
244
+ )
245
+
246
+ exclusions_false_positive = self._get_findings_with_exclusions(
247
+ session_manager,
248
+ service,
249
+ dd_max_retries,
250
+ out_of_scope_query_params,
251
+ tool,
252
+ self._format_date_to_dd_format,
253
+ self.OUT_OF_SCOPE,
231
254
  )
232
255
 
233
256
  exclusions_transfer_finding = self._get_findings_with_exclusions(
@@ -237,7 +260,7 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
237
260
  transfer_finding_query_params,
238
261
  tool,
239
262
  self._format_date_to_dd_format,
240
- "Transferred Finding",
263
+ self.TRANSFERRED_FINDING,
241
264
  )
242
265
 
243
266
  return (
@@ -346,13 +369,19 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
346
369
  elif finding.false_p:
347
370
  exclusions.append(
348
371
  self._create_report_exclusion(
349
- finding, date_fn, "engine_risk", "False Positive", host_dd
372
+ finding, date_fn, "engine_risk", self.FALSE_POSITIVE, host_dd
373
+ )
374
+ )
375
+ elif finding.out_of_scope:
376
+ exclusions.append(
377
+ self._create_report_exclusion(
378
+ finding, date_fn, "engine_risk", self.OUT_OF_SCOPE, host_dd
350
379
  )
351
380
  )
352
381
  elif finding.risk_status == "Transfer Accepted":
353
382
  exclusions.append(
354
383
  self._create_report_exclusion(
355
- finding, date_fn, "engine_risk", "Transferred Finding", host_dd
384
+ finding, date_fn, "engine_risk", self.TRANSFERRED_FINDING, host_dd
356
385
  )
357
386
  )
358
387
  return exclusions
@@ -390,10 +419,10 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
390
419
  raise e
391
420
 
392
421
  def _date_reason_based(self, finding, date_fn, reason):
393
- if reason == "False Positive":
422
+ if reason in [self.FALSE_POSITIVE, self.OUT_OF_SCOPE]:
394
423
  create_date = date_fn(finding.last_status_update)
395
424
  expired_date = date_fn(None)
396
- elif reason == "Transferred Finding":
425
+ elif reason == self.TRANSFERRED_FINDING:
397
426
  create_date = date_fn(finding.transfer_finding.date)
398
427
  expired_date = date_fn(finding.transfer_finding.expiration_date)
399
428
  else:
@@ -461,9 +490,9 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
461
490
  vul_description=finding.description,
462
491
  risk_accepted=finding.risk_accepted,
463
492
  false_p=finding.false_p,
493
+ out_of_scope=finding.out_of_scope,
464
494
  service=finding.service,
465
- unique_id_from_tool=finding.unique_id_from_tool,
466
- out_of_scope=finding.out_of_scope
495
+ unique_id_from_tool=finding.unique_id_from_tool
467
496
  )
468
497
 
469
498
  def _format_date_to_dd_format(self, date_string):
@@ -6,15 +6,14 @@ from devsecops_engine_tools.engine_core.src.domain.model.gateway.devops_platform
6
6
  DevopsPlatformGateway,
7
7
  )
8
8
  from devsecops_engine_tools.engine_utilities.git_cli.model.gateway.git_gateway import (
9
- GitGateway
9
+ GitGateway,
10
10
  )
11
11
  from devsecops_engine_tools.engine_sast.engine_code.src.domain.model.config_tool import (
12
12
  ConfigTool,
13
13
  )
14
14
  from devsecops_engine_tools.engine_core.src.domain.model.exclusions import Exclusions
15
- from devsecops_engine_tools.engine_core.src.domain.model.input_core import (
16
- InputCore
17
- )
15
+ from devsecops_engine_tools.engine_core.src.domain.model.input_core import InputCore
16
+ from devsecops_engine_tools.engine_utilities.utils.utils import Utils
18
17
  from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
19
18
  from devsecops_engine_tools.engine_utilities import settings
20
19
 
@@ -23,7 +22,10 @@ logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
23
22
 
24
23
  class CodeScan:
25
24
  def __init__(
26
- self, tool_gateway: ToolGateway, devops_platform_gateway: DevopsPlatformGateway, git_gateway: GitGateway
25
+ self,
26
+ tool_gateway: ToolGateway,
27
+ devops_platform_gateway: DevopsPlatformGateway,
28
+ git_gateway: GitGateway,
27
29
  ):
28
30
  self.tool_gateway = tool_gateway
29
31
  self.devops_platform_gateway = devops_platform_gateway
@@ -31,14 +33,11 @@ class CodeScan:
31
33
 
32
34
  def set_config_tool(self, dict_args):
33
35
  init_config_tool = self.devops_platform_gateway.get_remote_config(
34
- dict_args["remote_config_repo"],
35
- "engine_sast/engine_code/ConfigTool.json"
36
- )
37
- scope_pipeline = self.devops_platform_gateway.get_variable(
38
- "pipeline_name"
36
+ dict_args["remote_config_repo"], "engine_sast/engine_code/ConfigTool.json"
39
37
  )
38
+ scope_pipeline = self.devops_platform_gateway.get_variable("pipeline_name")
40
39
  return ConfigTool(json_data=init_config_tool, scope=scope_pipeline)
41
-
40
+
42
41
  def get_pull_request_files(self, target_branches):
43
42
  files_pullrequest = self.git_gateway.get_files_pull_request(
44
43
  self.devops_platform_gateway.get_variable("path_directory"),
@@ -49,19 +48,17 @@ class CodeScan:
49
48
  self.devops_platform_gateway.get_variable("organization"),
50
49
  self.devops_platform_gateway.get_variable("project_name"),
51
50
  self.devops_platform_gateway.get_variable("repository"),
52
- self.devops_platform_gateway.get_variable("repository_provider")
53
- )
51
+ self.devops_platform_gateway.get_variable("repository_provider"),
52
+ )
54
53
  return files_pullrequest
55
54
 
56
- def get_exclusions(self, dict_args, tool):
57
- exclusions_data = self.devops_platform_gateway.get_remote_config(
58
- dict_args["remote_config_repo"],
59
- "engine_sast/engine_code/Exclusions.json"
60
- )
55
+ def get_exclusions(self, tool, exclusions_data):
61
56
  list_exclusions = []
62
57
  skip_tool = False
63
58
  for pipeline, exclusions in exclusions_data.items():
64
- if (pipeline == "All") or (pipeline == self.devops_platform_gateway.get_variable("pipeline_name")):
59
+ if (pipeline == "All") or (
60
+ pipeline == self.devops_platform_gateway.get_variable("pipeline_name")
61
+ ):
65
62
  if exclusions.get("SKIP_TOOL", False):
66
63
  skip_tool = True
67
64
  elif exclusions.get(tool, False):
@@ -78,10 +75,12 @@ class CodeScan:
78
75
  list_exclusions.append(exclusion)
79
76
  return list_exclusions, skip_tool
80
77
 
81
- def apply_exclude_path(self, exclude_folder, ignore_search_pattern, pull_request_file):
78
+ def apply_exclude_path(
79
+ self, exclude_folder, ignore_search_pattern, pull_request_file
80
+ ):
82
81
  patterns = ignore_search_pattern
83
82
  patterns.extend([rf"/{re.escape(folder)}//*" for folder in exclude_folder])
84
-
83
+
85
84
  for pattern in patterns:
86
85
  if re.search(pattern, pull_request_file):
87
86
  return True
@@ -89,35 +88,54 @@ class CodeScan:
89
88
 
90
89
  def process(self, dict_args, tool):
91
90
  config_tool = self.set_config_tool(dict_args)
92
- list_exclusions, skip_tool = self.get_exclusions(dict_args, tool)
91
+ exclusions_data = self.devops_platform_gateway.get_remote_config(
92
+ dict_args["remote_config_repo"], "engine_sast/engine_code/Exclusions.json"
93
+ )
94
+ list_exclusions, skip_tool = self.get_exclusions(tool, exclusions_data)
93
95
  findings_list, path_file_results = [], ""
94
96
 
95
97
  if not skip_tool:
96
98
  pull_request_files = []
97
99
  if not dict_args["folder_path"]:
98
- pull_request_files = self.get_pull_request_files(config_tool.target_branches)
99
- pull_request_files = [pf for pf in pull_request_files
100
- if not self.apply_exclude_path(config_tool.exclude_folder, config_tool.ignore_search_pattern, pf)]
100
+ pull_request_files = self.get_pull_request_files(
101
+ config_tool.target_branches
102
+ )
103
+ pull_request_files = [
104
+ pf
105
+ for pf in pull_request_files
106
+ if not self.apply_exclude_path(
107
+ config_tool.exclude_folder,
108
+ config_tool.ignore_search_pattern,
109
+ pf,
110
+ )
111
+ ]
101
112
 
102
113
  findings_list, path_file_results = self.tool_gateway.run_tool(
103
- dict_args["folder_path"],
114
+ dict_args["folder_path"],
104
115
  pull_request_files,
105
116
  self.devops_platform_gateway.get_variable("path_directory"),
106
117
  self.devops_platform_gateway.get_variable("repository"),
107
- config_tool
118
+ config_tool,
108
119
  )
109
120
 
110
121
  else:
111
- print(f"Tool skipped by DevSecOps policy")
112
- logger.info(f"Tool skipped by DevSecOps policy")
122
+ print("Tool skipped by DevSecOps policy")
123
+ dict_args["send_metrics"] = "false"
113
124
 
114
125
  input_core = InputCore(
115
126
  totalized_exclusions=list_exclusions,
116
- threshold_defined=config_tool.threshold,
127
+ threshold_defined=Utils.update_threshold(
128
+ self,
129
+ config_tool.threshold,
130
+ exclusions_data,
131
+ config_tool.scope_pipeline,
132
+ ),
117
133
  path_file_results=path_file_results,
118
134
  custom_message_break_build=config_tool.message_info_engine_code,
119
135
  scope_pipeline=config_tool.scope_pipeline,
120
- stage_pipeline=self.devops_platform_gateway.get_variable("stage").capitalize(),
136
+ stage_pipeline=self.devops_platform_gateway.get_variable(
137
+ "stage"
138
+ ).capitalize(),
121
139
  )
122
140
 
123
141
  return findings_list, input_core
@@ -13,6 +13,8 @@ from devsecops_engine_tools.engine_core.src.domain.model.exclusions import Exclu
13
13
  from devsecops_engine_tools.engine_core.src.domain.model.input_core import InputCore
14
14
  from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
15
15
  from devsecops_engine_tools.engine_utilities import settings
16
+ from devsecops_engine_tools.engine_core.src.domain.model.threshold import Threshold
17
+ from devsecops_engine_tools.engine_utilities.utils.utils import Utils
16
18
 
17
19
  logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
18
20
 
@@ -45,11 +47,11 @@ class IacScan:
45
47
  environment="pdn" if env not in ["dev", "qa", "pdn"] else env,
46
48
  platform_to_scan=dict_args["platform"],
47
49
  secret_tool=secret_tool,
48
- secret_external_checks=dict_args["token_external_checks"]
50
+ secret_external_checks=dict_args["token_external_checks"],
49
51
  )
50
52
  else:
51
- print(f"Tool skipped by DevSecOps policy")
52
- logger.info(f"Tool skipped by DevSecOps policy")
53
+ print("Tool skipped by DevSecOps policy")
54
+ dict_args["send_metrics"] = "false"
53
55
 
54
56
  totalized_exclusions = []
55
57
  (
@@ -69,7 +71,12 @@ class IacScan:
69
71
 
70
72
  input_core = InputCore(
71
73
  totalized_exclusions=totalized_exclusions,
72
- threshold_defined=config_tool_core.threshold,
74
+ threshold_defined=Utils.update_threshold(
75
+ self,
76
+ config_tool_core.threshold,
77
+ exclusions,
78
+ config_tool_core.scope_pipeline,
79
+ ),
73
80
  path_file_results=path_file_results,
74
81
  custom_message_break_build=config_tool_core.message_info_engine_iac,
75
82
  scope_pipeline=config_tool_core.scope_pipeline,
@@ -88,7 +95,13 @@ class IacScan:
88
95
  "pipeline_name"
89
96
  )
90
97
 
91
- skip_tool = bool(re.match(config_tool.ignore_search_pattern, config_tool.scope_pipeline, re.IGNORECASE))
98
+ skip_tool = bool(
99
+ re.match(
100
+ config_tool.ignore_search_pattern,
101
+ config_tool.scope_pipeline,
102
+ re.IGNORECASE,
103
+ )
104
+ )
92
105
 
93
106
  if config_tool.exclusions.get("All") is not None:
94
107
  config_tool.exclusions_all = config_tool.exclusions.get("All").get(tool)
@@ -96,7 +109,9 @@ class IacScan:
96
109
  config_tool.exclusions_scope = config_tool.exclusions.get(
97
110
  config_tool.scope_pipeline
98
111
  ).get(tool)
99
- skip_tool = bool(config_tool.exclusions.get(config_tool.scope_pipeline).get("SKIP_TOOL"))
112
+ skip_tool = bool(
113
+ config_tool.exclusions.get(config_tool.scope_pipeline).get("SKIP_TOOL")
114
+ )
100
115
 
101
116
  if dict_args["folder_path"]:
102
117
  if (
@@ -124,11 +139,7 @@ class IacScan:
124
139
 
125
140
  def search_folders(self, search_pattern):
126
141
  current_directory = os.getcwd()
127
- patron = (
128
- "(?i).*?("
129
- + "|".join(search_pattern)
130
- + ").*$"
131
- )
142
+ patron = "(?i).*?(" + "|".join(search_pattern) + ").*$"
132
143
  folders = [
133
144
  folder
134
145
  for folder in os.listdir(current_directory)
@@ -59,6 +59,9 @@ class SecretScan:
59
59
  self.devops_platform_gateway.get_variable("os"),
60
60
  self.devops_platform_gateway.get_variable("path_directory")
61
61
  )
62
+ else:
63
+ print("Tool skipped by DevSecOps policy")
64
+ dict_args["send_metrics"] = "false"
62
65
  return finding_list, file_path_findings
63
66
 
64
67
  def complete_config_tool(self, dict_args, tool):
@@ -3,13 +3,20 @@ from devsecops_engine_tools.engine_core.src.domain.model.gateway.devops_platform
3
3
  DevopsPlatformGateway,
4
4
  )
5
5
  from devsecops_engine_tools.engine_sast.engine_secret.src.domain.model.DeserializeConfigTool import (
6
- DeserializeConfigTool
7
- )
6
+ DeserializeConfigTool,
7
+ )
8
8
  from devsecops_engine_tools.engine_core.src.domain.model.exclusions import Exclusions
9
+ from devsecops_engine_tools.engine_utilities.utils.utils import Utils
9
10
 
10
11
 
11
12
  class SetInputCore:
12
- def __init__(self, tool_remote: DevopsPlatformGateway, dict_args, tool, config_tool: DeserializeConfigTool):
13
+ def __init__(
14
+ self,
15
+ tool_remote: DevopsPlatformGateway,
16
+ dict_args,
17
+ tool,
18
+ config_tool: DeserializeConfigTool,
19
+ ):
13
20
  self.tool_remote = tool_remote
14
21
  self.dict_args = dict_args
15
22
  self.tool = tool
@@ -22,7 +29,9 @@ class SetInputCore:
22
29
  Returns:
23
30
  dict: Remote configuration.
24
31
  """
25
- return self.tool_remote.get_remote_config(self.dict_args["remote_config_repo"], file_path)
32
+ return self.tool_remote.get_remote_config(
33
+ self.dict_args["remote_config_repo"], file_path
34
+ )
26
35
 
27
36
  def get_variable(self, variable):
28
37
  """
@@ -60,15 +69,23 @@ class SetInputCore:
60
69
  Returns:
61
70
  dict: Input core.
62
71
  """
72
+ exclusions_config = self.get_remote_config(
73
+ "engine_sast/engine_secret/Exclusions.json"
74
+ )
63
75
  return InputCore(
64
76
  totalized_exclusions=self.get_exclusions(
65
- self.get_remote_config("engine_sast/engine_secret/Exclusions.json"),
77
+ exclusions_config,
66
78
  self.get_variable("pipeline_name"),
67
79
  self.tool,
68
80
  ),
69
- threshold_defined=self.config_tool.level_compliance,
81
+ threshold_defined=Utils.update_threshold(
82
+ self,
83
+ self.config_tool.level_compliance,
84
+ exclusions_config,
85
+ self.config_tool.scope_pipeline,
86
+ ),
70
87
  path_file_results=finding_list,
71
88
  custom_message_break_build=self.config_tool.message_info_engine_secret,
72
89
  scope_pipeline=self.config_tool.scope_pipeline,
73
- stage_pipeline=self.tool_remote.get_variable("stage").capitalize()
90
+ stage_pipeline=self.tool_remote.get_variable("stage").capitalize(),
74
91
  )
@@ -1,8 +1,7 @@
1
1
  from devsecops_engine_tools.engine_core.src.domain.model.input_core import InputCore
2
- from devsecops_engine_tools.engine_core.src.domain.model.threshold import Threshold
3
-
4
-
5
2
  from devsecops_engine_tools.engine_core.src.domain.model.exclusions import Exclusions
3
+ from devsecops_engine_tools.engine_core.src.domain.model.threshold import Threshold
4
+ from devsecops_engine_tools.engine_utilities.utils.utils import Utils
6
5
 
7
6
 
8
7
  class SetInputCore:
@@ -44,7 +43,12 @@ class SetInputCore:
44
43
  self.pipeline_name,
45
44
  self.tool,
46
45
  ),
47
- Threshold(self.remote_config["THRESHOLD"]),
46
+ Utils.update_threshold(
47
+ self,
48
+ Threshold(self.remote_config["THRESHOLD"]),
49
+ self.exclusions,
50
+ self.pipeline_name,
51
+ ),
48
52
  image_scanned,
49
53
  self.remote_config["MESSAGE_INFO_ENGINE_CONTAINER"],
50
54
  self.pipeline_name,
@@ -56,7 +56,7 @@ def init_engine_sca_rm(
56
56
  deseralized = container_sca_scan.deseralizator(image_scanned)
57
57
  else:
58
58
  print("Tool skipped by DevSecOps policy")
59
- logger.info("Tool skipped by DevSecOps policy")
59
+ dict_args["send_metrics"] = "false"
60
60
  core_input = input_core.set_input_core(image_scanned)
61
61
 
62
62
  return deseralized, core_input
@@ -1,6 +1,7 @@
1
1
  from devsecops_engine_tools.engine_core.src.domain.model.input_core import InputCore
2
2
  from devsecops_engine_tools.engine_core.src.domain.model.threshold import Threshold
3
3
  from devsecops_engine_tools.engine_core.src.domain.model.exclusions import Exclusions
4
+ from devsecops_engine_tools.engine_utilities.utils.utils import Utils
4
5
 
5
6
 
6
7
  class SetInputCore:
@@ -31,15 +32,6 @@ class SetInputCore:
31
32
  list_exclusions.extend(exclusions)
32
33
  return list_exclusions
33
34
 
34
- def update_threshold(self, threshold, exclusions_data, pipeline_name):
35
- if (pipeline_name in exclusions_data) and (
36
- exclusions_data[pipeline_name].get("THRESHOLD", 0)
37
- ):
38
- threshold["VULNERABILITY"] = exclusions_data[pipeline_name][
39
- "THRESHOLD"
40
- ].get("VULNERABILITY")
41
- return threshold
42
-
43
35
  def set_input_core(self, dependencies_scanned):
44
36
  """
45
37
  Set the input core.
@@ -53,10 +45,11 @@ class SetInputCore:
53
45
  self.pipeline_name,
54
46
  self.tool,
55
47
  ),
56
- Threshold(
57
- self.update_threshold(
58
- self.remote_config["THRESHOLD"], self.exclusions, self.pipeline_name
59
- )
48
+ Utils.update_threshold(
49
+ self,
50
+ Threshold(self.remote_config["THRESHOLD"]),
51
+ self.exclusions,
52
+ self.pipeline_name,
60
53
  ),
61
54
  dependencies_scanned,
62
55
  self.remote_config["MESSAGE_INFO_ENGINE_DEPENDENCIES"],
@@ -62,8 +62,8 @@ def init_engine_dependencies(
62
62
  else:
63
63
  logger.error(f"Path {to_scan} does not exist")
64
64
  else:
65
- print(f"Tool skipped by DevSecOps policy")
66
- logger.info(f"Tool skipped by DevSecOps policy")
65
+ print("Tool skipped by DevSecOps policy")
66
+ dict_args["send_metrics"] = "false"
67
67
 
68
68
  core_input = input_core.set_input_core(dependencies_scanned)
69
69
 
@@ -0,0 +1,40 @@
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
+
10
+
11
+ class Utils:
12
+
13
+ def unzip_file(self, zip_file_path, extract_path):
14
+ with zipfile.ZipFile(zip_file_path, "r") as zip_ref:
15
+ zip_ref.extractall(extract_path)
16
+
17
+ def encode_token_to_base64(self, token):
18
+ token_bytes = f"{token}:".encode("utf-8")
19
+ base64_token = base64.b64encode(token_bytes).decode("utf-8")
20
+ return base64_token
21
+
22
+ def update_threshold(self, threshold: Threshold, exclusions_data, pipeline_name):
23
+ def set_vulnerability(level):
24
+ threshold.vulnerability = LevelVulnerability(level)
25
+ return threshold
26
+
27
+ threshold_pipeline = exclusions_data.get(pipeline_name, {}).get("THRESHOLD", {})
28
+ if threshold_pipeline:
29
+ return set_vulnerability(threshold_pipeline.get("VULNERABILITY"))
30
+
31
+ search_patterns = exclusions_data.get("BY_PATTERN_SEARCH", {})
32
+
33
+ match_pattern = next(
34
+ (v["THRESHOLD"]["VULNERABILITY"]
35
+ for pattern, v in search_patterns.items()
36
+ if re.match(pattern, pipeline_name, re.IGNORECASE)),
37
+ None
38
+ )
39
+
40
+ return set_vulnerability(match_pattern) if match_pattern else threshold
@@ -0,0 +1 @@
1
+ version = '1.19.0'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: devsecops-engine-tools
3
- Version: 1.18.3
3
+ Version: 1.19.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