devsecops-engine-tools 1.11.2__tar.gz → 1.16.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 (324) hide show
  1. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/PKG-INFO +2 -2
  2. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/applications/runner_engine_core.py +2 -2
  3. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/domain/model/exclusions.py +2 -2
  4. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/vulnerability_management_gateway.py +5 -1
  5. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/domain/model/report.py +3 -1
  6. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/domain/model/threshold.py +1 -4
  7. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/domain/usecases/break_build.py +0 -3
  8. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/domain/usecases/handle_risk.py +51 -24
  9. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/domain/usecases/handle_scan.py +63 -10
  10. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/secrets_manager.py +1 -1
  11. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py +46 -4
  12. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/runtime_local.py +1 -1
  13. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_risk/src/applications/runner_engine_risk.py +7 -1
  14. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/break_build.py +25 -23
  15. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/get_exclusions.py +4 -3
  16. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/entry_point_risk.py +6 -17
  17. devsecops_engine_tools-1.16.0/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_deserealizator.py +45 -0
  18. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_tool.py +18 -3
  19. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/file_generator_tool.py +5 -6
  20. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_secret/src/applications/runner_secret_scan.py +3 -2
  21. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/DeserializeConfigTool.py +4 -0
  22. devsecops_engine_tools-1.16.0/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/tool_gateway.py +18 -0
  23. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/secret_scan.py +22 -13
  24. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_deserealizator.py +16 -5
  25. devsecops_engine_tools-1.16.0/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_run.py +169 -0
  26. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/entry_point_tool.py +4 -4
  27. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/runner_dependencies_scan.py +6 -8
  28. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_deserialize.py +4 -3
  29. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_tool.py +41 -11
  30. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_manager_scan.py +16 -7
  31. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/get_artifacts.py +4 -3
  32. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/__init__.py +2 -1
  33. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/connect.py +4 -0
  34. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/defect_dojo.py +30 -9
  35. devsecops_engine_tools-1.16.0/devsecops_engine_tools/engine_utilities/defect_dojo/applications/product.py +14 -0
  36. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_list.py +7 -1
  37. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/import_scan.py +1 -1
  38. devsecops_engine_tools-1.16.0/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/product.py +9 -0
  39. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product.py +7 -6
  40. devsecops_engine_tools-1.16.0/devsecops_engine_tools/engine_utilities/sonarqube/src/applications/__init__.py +0 -0
  41. devsecops_engine_tools-1.16.0/devsecops_engine_tools/engine_utilities/sonarqube/src/applications/runner_report_sonar.py +110 -0
  42. devsecops_engine_tools-1.16.0/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/__init__.py +0 -0
  43. devsecops_engine_tools-1.16.0/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/__init__.py +0 -0
  44. devsecops_engine_tools-1.16.0/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/gateways/__init__.py +0 -0
  45. devsecops_engine_tools-1.16.0/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/gateways/sonar_gateway.py +63 -0
  46. devsecops_engine_tools-1.16.0/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases/__init__.py +0 -0
  47. devsecops_engine_tools-1.16.0/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases/report_sonar.py +194 -0
  48. devsecops_engine_tools-1.16.0/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/__init__.py +0 -0
  49. devsecops_engine_tools-1.16.0/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/__init__.py +0 -0
  50. devsecops_engine_tools-1.16.0/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/sonarqube/__init__.py +0 -0
  51. devsecops_engine_tools-1.16.0/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/sonarqube/sonarqube_report.py +112 -0
  52. devsecops_engine_tools-1.16.0/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/entry_points/__init__.py +0 -0
  53. devsecops_engine_tools-1.16.0/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/entry_points/entry_point_report_sonar.py +37 -0
  54. devsecops_engine_tools-1.16.0/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/helpers/__init__.py +0 -0
  55. devsecops_engine_tools-1.16.0/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/helpers/utils.py +8 -0
  56. devsecops_engine_tools-1.16.0/devsecops_engine_tools/engine_utilities/ssh/__init__.py +0 -0
  57. devsecops_engine_tools-1.16.0/devsecops_engine_tools/engine_utilities/utils/__init__.py +0 -0
  58. devsecops_engine_tools-1.16.0/devsecops_engine_tools/engine_utilities/utils/utils.py +13 -0
  59. devsecops_engine_tools-1.16.0/devsecops_engine_tools/version.py +1 -0
  60. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools.egg-info/PKG-INFO +2 -2
  61. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools.egg-info/SOURCES.txt +20 -1
  62. devsecops_engine_tools-1.16.0/devsecops_engine_tools.egg-info/entry_points.txt +3 -0
  63. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/setup.py +2 -1
  64. devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_core/src/domain/model/custom_level_vulnerability.py +0 -8
  65. devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_deserealizator.py +0 -35
  66. devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/tool_gateway.py +0 -16
  67. devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_run.py +0 -118
  68. devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_utilities/utils/utils.py +0 -8
  69. devsecops_engine_tools-1.11.2/devsecops_engine_tools/version.py +0 -1
  70. devsecops_engine_tools-1.11.2/devsecops_engine_tools.egg-info/entry_points.txt +0 -2
  71. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/README.md +0 -0
  72. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/__init__.py +0 -0
  73. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/__init__.py +0 -0
  74. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/__init__.py +0 -0
  75. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/applications/__init__.py +0 -0
  76. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/deployment/__init__.py +0 -0
  77. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/deployment/infrastructure/__init__.py +0 -0
  78. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/domain/__init__.py +0 -0
  79. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/domain/model/__init__.py +0 -0
  80. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/domain/model/customs_exceptions.py +0 -0
  81. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/domain/model/finding.py +0 -0
  82. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/__init__.py +0 -0
  83. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/devops_platform_gateway.py +0 -0
  84. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/metrics_manager_gateway.py +0 -0
  85. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/printer_table_gateway.py +0 -0
  86. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/secrets_manager_gateway.py +0 -0
  87. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/domain/model/input_core.py +0 -0
  88. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/domain/model/level_compliance.py +0 -0
  89. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/domain/model/level_vulnerability.py +0 -0
  90. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/domain/model/vulnerability_management.py +0 -0
  91. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/domain/usecases/__init__.py +0 -0
  92. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/domain/usecases/metrics_manager.py +0 -0
  93. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/infrastructure/__init__.py +0 -0
  94. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/__init__.py +0 -0
  95. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/__init__.py +0 -0
  96. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/s3_manager.py +0 -0
  97. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/__init__.py +0 -0
  98. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/azure_devops.py +0 -0
  99. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/__init__.py +0 -0
  100. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/__init__.py +0 -0
  101. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/github_actions.py +0 -0
  102. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/__init__.py +0 -0
  103. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/printer_pretty_table.py +0 -0
  104. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/__init__.py +0 -0
  105. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/__init__.py +0 -0
  106. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/entry_point_core.py +0 -0
  107. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/__init__.py +0 -0
  108. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/aws.py +0 -0
  109. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/util.py +0 -0
  110. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_dast/__init__.py +0 -0
  111. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_dast/src/__init__.py +0 -0
  112. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_dast/src/applications/__init__.py +0 -0
  113. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_dast/src/deployment/__init__.py +0 -0
  114. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_dast/src/deployment/infrastructure/__init__.py +0 -0
  115. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_dast/src/domain/__init__.py +0 -0
  116. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_dast/src/domain/model/__init__.py +0 -0
  117. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_dast/src/domain/usecases/__init__.py +0 -0
  118. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_dast/src/infrastructure/__init__.py +0 -0
  119. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/__init__.py +0 -0
  120. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_dast/src/infrastructure/entry_points/__init__.py +0 -0
  121. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_dast/src/infrastructure/helpers/__init__.py +0 -0
  122. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_risk/__init__.py +0 -0
  123. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_risk/src/__init__.py +0 -0
  124. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_risk/src/applications/__init__.py +0 -0
  125. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_risk/src/deployment/__init__.py +0 -0
  126. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_risk/src/deployment/infrastructure/__init__.py +0 -0
  127. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_risk/src/domain/__init__.py +0 -0
  128. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_risk/src/domain/model/__init__.py +0 -0
  129. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_risk/src/domain/model/gateways/__init__.py +0 -0
  130. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_risk/src/domain/model/gateways/add_epss_gateway.py +0 -0
  131. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/__init__.py +0 -0
  132. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/add_data.py +0 -0
  133. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/handle_filters.py +0 -0
  134. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_risk/src/infrastructure/__init__.py +0 -0
  135. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/__init__.py +0 -0
  136. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/first_csv/__init__.py +0 -0
  137. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/first_csv/first_epss_csv.py +0 -0
  138. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/__init__.py +0 -0
  139. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_risk/src/infrastructure/helpers/__init__.py +0 -0
  140. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/__init__.py +0 -0
  141. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_code/__init__.py +0 -0
  142. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_code/src/__init__.py +0 -0
  143. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_code/src/applications/__init__.py +0 -0
  144. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_code/src/applications/runner_engine_code.py +0 -0
  145. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_code/src/deployment/__init__.py +0 -0
  146. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_code/src/deployment/infrastructure/__init__.py +0 -0
  147. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/__init__.py +0 -0
  148. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/__init__.py +0 -0
  149. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/config_tool.py +0 -0
  150. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/gateways/__init__.py +0 -0
  151. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/gateways/tool_gateway.py +0 -0
  152. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases/__init__.py +0 -0
  153. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases/code_scan.py +0 -0
  154. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/__init__.py +0 -0
  155. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/__init__.py +0 -0
  156. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/__init__.py +0 -0
  157. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/bearer_deserealizator.py +0 -0
  158. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/bearer_tool.py +0 -0
  159. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/entry_points/__init__.py +0 -0
  160. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  161. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/helpers/__init__.py +0 -0
  162. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_iac/__init__.py +0 -0
  163. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_iac/src/__init__.py +0 -0
  164. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_iac/src/applications/__init__.py +0 -0
  165. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_iac/src/applications/runner_iac_scan.py +0 -0
  166. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/__init__.py +0 -0
  167. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/infrastructure/__init__.py +0 -0
  168. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/__init__.py +0 -0
  169. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/__init__.py +0 -0
  170. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/config_tool.py +0 -0
  171. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/__init__.py +0 -0
  172. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/tool_gateway.py +0 -0
  173. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/__init__.py +0 -0
  174. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/iac_scan.py +0 -0
  175. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/__init__.py +0 -0
  176. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/__init__.py +0 -0
  177. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/__init__.py +0 -0
  178. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_config.py +0 -0
  179. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/__init__.py +0 -0
  180. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_deserealizator.py +0 -0
  181. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_tool.py +0 -0
  182. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/__init__.py +0 -0
  183. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_deserealizator.py +0 -0
  184. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_tool.py +0 -0
  185. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/__init__.py +0 -0
  186. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  187. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/__init__.py +0 -0
  188. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_secret/__init__.py +0 -0
  189. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_secret/src/__init__.py +0 -0
  190. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_secret/src/applications/__init__.py +0 -0
  191. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/__init__.py +0 -0
  192. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/infrastructure/__init__.py +0 -0
  193. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/__init__.py +0 -0
  194. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/__init__.py +0 -0
  195. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/__init__.py +0 -0
  196. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/gateway_deserealizator.py +0 -0
  197. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/__init__.py +0 -0
  198. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/set_input_core.py +0 -0
  199. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/__init__.py +0 -0
  200. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/__init__.py +0 -0
  201. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/__init__.py +0 -0
  202. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/__init__.py +0 -0
  203. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/__init__.py +0 -0
  204. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_container/__init__.py +0 -0
  205. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_container/src/__init__.py +0 -0
  206. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_container/src/applications/__init__.py +0 -0
  207. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_container/src/applications/runner_container_scan.py +0 -0
  208. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_container/src/deployment/__init__.py +0 -0
  209. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_container/src/deployment/infrastructure/__init__.py +0 -0
  210. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/__init__.py +0 -0
  211. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/__init__.py +0 -0
  212. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/__init__.py +0 -0
  213. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/deserealizator_gateway.py +0 -0
  214. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/images_gateway.py +0 -0
  215. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/tool_gateway.py +0 -0
  216. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/__init__.py +0 -0
  217. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/container_sca_scan.py +0 -0
  218. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/handle_remote_config_patterns.py +0 -0
  219. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/set_input_core.py +0 -0
  220. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/__init__.py +0 -0
  221. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/__init__.py +0 -0
  222. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/__init__.py +0 -0
  223. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/docker_images.py +0 -0
  224. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/__init__.py +0 -0
  225. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_cloud_manager_scan.py +0 -0
  226. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_deserialize_output.py +0 -0
  227. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/__init__.py +0 -0
  228. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_deserialize_output.py +0 -0
  229. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_manager_scan.py +0 -0
  230. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/__init__.py +0 -0
  231. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  232. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/helpers/__init__.py +0 -0
  233. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_dependencies/__init__.py +0 -0
  234. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/__init__.py +0 -0
  235. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/__init__.py +0 -0
  236. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/__init__.py +0 -0
  237. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/infrastructure/__init__.py +0 -0
  238. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/__init__.py +0 -0
  239. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/__init__.py +0 -0
  240. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/__init__.py +0 -0
  241. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/deserializator_gateway.py +0 -0
  242. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/tool_gateway.py +0 -0
  243. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/__init__.py +0 -0
  244. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/dependencies_sca_scan.py +0 -0
  245. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/handle_remote_config_patterns.py +0 -0
  246. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/set_input_core.py +0 -0
  247. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/__init__.py +0 -0
  248. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/__init__.py +0 -0
  249. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/__init__.py +0 -0
  250. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/__init__.py +0 -0
  251. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_deserialize_output.py +0 -0
  252. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/__init__.py +0 -0
  253. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  254. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/__init__.py +0 -0
  255. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/__init__.py +0 -0
  256. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/azuredevops/__init__.py +0 -0
  257. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure/__init__.py +0 -0
  258. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure/azure_devops_api.py +0 -0
  259. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzureMessageLoggingPipeline.py +0 -0
  260. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzurePredefinedVariables.py +0 -0
  261. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/azuredevops/models/__init__.py +0 -0
  262. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/__init__.py +0 -0
  263. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/engagement.py +0 -0
  264. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/finding.py +0 -0
  265. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/__init__.py +0 -0
  266. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/__init__.py +0 -0
  267. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/cmdb.py +0 -0
  268. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/engagement.py +0 -0
  269. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/finding.py +0 -0
  270. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product.py +0 -0
  271. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type.py +0 -0
  272. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type_list.py +0 -0
  273. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/scan_configuration.py +0 -0
  274. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/__init__.py +0 -0
  275. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/finding.py +0 -0
  276. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/import_scan.py +0 -0
  277. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/__init__.py +0 -0
  278. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/finding.py +0 -0
  279. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/import_scan.py +0 -0
  280. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/__init__.py +0 -0
  281. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/cmdb.py +0 -0
  282. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/engagement.py +0 -0
  283. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/finding.py +0 -0
  284. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/hello_world.py +0 -0
  285. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/__init__.py +0 -0
  286. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/__init__.py +0 -0
  287. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/cmdb.py +0 -0
  288. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/engagement.py +0 -0
  289. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/finding.py +0 -0
  290. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/import_scan.py +0 -0
  291. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product_type.py +0 -0
  292. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/scan_configurations.py +0 -0
  293. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/__init__.py +0 -0
  294. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/settings.py +0 -0
  295. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/repository/__init__.py +0 -0
  296. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/git_cli/__init__.py +0 -0
  297. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/git_cli/infrastructure/__init__.py +0 -0
  298. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/git_cli/infrastructure/git_run.py +0 -0
  299. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/git_cli/model/__init__.py +0 -0
  300. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/git_cli/model/gateway/__init__.py +0 -0
  301. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/git_cli/model/gateway/git_gateway.py +0 -0
  302. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/github/__init__.py +0 -0
  303. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/github/infrastructure/__init__.py +0 -0
  304. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/github/infrastructure/github_api.py +0 -0
  305. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/github/models/GithubPredefinedVariables.py +0 -0
  306. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/github/models/__init__.py +0 -0
  307. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/input_validations/__init__.py +0 -0
  308. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/input_validations/env_utils.py +0 -0
  309. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/input_validations/validate_input_with_regex_letters_number_and_only.py +0 -0
  310. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/settings.py +0 -0
  311. {devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_utilities/ssh → devsecops_engine_tools-1.16.0/devsecops_engine_tools/engine_utilities/sonarqube}/__init__.py +0 -0
  312. {devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_utilities/utils → devsecops_engine_tools-1.16.0/devsecops_engine_tools/engine_utilities/sonarqube/src}/__init__.py +0 -0
  313. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/ssh/managment_private_key.py +0 -0
  314. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/utils/api_error.py +0 -0
  315. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/utils/dataclass_classmethod.py +0 -0
  316. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/utils/datetime_parsing.py +0 -0
  317. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/utils/logger_info.py +0 -0
  318. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/utils/name_conversion.py +0 -0
  319. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/utils/printers.py +0 -0
  320. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools/engine_utilities/utils/session_manager.py +0 -0
  321. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools.egg-info/dependency_links.txt +0 -0
  322. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools.egg-info/requires.txt +0 -0
  323. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/devsecops_engine_tools.egg-info/top_level.txt +0 -0
  324. {devsecops_engine_tools-1.11.2 → devsecops_engine_tools-1.16.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: devsecops-engine-tools
3
- Version: 1.11.2
3
+ Version: 1.16.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
@@ -67,7 +67,7 @@ pip3 install devsecops-engine-tools
67
67
  ### Scan running - flags (CLI)
68
68
 
69
69
  ```bash
70
- devsecops-engine-tools --platform_devops ["local","azure","github"] --remote_config_repo ["remote_config_repo"] --tool ["engine_iac", "engine_dast", "engine_secret", "engine_dependencies", "engine_container", "engine_risk", "engine_code"] --folder_path ["Folder path scan engine_iac, engine_code and engine_dependencies"] --platform ["k8s","cloudformation","docker", "openapi"] --use_secrets_manager ["false", "true"] --use_vulnerability_management ["false", "true"] --send_metrics ["false", "true"] --token_cmdb ["token_cmdb"] --token_vulnerability_management ["token_vulnerability_management"] --token_engine_container ["token_engine_container"] --token_engine_dependencies ["token_engine_dependencies"] --token_external_checks ["token_external_checks"] --xray_mode ["scan", "audit"] --image_to_scan ["image_to_scan"]
70
+ devsecops-engine-tools --platform_devops ["local","azure","github"] --remote_config_repo ["remote_config_repo"] --tool ["engine_iac", "engine_dast", "engine_secret", "engine_dependencies", "engine_container", "engine_risk", "engine_code"] --folder_path ["Folder path scan engine_iac, engine_code and engine_dependencies"] --platform ["k8s","cloudformation","docker", "openapi", "terraform"] --use_secrets_manager ["false", "true"] --use_vulnerability_management ["false", "true"] --send_metrics ["false", "true"] --token_cmdb ["token_cmdb"] --token_vulnerability_management ["token_vulnerability_management"] --token_engine_container ["token_engine_container"] --token_engine_dependencies ["token_engine_dependencies"] --token_external_checks ["token_external_checks"] --xray_mode ["scan", "audit"] --image_to_scan ["image_to_scan"]
71
71
  ```
72
72
 
73
73
  ### Structure Remote Config
@@ -97,7 +97,7 @@ def get_inputs_from_cli(args):
97
97
  parser.add_argument(
98
98
  "-p",
99
99
  "--platform",
100
- type=parse_choices({"all", "docker", "k8s", "cloudformation", "openapi"}),
100
+ type=parse_choices({"all", "docker", "k8s", "cloudformation", "openapi", "terraform"}),
101
101
  required=False,
102
102
  default="all",
103
103
  help="Platform to scan, only apply engine_iac tool",
@@ -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 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, ssh:privatekey:pass",
148
148
  )
149
149
  parser.add_argument(
150
150
  "--xray_mode",
@@ -5,10 +5,10 @@ from dataclasses import dataclass
5
5
  class Exclusions:
6
6
  def __init__(self, **kwargs):
7
7
  self.id = kwargs.get("id", "")
8
- self.where = kwargs.get("where", "")
8
+ self.where = kwargs.get("where", "all")
9
9
  self.cve_id = kwargs.get("cve_id", "")
10
10
  self.create_date = kwargs.get("create_date", "")
11
11
  self.expired_date = kwargs.get("expired_date", "")
12
12
  self.severity = kwargs.get("severity", "")
13
13
  self.hu = kwargs.get("hu", "")
14
- self.reason = kwargs.get("reason", "Risk acceptance")
14
+ self.reason = kwargs.get("reason", "Risk Accepted")
@@ -1,7 +1,7 @@
1
1
  from abc import ABCMeta, abstractmethod
2
2
 
3
3
  from devsecops_engine_tools.engine_core.src.domain.model.vulnerability_management import VulnerabilityManagement
4
-
4
+ from devsecops_engine_tools.engine_core.src.domain.model.gateway.devops_platform_gateway import DevopsPlatformGateway
5
5
 
6
6
  class VulnerabilityManagementGateway(metaclass=ABCMeta):
7
7
  @abstractmethod
@@ -10,6 +10,10 @@ class VulnerabilityManagementGateway(metaclass=ABCMeta):
10
10
  ):
11
11
  "send_vulnerability_management"
12
12
 
13
+ @abstractmethod
14
+ def get_product_type_service(self, service, dict_args, secret_tool, config_tool):
15
+ "get_product_type_service"
16
+
13
17
  @abstractmethod
14
18
  def get_findings_excepted(
15
19
  self, service, dict_args, secret_tool, config_tool
@@ -31,4 +31,6 @@ class Report:
31
31
  self.component_name = kwargs.get("component_name", "")
32
32
  self.component_version = kwargs.get("component_version", "")
33
33
  self.file_path = kwargs.get("file_path", "")
34
- self.endpoints = kwargs.get("endpoints", "")
34
+ self.endpoints = kwargs.get("endpoints", "")
35
+ self.unique_id_from_tool = kwargs.get("unique_id_from_tool", "")
36
+ self.out_of_scope = kwargs.get("out_of_scope", "")
@@ -4,13 +4,10 @@ from devsecops_engine_tools.engine_core.src.domain.model.level_vulnerability imp
4
4
  from devsecops_engine_tools.engine_core.src.domain.model.level_compliance import (
5
5
  LevelCompliance,
6
6
  )
7
- from devsecops_engine_tools.engine_core.src.domain.model.custom_level_vulnerability import (
8
- CustomLevelVulnerability,
9
- )
10
7
 
11
8
  class Threshold:
12
9
  def __init__(self, data):
13
10
  self.vulnerability = LevelVulnerability(data.get("VULNERABILITY"))
14
11
  self.compliance = LevelCompliance(data.get("COMPLIANCE"))
15
12
  self.cve = data.get("CVE",[])
16
- self.custom_vulnerability = CustomLevelVulnerability(data.get("CUSTOM_VULNERABILITY")) if data.get("CUSTOM_VULNERABILITY") else None
13
+ self.quality_vulnerability_management = data.get("QUALITY_VULNERABILITY_MANAGEMENT") if data.get("QUALITY_VULNERABILITY_MANAGEMENT") else None
@@ -67,9 +67,6 @@ class BreakBuild:
67
67
  "compliances": {},
68
68
  }
69
69
 
70
- if threshold.custom_vulnerability and bool(re.match(threshold.custom_vulnerability.pattern_apps, input_core.scope_pipeline, re.IGNORECASE)):
71
- threshold.vulnerability = threshold.custom_vulnerability.vulnerability
72
-
73
70
  if len(findings_list) != 0:
74
71
  self._apply_policie_exception_new_vulnerability_industry(
75
72
  findings_list, exclusions, args
@@ -63,14 +63,23 @@ class HandleRisk:
63
63
  ]
64
64
  check_words_regex = risk_config["HANDLE_SERVICE_NAME"]["REGEX_CHECK_WORDS"]
65
65
  min_word_amount = risk_config["HANDLE_SERVICE_NAME"]["MIN_WORD_AMOUNT"]
66
+ endings = risk_config["HANDLE_SERVICE_NAME"]["CHECK_ENDING"]
67
+
66
68
  for engagement in engagements:
67
- if service.lower() in engagement.name.lower():
69
+ if service.lower() == engagement.name.lower():
68
70
  filtered_engagements += [engagement.name]
69
71
  elif re.search(check_words_regex, engagement.name.lower()) and (
70
72
  sum(1 for word in words if word.lower() in engagement.name.lower())
71
73
  >= min_word_amount
72
74
  ):
73
75
  filtered_engagements += [engagement.name]
76
+ elif endings:
77
+ if any(
78
+ (service.lower() + ending.lower() == engagement.name.lower())
79
+ for ending in endings
80
+ ):
81
+ filtered_engagements += [engagement.name]
82
+
74
83
  return filtered_engagements
75
84
 
76
85
  def _exclude_services(self, dict_args, pipeline_name, service_list):
@@ -82,28 +91,54 @@ class HandleRisk:
82
91
  and risk_exclusions[pipeline_name].get("SKIP_SERVICE", 0)
83
92
  and risk_exclusions[pipeline_name]["SKIP_SERVICE"].get("services", 0)
84
93
  ):
