devsecops-engine-tools 1.30.1__tar.gz → 1.31.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 (334) hide show
  1. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/PKG-INFO +2 -1
  2. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py +128 -44
  3. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/__init__.py +2 -1
  4. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/component.py +0 -1
  5. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/finding.py +0 -3
  6. devsecops_engine_tools-1.31.0/devsecops_engine_tools/engine_utilities/defect_dojo/applications/finding_exclusion.py +14 -0
  7. devsecops_engine_tools-1.31.0/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/finding_exclusion.py +20 -0
  8. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/finding.py +1 -1
  9. devsecops_engine_tools-1.31.0/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/finding_exclusion.py +9 -0
  10. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/import_scan.py +6 -6
  11. devsecops_engine_tools-1.31.0/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/finding_exclusion.py +28 -0
  12. devsecops_engine_tools-1.31.0/devsecops_engine_tools/version.py +1 -0
  13. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools.egg-info/PKG-INFO +2 -1
  14. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools.egg-info/SOURCES.txt +4 -0
  15. devsecops_engine_tools-1.30.1/devsecops_engine_tools/version.py +0 -1
  16. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/README.md +0 -0
  17. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/__init__.py +0 -0
  18. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/__init__.py +0 -0
  19. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/__init__.py +0 -0
  20. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/applications/__init__.py +0 -0
  21. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/applications/runner_engine_core.py +0 -0
  22. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/deployment/__init__.py +0 -0
  23. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/deployment/infrastructure/__init__.py +0 -0
  24. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/domain/__init__.py +0 -0
  25. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/domain/model/__init__.py +0 -0
  26. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/domain/model/component.py +0 -0
  27. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/domain/model/customs_exceptions.py +0 -0
  28. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/domain/model/exclusions.py +0 -0
  29. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/domain/model/finding.py +0 -0
  30. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/__init__.py +0 -0
  31. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/devops_platform_gateway.py +0 -0
  32. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/metrics_manager_gateway.py +0 -0
  33. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/printer_table_gateway.py +0 -0
  34. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/sbom_manager.py +0 -0
  35. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/secrets_manager_gateway.py +0 -0
  36. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/domain/model/gateway/vulnerability_management_gateway.py +0 -0
  37. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/domain/model/input_core.py +0 -0
  38. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/domain/model/level_compliance.py +0 -0
  39. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/domain/model/level_vulnerability.py +0 -0
  40. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/domain/model/report.py +0 -0
  41. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/domain/model/threshold.py +0 -0
  42. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/domain/model/vulnerability_management.py +0 -0
  43. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/domain/usecases/__init__.py +0 -0
  44. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/domain/usecases/break_build.py +0 -0
  45. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/domain/usecases/handle_risk.py +0 -0
  46. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/domain/usecases/handle_scan.py +0 -0
  47. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/domain/usecases/metrics_manager.py +0 -0
  48. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/infrastructure/__init__.py +0 -0
  49. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/__init__.py +0 -0
  50. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/__init__.py +0 -0
  51. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/s3_manager.py +0 -0
  52. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/secrets_manager.py +0 -0
  53. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/__init__.py +0 -0
  54. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/azure_devops.py +0 -0
  55. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/__init__.py +0 -0
  56. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/__init__.py +0 -0
  57. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/github_actions.py +0 -0
  58. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/__init__.py +0 -0
  59. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/printer_pretty_table.py +0 -0
  60. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_rich_table/__init__.py +0 -0
  61. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_rich_table/printer_rich_table.py +0 -0
  62. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/__init__.py +0 -0
  63. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/runtime_local.py +0 -0
  64. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/syft/__init__.py +0 -0
  65. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/syft/syft.py +0 -0
  66. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/__init__.py +0 -0
  67. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/entry_point_core.py +0 -0
  68. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/__init__.py +0 -0
  69. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/aws.py +0 -0
  70. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/util.py +0 -0
  71. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_dast/__init__.py +0 -0
  72. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_dast/src/__init__.py +0 -0
  73. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_dast/src/applications/__init__.py +0 -0
  74. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_dast/src/deployment/__init__.py +0 -0
  75. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_dast/src/deployment/infrastructure/__init__.py +0 -0
  76. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_dast/src/domain/__init__.py +0 -0
  77. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_dast/src/domain/model/__init__.py +0 -0
  78. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_dast/src/domain/usecases/__init__.py +0 -0
  79. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_dast/src/infrastructure/__init__.py +0 -0
  80. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/__init__.py +0 -0
  81. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_dast/src/infrastructure/entry_points/__init__.py +0 -0
  82. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_dast/src/infrastructure/helpers/__init__.py +0 -0
  83. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_risk/__init__.py +0 -0
  84. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_risk/src/__init__.py +0 -0
  85. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_risk/src/applications/__init__.py +0 -0
  86. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_risk/src/applications/runner_engine_risk.py +0 -0
  87. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_risk/src/deployment/__init__.py +0 -0
  88. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_risk/src/deployment/infrastructure/__init__.py +0 -0
  89. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_risk/src/domain/__init__.py +0 -0
  90. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_risk/src/domain/model/__init__.py +0 -0
  91. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_risk/src/domain/model/gateways/__init__.py +0 -0
  92. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_risk/src/domain/model/gateways/add_epss_gateway.py +0 -0
  93. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/__init__.py +0 -0
  94. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/add_data.py +0 -0
  95. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/break_build.py +0 -0
  96. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/check_threshold.py +0 -0
  97. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/get_exclusions.py +0 -0
  98. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/handle_filters.py +0 -0
  99. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_risk/src/infrastructure/__init__.py +0 -0
  100. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/__init__.py +0 -0
  101. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/first_csv/__init__.py +0 -0
  102. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/first_csv/first_epss_csv.py +0 -0
  103. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/__init__.py +0 -0
  104. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/entry_point_risk.py +0 -0
  105. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_risk/src/infrastructure/helpers/__init__.py +0 -0
  106. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/__init__.py +0 -0
  107. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_code/__init__.py +0 -0
  108. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_code/src/__init__.py +0 -0
  109. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_code/src/applications/__init__.py +0 -0
  110. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_code/src/applications/runner_engine_code.py +0 -0
  111. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_code/src/deployment/__init__.py +0 -0
  112. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_code/src/deployment/infrastructure/__init__.py +0 -0
  113. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/__init__.py +0 -0
  114. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/__init__.py +0 -0
  115. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/config_tool.py +0 -0
  116. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/gateways/__init__.py +0 -0
  117. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/gateways/tool_gateway.py +0 -0
  118. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases/__init__.py +0 -0
  119. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases/code_scan.py +0 -0
  120. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/__init__.py +0 -0
  121. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/__init__.py +0 -0
  122. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/__init__.py +0 -0
  123. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/bearer_deserealizator.py +0 -0
  124. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/bearer_tool.py +0 -0
  125. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/entry_points/__init__.py +0 -0
  126. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  127. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/helpers/__init__.py +0 -0
  128. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_iac/__init__.py +0 -0
  129. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_iac/src/__init__.py +0 -0
  130. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_iac/src/applications/__init__.py +0 -0
  131. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_iac/src/applications/runner_iac_scan.py +0 -0
  132. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/__init__.py +0 -0
  133. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/infrastructure/__init__.py +0 -0
  134. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/__init__.py +0 -0
  135. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/__init__.py +0 -0
  136. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/config_tool.py +0 -0
  137. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/__init__.py +0 -0
  138. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/tool_gateway.py +0 -0
  139. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/__init__.py +0 -0
  140. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/iac_scan.py +0 -0
  141. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/__init__.py +0 -0
  142. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/__init__.py +0 -0
  143. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/__init__.py +0 -0
  144. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_config.py +0 -0
  145. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_deserealizator.py +0 -0
  146. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_tool.py +0 -0
  147. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/__init__.py +0 -0
  148. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_deserealizator.py +0 -0
  149. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_tool.py +0 -0
  150. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/__init__.py +0 -0
  151. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_deserealizator.py +0 -0
  152. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_tool.py +0 -0
  153. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/__init__.py +0 -0
  154. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  155. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/__init__.py +0 -0
  156. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/file_generator_tool.py +0 -0
  157. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_secret/__init__.py +0 -0
  158. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_secret/src/__init__.py +0 -0
  159. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_secret/src/applications/__init__.py +0 -0
  160. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_secret/src/applications/runner_secret_scan.py +0 -0
  161. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/__init__.py +0 -0
  162. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/infrastructure/__init__.py +0 -0
  163. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/__init__.py +0 -0
  164. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/__init__.py +0 -0
  165. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/__init__.py +0 -0
  166. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/gateway_deserealizator.py +0 -0
  167. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/tool_gateway.py +0 -0
  168. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/__init__.py +0 -0
  169. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/secret_scan.py +0 -0
  170. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/set_input_core.py +0 -0
  171. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/__init__.py +0 -0
  172. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/__init__.py +0 -0
  173. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/__init__.py +0 -0
  174. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_deserealizator.py +0 -0
  175. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_run.py +0 -0
  176. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/__init__.py +0 -0
  177. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  178. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/__init__.py +0 -0
  179. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_container/__init__.py +0 -0
  180. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_container/src/__init__.py +0 -0
  181. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_container/src/applications/__init__.py +0 -0
  182. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_container/src/applications/runner_container_scan.py +0 -0
  183. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_container/src/deployment/__init__.py +0 -0
  184. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_container/src/deployment/infrastructure/__init__.py +0 -0
  185. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/__init__.py +0 -0
  186. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/__init__.py +0 -0
  187. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/__init__.py +0 -0
  188. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/deserealizator_gateway.py +0 -0
  189. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/images_gateway.py +0 -0
  190. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/tool_gateway.py +0 -0
  191. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/__init__.py +0 -0
  192. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/container_sca_scan.py +0 -0
  193. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/handle_remote_config_patterns.py +0 -0
  194. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/set_input_core.py +0 -0
  195. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/__init__.py +0 -0
  196. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/__init__.py +0 -0
  197. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/__init__.py +0 -0
  198. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/docker_images.py +0 -0
  199. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/__init__.py +0 -0
  200. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_cloud_manager_scan.py +0 -0
  201. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_deserialize_output.py +0 -0
  202. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/__init__.py +0 -0
  203. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_deserialize_output.py +0 -0
  204. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_manager_scan.py +0 -0
  205. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/__init__.py +0 -0
  206. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  207. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/helpers/__init__.py +0 -0
  208. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_dependencies/__init__.py +0 -0
  209. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/__init__.py +0 -0
  210. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/__init__.py +0 -0
  211. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/runner_dependencies_scan.py +0 -0
  212. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/__init__.py +0 -0
  213. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/infrastructure/__init__.py +0 -0
  214. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/__init__.py +0 -0
  215. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/__init__.py +0 -0
  216. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/__init__.py +0 -0
  217. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/deserializator_gateway.py +0 -0
  218. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/tool_gateway.py +0 -0
  219. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/__init__.py +0 -0
  220. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/dependencies_sca_scan.py +0 -0
  221. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/handle_remote_config_patterns.py +0 -0
  222. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/set_input_core.py +0 -0
  223. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/__init__.py +0 -0
  224. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/__init__.py +0 -0
  225. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/__init__.py +0 -0
  226. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_deserialize.py +0 -0
  227. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_tool.py +0 -0
  228. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/__init__.py +0 -0
  229. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_deserialize_output.py +0 -0
  230. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_manager_scan.py +0 -0
  231. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/__init__.py +0 -0
  232. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  233. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/__init__.py +0 -0
  234. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/get_artifacts.py +0 -0
  235. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/__init__.py +0 -0
  236. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/azuredevops/__init__.py +0 -0
  237. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure/__init__.py +0 -0
  238. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure/azure_devops_api.py +0 -0
  239. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzureMessageLoggingPipeline.py +0 -0
  240. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzurePredefinedVariables.py +0 -0
  241. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/azuredevops/models/__init__.py +0 -0
  242. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/__init__.py +0 -0
  243. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/connect.py +0 -0
  244. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/defect_dojo.py +0 -0
  245. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/engagement.py +0 -0
  246. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/product.py +0 -0
  247. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/__init__.py +0 -0
  248. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/__init__.py +0 -0
  249. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/cmdb.py +0 -0
  250. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/component.py +0 -0
  251. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/engagement.py +0 -0
  252. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/finding.py +0 -0
  253. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product.py +0 -0
  254. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_list.py +0 -0
  255. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type.py +0 -0
  256. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type_list.py +0 -0
  257. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/scan_configuration.py +0 -0
  258. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/__init__.py +0 -0
  259. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/finding.py +0 -0
  260. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/import_scan.py +0 -0
  261. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/__init__.py +0 -0
  262. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/import_scan.py +0 -0
  263. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/__init__.py +0 -0
  264. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/cmdb.py +0 -0
  265. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/component.py +0 -0
  266. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/engagement.py +0 -0
  267. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/finding.py +0 -0
  268. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/product.py +0 -0
  269. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/hello_world.py +0 -0
  270. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/__init__.py +0 -0
  271. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/__init__.py +0 -0
  272. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/cmdb.py +0 -0
  273. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/component.py +0 -0
  274. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/engagement.py +0 -0
  275. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/finding.py +0 -0
  276. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/import_scan.py +0 -0
  277. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product.py +0 -0
  278. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product_type.py +0 -0
  279. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/scan_configurations.py +0 -0
  280. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/__init__.py +0 -0
  281. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/settings.py +0 -0
  282. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/repository/__init__.py +0 -0
  283. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/git_cli/__init__.py +0 -0
  284. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/git_cli/infrastructure/__init__.py +0 -0
  285. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/git_cli/infrastructure/git_run.py +0 -0
  286. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/git_cli/model/__init__.py +0 -0
  287. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/git_cli/model/gateway/__init__.py +0 -0
  288. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/git_cli/model/gateway/git_gateway.py +0 -0
  289. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/github/__init__.py +0 -0
  290. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/github/infrastructure/__init__.py +0 -0
  291. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/github/infrastructure/github_api.py +0 -0
  292. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/github/models/GithubPredefinedVariables.py +0 -0
  293. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/github/models/__init__.py +0 -0
  294. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/input_validations/__init__.py +0 -0
  295. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/input_validations/env_utils.py +0 -0
  296. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/input_validations/validate_input_with_regex_letters_number_and_only.py +0 -0
  297. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/sbom/__init__.py +0 -0
  298. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/sbom/deserealizator.py +0 -0
  299. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/settings.py +0 -0
  300. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/sonarqube/__init__.py +0 -0
  301. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/__init__.py +0 -0
  302. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/applications/__init__.py +0 -0
  303. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/applications/runner_report_sonar.py +0 -0
  304. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/__init__.py +0 -0
  305. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/__init__.py +0 -0
  306. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/gateways/__init__.py +0 -0
  307. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/gateways/sonar_gateway.py +0 -0
  308. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases/__init__.py +0 -0
  309. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases/report_sonar.py +0 -0
  310. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/__init__.py +0 -0
  311. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/__init__.py +0 -0
  312. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/sonarqube/__init__.py +0 -0
  313. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/sonarqube/sonarqube_report.py +0 -0
  314. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/entry_points/__init__.py +0 -0
  315. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/entry_points/entry_point_report_sonar.py +0 -0
  316. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/helpers/__init__.py +0 -0
  317. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/helpers/utils.py +0 -0
  318. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/ssh/__init__.py +0 -0
  319. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/ssh/managment_private_key.py +0 -0
  320. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/utils/__init__.py +0 -0
  321. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/utils/api_error.py +0 -0
  322. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/utils/dataclass_classmethod.py +0 -0
  323. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/utils/datetime_parsing.py +0 -0
  324. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/utils/logger_info.py +0 -0
  325. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/utils/name_conversion.py +0 -0
  326. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/utils/printers.py +0 -0
  327. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/utils/session_manager.py +0 -0
  328. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/utils/utils.py +0 -0
  329. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools.egg-info/dependency_links.txt +0 -0
  330. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools.egg-info/entry_points.txt +0 -0
  331. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools.egg-info/requires.txt +0 -0
  332. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools.egg-info/top_level.txt +0 -0
  333. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/setup.cfg +0 -0
  334. {devsecops_engine_tools-1.30.1 → devsecops_engine_tools-1.31.0}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: devsecops-engine-tools
