devsecops-engine-tools 1.30.2__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.2 → devsecops_engine_tools-1.31.0}/PKG-INFO +2 -1
  2. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py +86 -25
  3. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/__init__.py +2 -1
  4. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/component.py +0 -1
  5. {devsecops_engine_tools-1.30.2 → 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.2 → 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.2 → 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.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools.egg-info/PKG-INFO +2 -1
  14. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools.egg-info/SOURCES.txt +4 -0
  15. devsecops_engine_tools-1.30.2/devsecops_engine_tools/version.py +0 -1
  16. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/README.md +0 -0
  17. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/__init__.py +0 -0
  18. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/__init__.py +0 -0
  19. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/__init__.py +0 -0
  20. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/applications/__init__.py +0 -0
  21. {devsecops_engine_tools-1.30.2 → 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.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/deployment/__init__.py +0 -0
  23. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/deployment/infrastructure/__init__.py +0 -0
  24. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/domain/__init__.py +0 -0
  25. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/domain/model/__init__.py +0 -0
  26. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/domain/model/component.py +0 -0
  27. {devsecops_engine_tools-1.30.2 → 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.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/domain/model/exclusions.py +0 -0
  29. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/domain/model/finding.py +0 -0
  30. {devsecops_engine_tools-1.30.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/domain/model/report.py +0 -0
  41. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/domain/model/threshold.py +0 -0
  42. {devsecops_engine_tools-1.30.2 → 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.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/domain/usecases/__init__.py +0 -0
  44. {devsecops_engine_tools-1.30.2 → 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.2 → 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.2 → 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.2 → 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.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/infrastructure/__init__.py +0 -0
  49. {devsecops_engine_tools-1.30.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/__init__.py +0 -0
  69. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/aws.py +0 -0
  70. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/util.py +0 -0
  71. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_dast/__init__.py +0 -0
  72. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_dast/src/__init__.py +0 -0
  73. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_dast/src/applications/__init__.py +0 -0
  74. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_dast/src/deployment/__init__.py +0 -0
  75. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_dast/src/deployment/infrastructure/__init__.py +0 -0
  76. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_dast/src/domain/__init__.py +0 -0
  77. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_dast/src/domain/model/__init__.py +0 -0
  78. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_dast/src/domain/usecases/__init__.py +0 -0
  79. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_dast/src/infrastructure/__init__.py +0 -0
  80. {devsecops_engine_tools-1.30.2 → 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.2 → 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.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_dast/src/infrastructure/helpers/__init__.py +0 -0
  83. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_risk/__init__.py +0 -0
  84. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_risk/src/__init__.py +0 -0
  85. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_risk/src/applications/__init__.py +0 -0
  86. {devsecops_engine_tools-1.30.2 → 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.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_risk/src/deployment/__init__.py +0 -0
  88. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_risk/src/deployment/infrastructure/__init__.py +0 -0
  89. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_risk/src/domain/__init__.py +0 -0
  90. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_risk/src/domain/model/__init__.py +0 -0
  91. {devsecops_engine_tools-1.30.2 → 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.2 → 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.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_risk/src/domain/usecases/__init__.py +0 -0
  94. {devsecops_engine_tools-1.30.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_risk/src/infrastructure/__init__.py +0 -0
  100. {devsecops_engine_tools-1.30.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_risk/src/infrastructure/helpers/__init__.py +0 -0
  106. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/__init__.py +0 -0
  107. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_code/__init__.py +0 -0
  108. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_code/src/__init__.py +0 -0
  109. {devsecops_engine_tools-1.30.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_iac/__init__.py +0 -0
  129. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_iac/src/__init__.py +0 -0
  130. {devsecops_engine_tools-1.30.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_secret/__init__.py +0 -0
  158. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sast/engine_secret/src/__init__.py +0 -0
  159. {devsecops_engine_tools-1.30.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/__init__.py +0 -0
  179. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_container/__init__.py +0 -0
  180. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_container/src/__init__.py +0 -0
  181. {devsecops_engine_tools-1.30.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_dependencies/__init__.py +0 -0
  209. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_sca/engine_dependencies/src/__init__.py +0 -0
  210. {devsecops_engine_tools-1.30.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/__init__.py +0 -0
  236. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/azuredevops/__init__.py +0 -0
  237. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure/__init__.py +0 -0
  238. {devsecops_engine_tools-1.30.2 → 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.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzureMessageLoggingPipeline.py +0 -0
  240. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzurePredefinedVariables.py +0 -0
  241. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/azuredevops/models/__init__.py +0 -0
  242. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/__init__.py +0 -0
  243. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/connect.py +0 -0
  244. {devsecops_engine_tools-1.30.2 → 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.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/engagement.py +0 -0
  246. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/product.py +0 -0
  247. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/__init__.py +0 -0
  248. {devsecops_engine_tools-1.30.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/hello_world.py +0 -0
  270. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/__init__.py +0 -0
  271. {devsecops_engine_tools-1.30.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/git_cli/__init__.py +0 -0
  284. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/git_cli/infrastructure/__init__.py +0 -0
  285. {devsecops_engine_tools-1.30.2 → 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.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/git_cli/model/__init__.py +0 -0
  287. {devsecops_engine_tools-1.30.2 → 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.2 → 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.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/github/__init__.py +0 -0
  290. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/github/infrastructure/__init__.py +0 -0
  291. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/github/infrastructure/github_api.py +0 -0
  292. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/github/models/GithubPredefinedVariables.py +0 -0
  293. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/github/models/__init__.py +0 -0
  294. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/input_validations/__init__.py +0 -0
  295. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/input_validations/env_utils.py +0 -0
  296. {devsecops_engine_tools-1.30.2 → 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.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/sbom/__init__.py +0 -0
  298. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/sbom/deserealizator.py +0 -0
  299. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/settings.py +0 -0
  300. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/sonarqube/__init__.py +0 -0
  301. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/__init__.py +0 -0
  302. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/applications/__init__.py +0 -0
  303. {devsecops_engine_tools-1.30.2 → 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.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/__init__.py +0 -0
  305. {devsecops_engine_tools-1.30.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/__init__.py +0 -0
  311. {devsecops_engine_tools-1.30.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/ssh/__init__.py +0 -0
  319. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/ssh/managment_private_key.py +0 -0
  320. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/utils/__init__.py +0 -0
  321. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/utils/api_error.py +0 -0
  322. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/utils/dataclass_classmethod.py +0 -0
  323. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/utils/datetime_parsing.py +0 -0
  324. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/utils/logger_info.py +0 -0
  325. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/utils/name_conversion.py +0 -0
  326. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/utils/printers.py +0 -0
  327. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/utils/session_manager.py +0 -0
  328. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools/engine_utilities/utils/utils.py +0 -0
  329. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools.egg-info/dependency_links.txt +0 -0
  330. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools.egg-info/entry_points.txt +0 -0
  331. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools.egg-info/requires.txt +0 -0
  332. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/devsecops_engine_tools.egg-info/top_level.txt +0 -0
  333. {devsecops_engine_tools-1.30.2 → devsecops_engine_tools-1.31.0}/setup.cfg +0 -0
  334. {devsecops_engine_tools-1.30.2 → 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.2
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
@@ -42,9 +43,11 @@ logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
42
43
  @dataclass
43
44
  class DefectDojoPlatform(VulnerabilityManagementGateway):
44
45
 
46
+ RISK_ACCEPTED = "Risk Accepted"
45
47
  OUT_OF_SCOPE = "Out of Scope"
46
48
  FALSE_POSITIVE = "False Positive"
47
49
  TRANSFERRED_FINDING = "Transferred Finding"
50
+ ON_WHITELIST = "On Whitelist"
48
51
 
49
52
  def send_vulnerability_management(
50
53
  self, vulnerability_management: VulnerabilityManagement
@@ -203,6 +206,11 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
203
206
  "tags": tool,
204
207
  "limit": dd_limits_query,
205
208
  }
209
+ white_list_query_params = {
210
+ "risk_status": self.ON_WHITELIST,
211
+ "tags": tool,
212
+ "limit": dd_limits_query,
213
+ }
206
214
 
207
215
  exclusions_risk_accepted = self._get_findings_with_exclusions(
208
216
  session_manager,
@@ -211,7 +219,7 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
211
219
  risk_accepted_query_params,
212
220
  tool,
213
221
  self._format_date_to_dd_format,
214
- "Risk Accepted",
222
+ self.RISK_ACCEPTED,
215
223
  )
216
224
 
217
225
  exclusions_false_positive = self._get_findings_with_exclusions(
@@ -244,11 +252,29 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
244
252
  self.TRANSFERRED_FINDING,
245
253
  )
246
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
+
247
272
  return (
248
273
  list(exclusions_risk_accepted)
249
274
  + list(exclusions_false_positive)
250
275
  + list(exclusions_out_of_scope)
251
276
  + list(exclusions_transfer_finding)
277
+ + list(exclusions_white_list)
252
278
  )
253
279
  except Exception as ex:
254
280
  raise ExceptionFindingsExcepted(
@@ -272,8 +298,10 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
272
298
  "HOST_DEFECT_DOJO"
273
299
  ]
274
300
 
301
+ session_manager = self._get_session_manager(dict_args, secret_tool, config_tool)
302
+
275
303
  findings = self._get_findings(
276
- self._get_session_manager(dict_args, secret_tool, config_tool),
304
+ session_manager,
277
305
  service,
278
306
  max_retries,
279
307
  all_findings_query_params,
@@ -286,8 +314,14 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
286
314
  )
287
315
  )
288
316
 
317
+ white_list = self._get_finding_exclusion(
318
+ session_manager, max_retries, {
319
+ "type": "white_list",
320
+ }
321
+ )
322
+
289
323
  all_exclusions = self._get_report_exclusions(
290
- 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
291
325
  )
292
326
 
293
327
  return all_findings, all_exclusions
@@ -461,25 +495,25 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
461
495
  config_tool["VULNERABILITY_MANAGER"]["DEFECT_DOJO"]["HOST_DEFECT_DOJO"],
462
496
  )
463
497
 
464
- def _get_report_exclusions(self, total_findings, date_fn, host_dd):
498
+ def _get_report_exclusions(self, total_findings, date_fn, host_dd, **kwargs):
465
499
  exclusions = []
466
500
  for finding in total_findings:
467
501
  if finding.risk_accepted:
468
502
  exclusions.append(
469
503
  self._create_report_exclusion(
470
- finding, date_fn, "engine_risk", "Risk Accepted", host_dd
504
+ finding, date_fn, "engine_risk", self.RISK_ACCEPTED, host_dd, **kwargs
471
505
  )
472
506
  )
473
507
  elif finding.false_p:
474
508
  exclusions.append(
475
509
  self._create_report_exclusion(
476
- finding, date_fn, "engine_risk", self.FALSE_POSITIVE, host_dd
510
+ finding, date_fn, "engine_risk", self.FALSE_POSITIVE, host_dd, **kwargs
477
511
  )
478
512
  )
479
513
  elif finding.out_of_scope:
480
514
  exclusions.append(
481
515
  self._create_report_exclusion(
482
- finding, date_fn, "engine_risk", self.OUT_OF_SCOPE, host_dd
516
+ finding, date_fn, "engine_risk", self.OUT_OF_SCOPE, host_dd, **kwargs
483
517
  )
484
518
  )
485
519
  elif finding.risk_status == "Transfer Accepted":
@@ -490,18 +524,26 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
490
524
  "engine_risk",
491
525
  self.TRANSFERRED_FINDING,
492
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
493
534
  )
494
535
  )
495
536
  return exclusions
496
537
 
497
538
  def _get_findings_with_exclusions(
498
- 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
499
540
  ):
500
541
  findings = self._get_findings(
501
542
  session_manager, service, max_retries, query_params
502
543
  )
544
+
503
545
  return map(
504
- 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),
505
547
  findings,
506
548
  )
507
549
 
@@ -512,6 +554,14 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
512
554
  ).results
513
555
 
514
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)
515
565
 
516
566
  def _retries_requests(self, request_func, max_retries, retry_delay):
517
567
  for attempt in range(max_retries):
@@ -526,23 +576,34 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
526
576
  logger.error("Maximum number of retries reached, aborting.")
527
577
  raise e
528
578
 
529
- def _date_reason_based(self, finding, date_fn, reason):
530
- if reason in [self.FALSE_POSITIVE, self.OUT_OF_SCOPE]:
531
- create_date = date_fn(finding.last_status_update)
532
- expired_date = date_fn(None)
533
- elif reason == self.TRANSFERRED_FINDING:
534
- create_date = date_fn(finding.transfer_finding.date)
535
- expired_date = date_fn(finding.transfer_finding.expiration_date)
536
- else:
537
- last_accepted_risk = finding.accepted_risks[-1]
538
- create_date = date_fn(last_accepted_risk["created"])
539
- expired_date = date_fn(last_accepted_risk["expiration_date"])
540
579
 
541
- return create_date, expired_date
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
+ }
542
600
 
543
- def _create_exclusion(self, finding, date_fn, tool, reason):
544
- create_date, expired_date = self._date_reason_based(finding, date_fn, reason)
601
+ create_date, expired_date = reason_to_dates.get(reason, lambda: (date_fn(None), date_fn(None)))()
602
+ return create_date, expired_date
545
603
 
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)
606
+
546
607
  return Exclusions(
547
608
  id=(
548
609
  finding.vuln_id_from_tool
@@ -560,8 +621,8 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
560
621
  reason=reason,
561
622
  )
562
623
 
563
- def _create_report_exclusion(self, finding, date_fn, tool, reason, host_dd):
564
- 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)
565
626
 
566
627
  return Exclusions(
567
628
  id=(
@@ -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.2
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.2'