85
- services_to_exclude = risk_exclusions[pipeline_name]["SKIP_SERVICE"].get(
86
- "services", []
94
+ services_to_exclude = set(
95
+ risk_exclusions[pipeline_name]["SKIP_SERVICE"].get("services", [])
87
96
  )
88
- service_excluded = []
89
- for service in service_list:
90
- if service in services_to_exclude:
91
- service_list.remove(service)
92
- service_excluded += [service]
97
+ service_set = set(service_list)
98
+
99
+ remaining_services = list(service_set - services_to_exclude)
100
+ service_excluded = list(service_set & services_to_exclude)
101
+
93
102
  print(f"Services to exclude: {service_excluded}")
94
103
  logger.info(f"Services to exclude: {service_excluded}")
104
+
105
+ return remaining_services
95
106
  return service_list
96
107
 
97
- def process(self, dict_args: any, remote_config: any):
98
- secret_tool = None
99
- if dict_args["use_secrets_manager"] == "true":
100
- secret_tool = self.secrets_manager_gateway.get_secret(remote_config)
108
+ def _should_skip_analysis(self, remote_config, pipeline_name, exclusions):
109
+ ignore_pattern = remote_config["IGNORE_ANALYSIS_PATTERN"]
110
+ return re.match(ignore_pattern, pipeline_name, re.IGNORECASE) or (
111
+ pipeline_name in exclusions
112
+ and exclusions[pipeline_name].get("SKIP_TOOL", 0)
113
+ )
101
114
 
115
+ def process(self, dict_args: any, remote_config: any):
102
116
  risk_config = self.devops_platform_gateway.get_remote_config(
103
117
  dict_args["remote_config_repo"], "engine_risk/ConfigTool.json"
104
118
  )
105
-
119
+ risk_exclusions = self.devops_platform_gateway.get_remote_config(
120
+ dict_args["remote_config_repo"], "engine_risk/Exclusions.json"
121
+ )
106
122
  pipeline_name = self.devops_platform_gateway.get_variable("pipeline_name")
123
+
124
+ input_core = InputCore(
125
+ [],
126
+ {},
127
+ "",
128
+ "",
129
+ pipeline_name,
130
+ self.devops_platform_gateway.get_variable("stage").capitalize(),
131
+ )
132
+
133
+ if self._should_skip_analysis(risk_config, pipeline_name, risk_exclusions):
134
+ print("Tool skipped by DevSecOps Policy.")
135
+ logger.info("Tool skipped by DevSecOps Policy.")
136
+ return [], input_core
137
+
138
+ secret_tool = None
139
+ if dict_args["use_secrets_manager"] == "true":
140
+ secret_tool = self.secrets_manager_gateway.get_secret(remote_config)
141
+
107
142
  service = pipeline_name
108
143
  service_list = []
109
144
 
@@ -111,9 +146,7 @@ class HandleRisk:
111
146
  service = next(
112
147
  (
113
148
  pipeline_name.replace(ending, "")
114
- for ending in risk_config["HANDLE_SERVICE_NAME"][
115
- "ERASE_SERVICE_ENDING"
116
- ]
149
+ for ending in risk_config["HANDLE_SERVICE_NAME"]["CHECK_ENDING"]
117
150
  if pipeline_name.endswith(ending)
118
151
  ),
119
152
  pipeline_name,
@@ -164,15 +197,9 @@ class HandleRisk:
164
197
  dict_args,
165
198
  findings,
166
199
  exclusions,
200
+ new_service_list,
167
201
  self.devops_platform_gateway,
168
202
  self.print_table_gateway,
169
203
  )
170
- input_core = InputCore(
171
- [],
172
- {},
173
- "",
174
- "",
175
- pipeline_name,
176
- self.devops_platform_gateway.get_variable("stage").capitalize(),
177
- )
204
+
178
205
  return result, input_core
@@ -19,6 +19,10 @@ from devsecops_engine_tools.engine_core.src.domain.model.gateway.devops_platform
19
19
  from devsecops_engine_tools.engine_core.src.domain.model.vulnerability_management import (
20
20
  VulnerabilityManagement,
21
21
  )
22
+ from devsecops_engine_tools.engine_core.src.domain.model.input_core import InputCore
23
+ from devsecops_engine_tools.engine_core.src.domain.model.level_vulnerability import (
24
+ LevelVulnerability,
25
+ )
22
26
  from devsecops_engine_tools.engine_core.src.domain.model.customs_exceptions import (
23
27
  ExceptionVulnerabilityManagement,
24
28
  ExceptionFindingsExcepted,
@@ -52,6 +56,37 @@ class HandleScan:
52
56
  self.secrets_manager_gateway = secrets_manager_gateway
53
57
  self.devops_platform_gateway = devops_platform_gateway
54
58
 
59
+ def _define_threshold_quality_vuln(
60
+ self, input_core: InputCore, dict_args, secret_tool, config_tool
61
+ ):
62
+ quality_vulnerability_management = (
63
+ input_core.threshold_defined.quality_vulnerability_management
64
+ )
65
+ if quality_vulnerability_management:
66
+ product_type = self.vulnerability_management.get_product_type_service(
67
+ input_core.scope_pipeline, dict_args, secret_tool, config_tool
68
+ )
69
+ if product_type:
70
+ pt_name = product_type.name
71
+ apply_qualitypt = next(
72
+ filter(
73
+ lambda qapt: pt_name in qapt,
74
+ quality_vulnerability_management["PTS"],
75
+ ),
76
+ None,
77
+ )
78
+ if apply_qualitypt:
79
+ pt_info = apply_qualitypt[pt_name]
80
+ pt_profile = pt_info["PROFILE"]
81
+ pt_apps = pt_info["APPS"]
82
+
83
+ input_core.threshold_defined.vulnerability = (
84
+ LevelVulnerability(quality_vulnerability_management[pt_profile])
85
+ if pt_apps == "ALL"
86
+ or any(map(lambda pd: pd in input_core.scope_pipeline, pt_apps))
87
+ else input_core.threshold_defined.vulnerability
88
+ )
89
+
55
90
  def _use_vulnerability_management(
56
91
  self, config_tool, input_core, dict_args, secret_tool, env
57
92
  ):
@@ -72,9 +107,14 @@ class HandleScan:
72
107
  self.devops_platform_gateway.get_variable("build_id"),
73
108
  self.devops_platform_gateway.get_variable("branch_tag"),
74
109
  self.devops_platform_gateway.get_variable("commit_hash"),
75
- env
110
+ env,
76
111
  )
77
112
  )