3
- Version: 1.30.1
3
+ Version: 1.31.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
@@ -36,6 +36,7 @@ Requires-Dist: packageurl-python==0.15.6
36
36
  [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=bancolombia_devsecops-engine-tools&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=bancolombia_devsecops-engine-tools)
37
37
  [![Coverage](https://sonarcloud.io/api/project_badges/measure?project=bancolombia_devsecops-engine-tools&metric=coverage)](https://sonarcloud.io/summary/new_code?id=bancolombia_devsecops-engine-tools)
38
38
  [![Python Version](https://img.shields.io/badge/python%20-%203.8%20%7C%203.9%20%7C%203.10%20%7C%203.11%20%7C%203.12%20-blue)](#)
39
+ [![PyPI](https://img.shields.io/pypi/v/devsecops-engine-tools)](https://pypi.org/project/devsecops-engine-tools/)
39
40
  [![Docker Pulls](https://img.shields.io/docker/pulls/bancolombia/devsecops-engine-tools
40
41
  )](https://hub.docker.com/r/bancolombia/devsecops-engine-tools)
41
42
 
@@ -13,6 +13,7 @@ from devsecops_engine_tools.engine_utilities.defect_dojo import (
13
13
  Engagement,
14
14
  Product,
15
15
  Component,
16
+ FindingExclusion
16
17
  )
17
18
  from devsecops_engine_tools.engine_core.src.domain.model.exclusions import Exclusions
18
19
  from devsecops_engine_tools.engine_core.src.domain.model.report import Report
@@ -30,7 +31,9 @@ from functools import partial
30
31
 
31
32
  from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
32
33
  from devsecops_engine_tools.engine_utilities import settings
33
- from devsecops_engine_tools.engine_utilities.defect_dojo.domain.serializers.import_scan import ImportScanSerializer
34
+ from devsecops_engine_tools.engine_utilities.defect_dojo.domain.serializers.import_scan import (
35
+ ImportScanSerializer,
36
+ )
34
37
  import time
35
38
  import concurrent.futures
36
39
 
@@ -40,9 +43,11 @@ logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
40
43
  @dataclass
41
44
  class DefectDojoPlatform(VulnerabilityManagementGateway):
42
45
 
46
+ RISK_ACCEPTED = "Risk Accepted"
43
47
  OUT_OF_SCOPE = "Out of Scope"
44
48
  FALSE_POSITIVE = "False Positive"
45
49
  TRANSFERRED_FINDING = "Transferred Finding"
50
+ ON_WHITELIST = "On Whitelist"
46
51
 
47
52
  def send_vulnerability_management(
48
53
  self, vulnerability_management: VulnerabilityManagement
@@ -89,7 +94,9 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
89
94
  if vulnerability_management.dict_args["tool"] == "engine_iac":
90
95
  tags = f"{vulnerability_management.dict_args['tool']}_{'_'.join(vulnerability_management.dict_args['platform'])}"
91
96
 
92
- use_cmdb = vulnerability_management.config_tool["VULNERABILITY_MANAGER"]["DEFECT_DOJO"]["CMDB"]["USE_CMDB"]
97
+ use_cmdb = vulnerability_management.config_tool[
98
+ "VULNERABILITY_MANAGER"
99
+ ]["DEFECT_DOJO"]["CMDB"]["USE_CMDB"]
93
100
 
94
101
  request = self._build_request_importscan(
95
102
  vulnerability_management,
@@ -98,7 +105,7 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
98
105
  scan_type_mapping,
99
106
  enviroment_mapping,
100
107
  tags,
101
- use_cmdb
108
+ use_cmdb,
102
109
  )
103
110
 
104
111
  def request_func():
@@ -199,6 +206,11 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
199
206
  "tags": tool,
200
207
  "limit": dd_limits_query,
201
208
  }
209
+ white_list_query_params = {
210
+ "risk_status": self.ON_WHITELIST,
211
+ "tags": tool,
212
+ "limit": dd_limits_query,
213
+ }
202
214
 
203
215
  exclusions_risk_accepted = self._get_findings_with_exclusions(
204
216
  session_manager,
@@ -207,7 +219,7 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
207
219
  risk_accepted_query_params,
208
220
  tool,
209
221
  self._format_date_to_dd_format,
210
- "Risk Accepted",
222
+ self.RISK_ACCEPTED,
211
223
  )
212
224
 
213
225
  exclusions_false_positive = self._get_findings_with_exclusions(
@@ -240,11 +252,29 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
240
252
  self.TRANSFERRED_FINDING,
241
253
  )
242
254
 
255
+ white_list = self._get_finding_exclusion(
256
+ session_manager, dd_max_retries, {
257
+ "type": "white_list",
258
+ }
259
+ )
260
+
261
+ exclusions_white_list = self._get_findings_with_exclusions(
262
+ session_manager,
263
+ service,
264
+ dd_max_retries,
265
+ white_list_query_params,
266
+ tool,
267
+ self._format_date_to_dd_format,
268
+ self.ON_WHITELIST,
269
+ white_list=white_list,
270
+ )
271
+
243
272
  return (
244
273
  list(exclusions_risk_accepted)
245
274
  + list(exclusions_false_positive)
246
275
  + list(exclusions_out_of_scope)
247
276
  + list(exclusions_transfer_finding)
277
+ + list(exclusions_white_list)
248
278
  )
249
279
  except Exception as ex:
250
280
  raise ExceptionFindingsExcepted(
@@ -268,8 +298,10 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
268
298
  "HOST_DEFECT_DOJO"
269
299
  ]
270
300
 
301
+ session_manager = self._get_session_manager(dict_args, secret_tool, config_tool)
302
+
271
303
  findings = self._get_findings(
272
- self._get_session_manager(dict_args, secret_tool, config_tool),
304
+ session_manager,
273
305
  service,
274
306
  max_retries,
275
307
  all_findings_query_params,
@@ -282,8 +314,14 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
282
314
  )
283
315
  )
284
316
 
317
+ white_list = self._get_finding_exclusion(
318
+ session_manager, max_retries, {
319
+ "type": "white_list",
320
+ }
321
+ )
322
+
285
323
  all_exclusions = self._get_report_exclusions(
286
- all_findings, self._format_date_to_dd_format, host_dd=host_dd
324
+ all_findings, self._format_date_to_dd_format, host_dd=host_dd, white_list=white_list
287
325
  )
288
326
 
289
327
  return all_findings, all_exclusions
@@ -361,7 +399,7 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
361
399
  ex
362
400
  )
363
401
  )
364
-
402
+
365
403
  def _build_request_importscan(
366
404
  self,
367
405
  vulnerability_management: VulnerabilityManagement,
@@ -370,7 +408,7 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
370
408
  scan_type_mapping,
371
409
  enviroment_mapping,
372
410
  tags,
373
- use_cmdb: bool
411
+ use_cmdb: bool,
374
412
  ):
375
413
  common_fields = {
376
414
  "scan_type": scan_type_mapping[vulnerability_management.scan_type],
@@ -386,21 +424,22 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
386
424
  "environment": (
387
425
  enviroment_mapping[vulnerability_management.environment.lower()]
388
426
  if vulnerability_management.environment is not None
389
- and vulnerability_management.environment.lower()
390
- in enviroment_mapping
427
+ and vulnerability_management.environment.lower() in enviroment_mapping
391
428
  else enviroment_mapping["default"]
392
429
  ),
393
430
  "token_defect_dojo": token_dd,
394
431
  "host_defect_dojo": vulnerability_management.config_tool[
395
432
  "VULNERABILITY_MANAGER"
396
433
  ]["DEFECT_DOJO"]["HOST_DEFECT_DOJO"],
397
- "expression": vulnerability_management.config_tool[
398
- "VULNERABILITY_MANAGER"
399
- ]["DEFECT_DOJO"]["CMDB"]["REGEX_EXPRESSION_CMDB"],
434
+ "expression": vulnerability_management.config_tool["VULNERABILITY_MANAGER"][
435
+ "DEFECT_DOJO"
436
+ ]["CMDB"]["REGEX_EXPRESSION_CMDB"],
400
437
  }
401
438
 
402
439
  if use_cmdb:
403
- cmdb_mapping = vulnerability_management.config_tool["VULNERABILITY_MANAGER"]["DEFECT_DOJO"]["CMDB"]["CMDB_MAPPING"]
440
+ cmdb_mapping = vulnerability_management.config_tool[
441
+ "VULNERABILITY_MANAGER"
442
+ ]["DEFECT_DOJO"]["CMDB"]["CMDB_MAPPING"]
404
443
  return Connect.cmdb(
405
444
  cmdb_mapping={
406
445
  "product_type_name": cmdb_mapping["PRODUCT_TYPE_NAME"],
@@ -412,19 +451,21 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
412
451
  compact_remote_config_url=f'{vulnerability_management.base_compact_remote_config_url}{vulnerability_management.config_tool["VULNERABILITY_MANAGER"]["DEFECT_DOJO"]["CMDB"]["CMDB_MAPPING_PATH"]}',
413
452
  personal_access_token=vulnerability_management.access_token,
414
453
  token_cmdb=token_cmdb,
415
- host_cmdb=vulnerability_management.config_tool[
454
+ host_cmdb=vulnerability_management.config_tool["VULNERABILITY_MANAGER"][
455
+ "DEFECT_DOJO"
456
+ ]["CMDB"]["HOST_CMDB"],
457
+ cmdb_request_response=vulnerability_management.config_tool[
416
458
  "VULNERABILITY_MANAGER"
417
- ]["DEFECT_DOJO"]["CMDB"]["HOST_CMDB"],
418
- cmdb_request_response=vulnerability_management.config_tool["VULNERABILITY_MANAGER"]["DEFECT_DOJO"]["CMDB"]["CMDB_REQUEST_RESPONSE"],
459
+ ]["DEFECT_DOJO"]["CMDB"]["CMDB_REQUEST_RESPONSE"],
419
460
  **common_fields,
420
461
  )
421
462
  else:
422
463
  request: ImportScanRequest = ImportScanSerializer().load(
423
464
  {
424
- "product_type_name":vulnerability_management.vm_product_type_name,
465
+ "product_type_name": vulnerability_management.vm_product_type_name,
425
466
  "product_name": vulnerability_management.vm_product_name,
426
- "product_description":vulnerability_management.vm_product_description,
427
- "code_app":vulnerability_management.vm_product_name,
467
+ "product_description": vulnerability_management.vm_product_description,
468
+ "code_app": vulnerability_management.vm_product_name,
428
469
  **common_fields,
429
470
  }
430
471
  )
@@ -454,25 +495,25 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
454
495
  config_tool["VULNERABILITY_MANAGER"]["DEFECT_DOJO"]["HOST_DEFECT_DOJO"],
455
496
  )
456
497
 
457
- def _get_report_exclusions(self, total_findings, date_fn, host_dd):
498
+ def _get_report_exclusions(self, total_findings, date_fn, host_dd, **kwargs):
458
499
  exclusions = []
459
500
  for finding in total_findings:
460
501
  if finding.risk_accepted:
461
502
  exclusions.append(
462
503
  self._create_report_exclusion(
463
- finding, date_fn, "engine_risk", "Risk Accepted", host_dd
504
+ finding, date_fn, "engine_risk", self.RISK_ACCEPTED, host_dd, **kwargs
464
505
  )
465
506
  )
466
507
  elif finding.false_p:
467
508
  exclusions.append(
468
509
  self._create_report_exclusion(
469
- finding, date_fn, "engine_risk", self.FALSE_POSITIVE, host_dd
510
+ finding, date_fn, "engine_risk", self.FALSE_POSITIVE, host_dd, **kwargs
470
511
  )
471
512
  )
472
513
  elif finding.out_of_scope:
473
514
  exclusions.append(
474
515
  self._create_report_exclusion(
475
- finding, date_fn, "engine_risk", self.OUT_OF_SCOPE, host_dd
516
+ finding, date_fn, "engine_risk", self.OUT_OF_SCOPE, host_dd, **kwargs
476
517
  )
477
518
  )
478
519
  elif finding.risk_status == "Transfer Accepted":
@@ -483,18 +524,26 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
483
524
  "engine_risk",
484
525
  self.TRANSFERRED_FINDING,
485
526
  host_dd,
527
+ **kwargs
528
+ )
529
+ )
530
+ elif finding.risk_status == self.ON_WHITELIST:
531
+ exclusions.append(
532
+ self._create_report_exclusion(
533
+ finding, date_fn, "engine_risk", self.ON_WHITELIST, host_dd, **kwargs
486
534
  )
487
535
  )
488
536
  return exclusions
489
537
 
490
538
  def _get_findings_with_exclusions(
491
- self, session_manager, service, max_retries, query_params, tool, date_fn, reason
539
+ self, session_manager, service, max_retries, query_params, tool, date_fn, reason, **kwargs
492
540
  ):
493
541
  findings = self._get_findings(
494
542
  session_manager, service, max_retries, query_params
495
543
  )
544
+
496
545
  return map(
497
- partial(self._create_exclusion, date_fn=date_fn, tool=tool, reason=reason),
546
+ partial(self._create_exclusion, date_fn=date_fn, tool=tool, reason=reason, **kwargs),
498
547
  findings,
499
548
  )
500
549
 
@@ -505,6 +554,14 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
505
554
  ).results
506
555
 
507
556
  return self._retries_requests(request_func, max_retries, retry_delay=5)
557
+
558
+ def _get_finding_exclusion(self, session_manager, max_retries, query_params):
559
+ def request_func():
560
+ return FindingExclusion.get_finding_exclusion(
561
+ session=session_manager, **query_params
562
+ ).results
563
+
564
+ return self._retries_requests(request_func, max_retries, retry_delay=5)
508
565
 
509
566
  def _retries_requests(self, request_func, max_retries, retry_delay):
510
567
  for attempt in range(max_retries):
@@ -519,25 +576,44 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
519
576
  logger.error("Maximum number of retries reached, aborting.")
520
577
  raise e
521
578
 
522
- def _date_reason_based(self, finding, date_fn, reason):
523
- if reason in [self.FALSE_POSITIVE, self.OUT_OF_SCOPE]:
524
- create_date = date_fn(finding.last_status_update)
525
- expired_date = date_fn(None)
526
- elif reason == self.TRANSFERRED_FINDING:
527
- create_date = date_fn(finding.transfer_finding.date)
528
- expired_date = date_fn(finding.transfer_finding.expiration_date)
529
- else:
530
- last_accepted_risk = finding.accepted_risks[-1]
531
- create_date = date_fn(last_accepted_risk["created"])
532
- expired_date = date_fn(last_accepted_risk["expiration_date"])
533
579
 
580
+ def _date_reason_based(self, finding, date_fn, reason, tool, **kwargs):
581
+ def get_vuln_id(finding, tool):
582
+ if tool == "engine_risk":
583
+ return finding.id[0]["vulnerability_id"] if finding.id else finding.vuln_id_from_tool
584
+ else:
585
+ return finding.vulnerability_ids[0]["vulnerability_id"] if finding.vulnerability_ids else finding.vuln_id_from_tool
586
+
587
+ def get_dates_from_whitelist(vuln_id, white_list):
588
+ matching_finding = next(filter(lambda x: x.unique_id_from_tool == vuln_id, white_list), None)
589
+ if matching_finding:
590
+ return date_fn(matching_finding.create_date), date_fn(matching_finding.expiration_date)
591
+ return date_fn(None), date_fn(None)
592
+
593
+ reason_to_dates = {
594
+ self.FALSE_POSITIVE: lambda: (date_fn(finding.last_status_update), date_fn(None)),
595
+ self.OUT_OF_SCOPE: lambda: (date_fn(finding.last_status_update), date_fn(None)),
596
+ self.TRANSFERRED_FINDING: lambda: (date_fn(finding.transfer_finding.date), date_fn(finding.transfer_finding.expiration_date)),
597
+ self.RISK_ACCEPTED: lambda: (date_fn(finding.accepted_risks[-1]["created"]), date_fn(finding.accepted_risks[-1]["expiration_date"])),
598
+ self.ON_WHITELIST: lambda: get_dates_from_whitelist(get_vuln_id(finding, tool), kwargs.get("white_list", [])),
599
+ }
600
+
601
+ create_date, expired_date = reason_to_dates.get(reason, lambda: (date_fn(None), date_fn(None)))()
534
602
  return create_date, expired_date
535
603
 
536
- def _create_exclusion(self, finding, date_fn, tool, reason):
537
- create_date, expired_date = self._date_reason_based(finding, date_fn, reason)
604
+ def _create_exclusion(self, finding, date_fn, tool, reason, **kwargs):
605
+ create_date, expired_date = self._date_reason_based(finding, date_fn, reason, tool, **kwargs)
538
606
 
539
607
  return Exclusions(
540
- id=finding.vuln_id_from_tool if finding.vuln_id_from_tool else finding.vulnerability_ids[0]["vulnerability_id"],
608
+ id=(
609
+ finding.vuln_id_from_tool
610
+ if finding.vuln_id_from_tool
611
+ else (
612
+ finding.vulnerability_ids[0]["vulnerability_id"]
613
+ if finding.vulnerability_ids
614
+ else ""
615
+ )
616
+ ),
541
617
  where=self._get_where(finding, tool),
542
618
  create_date=create_date,
543
619
  expired_date=expired_date,
@@ -545,11 +621,15 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
545
621
  reason=reason,
546
622
  )
547
623
 
548
- def _create_report_exclusion(self, finding, date_fn, tool, reason, host_dd):
549
- create_date, expired_date = self._date_reason_based(finding, date_fn, reason)
624
+ def _create_report_exclusion(self, finding, date_fn, tool, reason, host_dd, **kwargs):
625
+ create_date, expired_date = self._date_reason_based(finding, date_fn, reason, tool, **kwargs)
550
626
 
551
627
  return Exclusions(
552
- id=finding.vuln_id_from_tool if finding.vuln_id_from_tool else finding.id[0]["vulnerability_id"],
628
+ id=(
629
+ finding.vuln_id_from_tool
630
+ if finding.vuln_id_from_tool
631
+ else finding.id[0]["vulnerability_id"] if finding.id else ""
632
+ ),
553
633
  where=self._get_where(finding, tool),
554
634
  create_date=create_date,
555
635
  expired_date=expired_date,
@@ -604,7 +684,11 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
604
684
 
605
685
  def _get_where(self, finding, tool):
606
686
  if tool == "engine_dependencies":
607
- return finding.component_name.replace("_", ":") + ":" + finding.component_version
687
+ return (
688
+ finding.component_name.replace("_", ":")
689
+ + ":"
690
+ + finding.component_version
691
+ )
608
692
  elif tool == "engine_container":
609
693
  return finding.component_name + ":" + finding.component_version
610
694
  elif tool == "engine_dast":
@@ -5,4 +5,5 @@ from .applications.finding import Finding
5
5
  from .applications.connect import Connect
6
6
  from .applications.engagement import Engagement
7
7
  from .applications.product import Product
8
- from .applications.component import Component
8
+ from .applications.component import Component
9
+ from .applications.finding_exclusion import FindingExclusion
@@ -25,5 +25,4 @@ class Component:
25
25
  uc = ComponentUserCase(rest_component)
26
26
  return uc.post(request)
27
27
  except ApiError as e:
28
- logger.error(f"Error during create component: {e}")
29
28
  raise e
@@ -1,9 +1,6 @@
1
- from devsecops_engine_tools.engine_utilities.defect_dojo.domain.request_objects.finding import FindingRequest
2
1
  from devsecops_engine_tools.engine_utilities.defect_dojo.domain.serializers.finding import FindingSerializer
3
2
  from devsecops_engine_tools.engine_utilities.defect_dojo.infraestructure.driver_adapters.finding import FindingRestConsumer
4
3
  from devsecops_engine_tools.engine_utilities.defect_dojo.domain.user_case.finding import FindingUserCase, FindingGetUserCase
5
- from devsecops_engine_tools.engine_utilities.utils.session_manager import SessionManager
6
- from devsecops_engine_tools.engine_utilities.utils.api_error import ApiError
7
4
  from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
8
5
  from devsecops_engine_tools.engine_utilities import settings
9
6
 
@@ -0,0 +1,14 @@
1
+ from devsecops_engine_tools.engine_utilities.utils.api_error import ApiError
2
+ from devsecops_engine_tools.engine_utilities.defect_dojo.domain.user_case.finding_exclusion import FindingExclusionUserCase
3
+ from devsecops_engine_tools.engine_utilities.defect_dojo.infraestructure.driver_adapters.finding_exclusion import FindingExclusionRestConsumer
4
+
5
+ class FindingExclusion:
6
+ @staticmethod
7
+ def get_finding_exclusion(session, **request):
8
+ try:
9
+ rest_finding_exclusion = FindingExclusionRestConsumer(session=session)
10
+
11
+ uc = FindingExclusionUserCase(rest_finding_exclusion)
12
+ return uc.execute(request)
13
+ except ApiError as e:
14
+ raise e
@@ -0,0 +1,20 @@
1
+ import dataclasses
2
+ from typing import List
3
+ from devsecops_engine_tools.engine_utilities.utils.dataclass_classmethod import FromDictMixin
4
+
5
+
6
+ @dataclasses.dataclass
7
+ class FindingExclusion(FromDictMixin):
8
+ uuid: str = ""
9
+ unique_id_from_tool: str = ""
10
+ type: str = ""
11
+ create_date: str = ""
12
+ expiration_date: str = ""
13
+
14
+
15
+ @dataclasses.dataclass
16
+ class FindingExclusionList(FromDictMixin):
17
+ count: int = 0
18
+ next = None
19
+ previous = None
20
+ results: List[FindingExclusion] = dataclasses.field(default_factory=list)
@@ -63,7 +63,7 @@ class FindingSerializer(Schema):
63
63
  reviewers = fields.List(fields.Int, requerided=False)
64
64
  risk_accetance = fields.Int(requerided=False)
65
65
  risk_status = fields.Str(
66
- required=False, validate=validate.OneOf(["Risk Pending", "Risk Rejected", "Risk Expired", "Risk Accepted", "Risk Active", "Transfer Pending", "Transfer Rejected", "Transfer Expired", "Transfer Accepted"])
66
+ required=False, validate=validate.OneOf(["Risk Pending", "Risk Rejected", "Risk Expired", "Risk Accepted", "Risk Active", "Transfer Pending", "Transfer Rejected", "Transfer Expired", "Transfer Accepted", "On Whitelist", "On Blacklist"])
67
67
  )
68
68
  risk_accepted = fields.Bool(requerided=False)
69
69
  sast_sink_object = fields.Str(requeride=False)
@@ -0,0 +1,9 @@
1
+ from devsecops_engine_tools.engine_utilities.defect_dojo.infraestructure.driver_adapters.finding_exclusion import FindingExclusionRestConsumer
2
+
3
+ class FindingExclusionUserCase:
4
+ def __init__(self, rest_finding_exclusion: FindingExclusionRestConsumer):
5
+ self.__rest_finding_exclusion = rest_finding_exclusion
6
+
7
+ def execute(self, request):
8
+ response = self.__rest_finding_exclusion.get_finding_exclusions(request)
9
+ return response
@@ -66,12 +66,12 @@ class ImportScanUserCase:
66
66
  with id {product_type_id}"
67
67
  )
68
68
 
69
- product = self.__rest_product.post_product(request, product_type_id)
70
- product_id = product.id
71
- logger.info(
72
- f"product created: {product.name}\
73
- found with id: {product.id}"
74
- )
69
+ product = self.__rest_product.post_product(request, product_type_id)
70
+ product_id = product.id
71
+ logger.info(
72
+ f"product created: {product.name}\
73
+ found with id: {product.id}"
74
+ )
75
75
 
76
76
  api_scan_bool = re.search(" API ", request.scan_type)
77
77
  if api_scan_bool:
@@ -0,0 +1,28 @@
1
+ from devsecops_engine_tools.engine_utilities.utils.api_error import ApiError
2
+ from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
3
+ from devsecops_engine_tools.engine_utilities.defect_dojo.domain.models.finding_exclusion import FindingExclusionList
4
+ from devsecops_engine_tools.engine_utilities.defect_dojo.infraestructure.driver_adapters.settings.settings import VERIFY_CERTIFICATE
5
+ from devsecops_engine_tools.engine_utilities.utils.session_manager import SessionManager
6
+ from devsecops_engine_tools.engine_utilities.settings import SETTING_LOGGER
7
+
8
+ logger = MyLogger.__call__(**SETTING_LOGGER).get_logger()
9
+
10
+ class FindingExclusionRestConsumer:
11
+ def __init__(self, session: SessionManager):
12
+ self.__token = session._token
13
+ self.__host = session._host
14
+ self.__session = session._instance
15
+
16
+
17
+ def get_finding_exclusions(self, request) -> FindingExclusionList:
18
+ url = f"{self.__host}/api/v2/finding_exclusions/"
19
+ headers = {"Authorization": f"Token {self.__token}", "Content-Type": "application/json"}
20
+ try:
21
+ response = self.__session.get(url, headers=headers, params=request, verify=VERIFY_CERTIFICATE)
22
+ if response.status_code != 200:
23
+ raise ApiError(response.json())
24
+ finding_exclusions_object = FindingExclusionList.from_dict(response.json())
25
+ except Exception as e:
26
+ logger.error(f"from dict FindingExclusion: {e}")
27
+ raise ApiError(e)
28
+ return finding_exclusions_object
@@ -0,0 +1 @@
1
+ version = '1.31.0'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: devsecops-engine-tools
3
- Version: 1.30.1
3
+ Version: 1.31.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
@@ -36,6 +36,7 @@ Requires-Dist: packageurl-python==0.15.6
36
36
  [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=bancolombia_devsecops-engine-tools&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=bancolombia_devsecops-engine-tools)
37
37
  [![Coverage](https://sonarcloud.io/api/project_badges/measure?project=bancolombia_devsecops-engine-tools&metric=coverage)](https://sonarcloud.io/summary/new_code?id=bancolombia_devsecops-engine-tools)
38
38
  [![Python Version](https://img.shields.io/badge/python%20-%203.8%20%7C%203.9%20%7C%203.10%20%7C%203.11%20%7C%203.12%20-blue)](#)
39
+ [![PyPI](https://img.shields.io/pypi/v/devsecops-engine-tools)](https://pypi.org/project/devsecops-engine-tools/)
39
40
  [![Docker Pulls](https://img.shields.io/docker/pulls/bancolombia/devsecops-engine-tools
40
41
  )](https://hub.docker.com/r/bancolombia/devsecops-engine-tools)
41
42
 
@@ -242,6 +242,7 @@ devsecops_engine_tools/engine_utilities/defect_dojo/applications/connect.py
242
242
  devsecops_engine_tools/engine_utilities/defect_dojo/applications/defect_dojo.py
243
243
  devsecops_engine_tools/engine_utilities/defect_dojo/applications/engagement.py
244
244
  devsecops_engine_tools/engine_utilities/defect_dojo/applications/finding.py
245
+ devsecops_engine_tools/engine_utilities/defect_dojo/applications/finding_exclusion.py
245
246
  devsecops_engine_tools/engine_utilities/defect_dojo/applications/product.py
246
247
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/__init__.py
247
248
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/__init__.py
@@ -249,6 +250,7 @@ devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/cmdb.py
249
250
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/component.py
250
251
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/engagement.py
251
252
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/finding.py
253
+ devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/finding_exclusion.py
252
254
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product.py
253
255
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_list.py
254
256
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type.py
@@ -265,6 +267,7 @@ devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/cmdb.py
265
267
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/component.py
266
268
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/engagement.py
267
269
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/finding.py
270
+ devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/finding_exclusion.py
268
271
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/import_scan.py
269
272
  devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/product.py
270
273
  devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/__init__.py
@@ -273,6 +276,7 @@ devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapt
273
276
  devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/component.py
274
277
  devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/engagement.py
275
278
  devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/finding.py
279
+ devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/finding_exclusion.py
276
280
  devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/import_scan.py
277
281
  devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product.py
278
282
  devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product_type.py
@@ -1 +0,0 @@
1
- version = '1.30.1'