113
+
114
+ self._define_threshold_quality_vuln(
115
+ input_core, dict_args, secret_tool, config_tool
116
+ )
117
+
78
118
  except ExceptionVulnerabilityManagement as ex1:
79
119
  logger.error(str(ex1))
80
120
  try:
@@ -92,23 +132,33 @@ class HandleScan:
92
132
  def process(self, dict_args: any, config_tool: any):
93
133
  secret_tool = None
94
134
  env = define_env(
95
- self.devops_platform_gateway.get_variable("environment"),
96
- self.devops_platform_gateway.get_variable("branch_name"),
97
- )
135
+ self.devops_platform_gateway.get_variable("environment"),
136
+ self.devops_platform_gateway.get_variable("branch_name"),
137
+ )
98
138
  if dict_args["use_secrets_manager"] == "true":
99
139
  secret_tool = self.secrets_manager_gateway.get_secret(config_tool)
100
140
  if "engine_iac" in dict_args["tool"]:
101
141
  findings_list, input_core = runner_engine_iac(
102
- dict_args, config_tool["ENGINE_IAC"]["TOOL"], secret_tool,self.devops_platform_gateway, env
142
+ dict_args,
143
+ config_tool["ENGINE_IAC"]["TOOL"],
144
+ secret_tool,
145
+ self.devops_platform_gateway,
146
+ env,
103
147
  )
104
- if dict_args["use_vulnerability_management"] == "true" and input_core.path_file_results:
148
+ if (
149
+ dict_args["use_vulnerability_management"] == "true"
150
+ and input_core.path_file_results
151
+ ):
105
152
  self._use_vulnerability_management(
106
153
  config_tool, input_core, dict_args, secret_tool, env
107
154
  )
108
155
  return findings_list, input_core
109
156
  elif "engine_container" in dict_args["tool"]:
110
157
  findings_list, input_core = runner_engine_container(
111
- dict_args, config_tool["ENGINE_CONTAINER"]["TOOL"], secret_tool, self.devops_platform_gateway
158
+ dict_args,
159
+ config_tool["ENGINE_CONTAINER"]["TOOL"],
160
+ secret_tool,
161
+ self.devops_platform_gateway,
112
162
  )
113
163
  if (
114
164
  dict_args["use_vulnerability_management"] == "true"
@@ -122,7 +172,9 @@ class HandleScan:
122
172
  print(MESSAGE_ENABLED)
123
173
  elif "engine_code" in dict_args["tool"]:
124
174
  findings_list, input_core = runner_engine_code(
125
- dict_args, config_tool["ENGINE_CODE"]["TOOL"], self.devops_platform_gateway
175
+ dict_args,
176
+ config_tool["ENGINE_CODE"]["TOOL"],
177
+ self.devops_platform_gateway,
126
178
  )
127
179
  if (
128
180
  dict_args["use_vulnerability_management"] == "true"
@@ -136,7 +188,8 @@ class HandleScan:
136
188
  findings_list, input_core = runner_secret_scan(
137
189
  dict_args,
138
190
  config_tool["ENGINE_SECRET"]["TOOL"],
139
- self.devops_platform_gateway
191
+ self.devops_platform_gateway,
192
+ secret_tool
140
193
  )
141
194
  if (
142
195
  dict_args["use_vulnerability_management"] == "true"
@@ -158,4 +211,4 @@ class HandleScan:
158
211
  self._use_vulnerability_management(
159
212
  config_tool, input_core, dict_args, secret_tool, env
160
213
  )
161
- return findings_list, input_core
214
+ return findings_list, input_core
@@ -36,5 +36,5 @@ class SecretsManager(SecretsManagerGateway):
36
36
  secret_dict = json.loads(secret)
37
37
  return secret_dict
38
38
  except NoCredentialsError as e:
39
- logger.error("Error getting secret: {e}")
39
+ logger.error(f"Error getting secret: {e}")
40
40
  return None
@@ -5,12 +5,16 @@ from devsecops_engine_tools.engine_core.src.domain.model.gateway.vulnerability_m
5
5
  from devsecops_engine_tools.engine_core.src.domain.model.vulnerability_management import (
6
6
  VulnerabilityManagement,
7
7
  )
8
+ from devsecops_engine_tools.engine_core.src.domain.model.gateway.devops_platform_gateway import (
9
+ DevopsPlatformGateway
10
+ )
8
11
  from devsecops_engine_tools.engine_utilities.defect_dojo import (
9
12
  DefectDojo,
10
13
  ImportScanRequest,
11
14
  Connect,
12
15
  Finding,
13
16
  Engagement,
17
+ Product,
14
18
  )
15
19
  from devsecops_engine_tools.engine_core.src.domain.model.exclusions import Exclusions
16
20
  from devsecops_engine_tools.engine_core.src.domain.model.report import Report
@@ -19,7 +23,7 @@ from devsecops_engine_tools.engine_core.src.domain.model.customs_exceptions impo
19
23
  ExceptionVulnerabilityManagement,
20
24
  ExceptionFindingsExcepted,
21
25
  ExceptionGettingFindings,
22
- ExceptionGettingEngagements
26
+ ExceptionGettingEngagements,
23
27
  )
24
28
  from devsecops_engine_tools.engine_core.src.infrastructure.helpers.util import (
25
29
  format_date,
@@ -66,7 +70,8 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
66
70
  "KUBESCAPE": "Kubescape Scanner",
67
71
  "KICS": "KICS Scanner",
68
72
  "BEARER": "Bearer CLI",
69
- "DEPENDENCY_CHECK": "Dependency Check Scan"
73
+ "DEPENDENCY_CHECK": "Dependency Check Scan",
74
+ "SONARQUBE": "SonarQube API Import"
70
75
  }
71
76
 
72
77
  if any(
@@ -142,6 +147,38 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
142
147
  )
143
148
  )
144
149
 
150
+ def get_product_type_service(self, service, dict_args, secret_tool, config_tool):
151
+ try:
152
+ session_manager = self._get_session_manager(
153
+ dict_args, secret_tool, config_tool
154
+ )
155
+
156
+ dd_max_retries = config_tool["VULNERABILITY_MANAGER"]["DEFECT_DOJO"][
157
+ "MAX_RETRIES_QUERY"
158
+ ]
159
+
160
+ def request_func():
161
+ response = Product.get_product(
162
+ session=session_manager,
163
+ request={
164
+ "name": Connect.get_code_app(
165
+ service,
166
+ config_tool["VULNERABILITY_MANAGER"]["DEFECT_DOJO"][
167
+ "REGEX_EXPRESSION_CMDB"
168
+ ],
169
+ ),
170
+ "prefetch": "prod_type",
171
+ },
172
+ )
173
+ return response.prefetch.prod_type[str(response.results[0].prod_type)] if response.prefetch else None
174
+
175
+ return self._retries_requests(request_func, dd_max_retries, retry_delay=5)
176
+
177
+ except Exception as ex:
178
+ raise ExceptionVulnerabilityManagement(
179
+ "Error getting product type with the following error: {0} ".format(ex)
180
+ )
181
+
145
182
  def get_findings_excepted(self, service, dict_args, secret_tool, config_tool):
146
183
  try:
147
184
  session_manager = self._get_session_manager(
@@ -220,7 +257,8 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
220
257
  all_findings_query_params = {
221
258
  "limit": config_tool["VULNERABILITY_MANAGER"]["DEFECT_DOJO"][
222
259
  "LIMITS_QUERY"
223
- ]
260
+ ],
261
+ "duplicate": "false"
224
262
  }
225
263
  max_retries = config_tool["VULNERABILITY_MANAGER"]["DEFECT_DOJO"][
226
264
  "MAX_RETRIES_QUERY"
@@ -251,7 +289,9 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
251
289
  "Error getting all findings with the following error: {0} ".format(ex)
252
290
  )
253
291
 
254
- def get_active_engagements(self, engagement_name, dict_args, secret_tool, config_tool):
292
+ def get_active_engagements(
293
+ self, engagement_name, dict_args, secret_tool, config_tool
294
+ ):
255
295
  try:
256
296
  request_is = ImportScanRequest(
257
297
  token_defect_dojo=dict_args.get("token_vulnerability_management")
@@ -390,6 +430,8 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
390
430
  risk_accepted=finding.risk_accepted,
391
431
  false_p=finding.false_p,
392
432
  service=finding.service,
433
+ unique_id_from_tool=finding.unique_id_from_tool,
434
+ out_of_scope=finding.out_of_scope
393
435
  )
394
436
 
395
437
  def _format_date_to_dd_format(self, date_string):
@@ -42,7 +42,7 @@ class RuntimeLocal(DevopsPlatformGateway):
42
42
  return os.environ.get("DET_SOURCE_CODE_MANAGEMENT_URI")
43
43
 
44
44
  def get_base_compact_remote_config_url(self, remote_config_repo):
45
- return os.environ.get("DET_BASE_COMPACT_REMOTE_CONFIG_URL")
45
+ return f"{os.environ.get('DET_BASE_COMPACT_REMOTE_CONFIG_URL')}?path=/"
46
46
 
47
47
  def get_variable(self, variable):
48
48
  env_variables = {
@@ -13,7 +13,12 @@ logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
13
13
 
14
14
 
15
15
  def runner_engine_risk(
16
- dict_args, findings, vm_exclusions, devops_platform_gateway, print_table_gateway
16
+ dict_args,
17
+ findings,
18
+ vm_exclusions,
19
+ services,
20
+ devops_platform_gateway,
21
+ print_table_gateway,
17
22
  ):
18
23
  add_epss_gateway = FirstCsv()
19
24
 
@@ -23,5 +28,6 @@ def runner_engine_risk(
23
28
  print_table_gateway,
24
29
  dict_args,
25
30
  findings,
31
+ services,
26
32
  vm_exclusions,
27
33
  )
@@ -118,9 +118,11 @@ class BreakBuild:
118
118
 
119
119
  def _remediation_rate_control(self, all_report: "list[Report]"):
120
120
  remote_config = self.remote_config
121
- remediation_rate_value = self._get_percentage(
122
- (sum(1 for report in all_report if report.mitigated)) / len(all_report)
123
- )
121
+ mitigated = sum(1 for report in all_report if report.mitigated)
122
+ total = len(all_report)
123
+ print(f"Mitigated count: {mitigated} Total count: {total}")
124
+ remediation_rate_value = self._get_percentage(mitigated / total)
125
+
124
126
  risk_threshold = remote_config["THRESHOLD"]["REMEDIATION_RATE"]
125
127
  self.remediation_rate = remediation_rate_value
126
128
 
@@ -151,14 +153,6 @@ class BreakBuild:
151
153
  def _get_percentage(self, decimal):
152
154
  return round(decimal * 100, 3)
153
155
 
154
- def _get_applied_exclusion(self, report: Report):
155
- for exclusion in self.exclusions:
156
- if exclusion.id and (report.id == exclusion.id):
157
- return exclusion
158
- elif exclusion.id and (report.vuln_id_from_tool == exclusion.id):
159
- return exclusion
160
- return None
161
-
162
156
  def _map_applied_exclusion(self, exclusions: "list[Exclusions]"):
163
157
  return [
164
158
  {
@@ -173,22 +167,27 @@ class BreakBuild:
173
167
  ]
174
168
 
175
169
  def _apply_exclusions(self, report_list: "list[Report]"):
176
- new_report_list = []
170
+ filtered_reports = []
177
171
  applied_exclusions = []
178
- exclusions_ids = {exclusion.id for exclusion in self.exclusions if exclusion.id}
179
172
 
180
173
  for report in report_list:
181
- if report.vuln_id_from_tool and (
182
- report.vuln_id_from_tool in exclusions_ids
183
- ):
184
- applied_exclusions.append(self._get_applied_exclusion(report))
185
- elif report.id and (report.id in exclusions_ids):
186
- applied_exclusions.append(self._get_applied_exclusion(report))
187
- else:
174
+ exclude = False
175
+ for exclusion in self.exclusions:
176
+ if (
177
+ (
178
+ report.vuln_id_from_tool
179
+ and report.vuln_id_from_tool == exclusion.id
180
+ )
181
+ or (report.id and report.id == exclusion.id)
182
+ ) and ((exclusion.where in report.where) or (exclusion.where == "all")):
183
+ exclude = True
184
+ applied_exclusions.append(exclusion)
185
+ break
186
+ if not exclude:
188
187
  report.reason = "Remediation Rate"
189
- new_report_list.append(report)
188
+ filtered_reports.append(report)
190
189
 
191
- return new_report_list, applied_exclusions
190
+ return filtered_reports, applied_exclusions
192
191
 
193
192
  def _tag_blacklist_control(self, report_list: "list[Report]"):
194
193
  remote_config = self.remote_config
@@ -245,7 +244,10 @@ class BreakBuild:
245
244
  report.risk_score = round(
246
245
  remote_config["WEIGHTS"]["severity"].get(report.severity.lower(), 0)
247
246
  + remote_config["WEIGHTS"]["epss_score"] * report.epss_score
248
- + remote_config["WEIGHTS"]["age"] * report.age
247
+ + min(
248
+ remote_config["WEIGHTS"]["age"] * report.age,
249
+ remote_config["WEIGHTS"]["max_age"],
250
+ )
249
251
  + sum(
250
252
  remote_config["WEIGHTS"]["tags"].get(tag, 0)
251
253
  for tag in report.tags
@@ -11,14 +11,14 @@ class GetExclusions:
11
11
  findings,
12
12
  risk_config,
13
13
  risk_exclusions,
14
- pipeline_name,
14
+ services,
15
15
  ):
16
16
  self.devops_platform_gateway = devops_platform_gateway
17
17
  self.dict_args = dict_args
18
18
  self.findings = findings
19
19
  self.risk_config = risk_config
20
20
  self.risk_exclusions = risk_exclusions
21
- self.pipeline_name = pipeline_name
21
+ self.services = services
22
22
 
23
23
  def process(self):
24
24
  core_config = self.devops_platform_gateway.get_remote_config(
@@ -49,7 +49,8 @@ class GetExclusions:
49
49
 
50
50
  def _get_exclusions(self, config, key):
51
51
  exclusions = []
52
- for scope in ["All", self.pipeline_name]:
52
+ scope_list = ["All"] + self.services
53
+ for scope in scope_list:
53
54
  if config.get(scope, None) and config[scope].get(key, None):
54
55
  exclusions.extend(
55
56
  [