devsecops-engine-tools 1.7.16__tar.gz → 1.7.18__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 (260) hide show
  1. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/PKG-INFO +1 -1
  2. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/applications/runner_engine_core.py +15 -1
  3. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py +1 -0
  4. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/config_tool.py +0 -1
  5. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/tool_gateway.py +1 -1
  6. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_tool.py +39 -46
  7. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/file_generator_tool.py +19 -19
  8. devsecops_engine_tools-1.7.18/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/container_sca_scan.py +90 -0
  9. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/set_input_core.py +2 -2
  10. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/docker_images.py +9 -2
  11. devsecops_engine_tools-1.7.18/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_cloud_manager_scan.py +100 -0
  12. devsecops_engine_tools-1.7.18/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_deserialize_output.py +64 -0
  13. devsecops_engine_tools-1.7.18/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_deserialize_output.py +63 -0
  14. devsecops_engine_tools-1.7.18/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_manager_scan.py +106 -0
  15. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/entry_point_tool.py +5 -4
  16. devsecops_engine_tools-1.7.18/devsecops_engine_tools/version.py +1 -0
  17. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools.egg-info/PKG-INFO +1 -1
  18. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools.egg-info/SOURCES.txt +0 -1
  19. devsecops_engine_tools-1.7.16/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/container_sca_scan.py +0 -56
  20. devsecops_engine_tools-1.7.16/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_cloud_manager_scan.py +0 -119
  21. devsecops_engine_tools-1.7.16/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_deserialize_output.py +0 -65
  22. devsecops_engine_tools-1.7.16/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_deserialize_output.py +0 -51
  23. devsecops_engine_tools-1.7.16/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_manager_scan.py +0 -114
  24. devsecops_engine_tools-1.7.16/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/helpers/images_scanned.py +0 -16
  25. devsecops_engine_tools-1.7.16/devsecops_engine_tools/version.py +0 -1
  26. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/README.md +0 -0
  27. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/__init__.py +0 -0
  28. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/__init__.py +0 -0
  29. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/__init__.py +0 -0
  30. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/applications/__init__.py +0 -0
  31. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/deployment/__init__.py +0 -0
  32. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/deployment/infrastructure/__init__.py +0 -0
  33. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/domain/__init__.py +0 -0
  34. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/domain/model/__init__.py +0 -0
  35. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/domain/model/customs_exceptions.py +0 -0
  36. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/domain/model/exclusions.py +0 -0
  37. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/domain/model/finding.py +0 -0
  38. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/domain/model/gateway/__init__.py +0 -0
  39. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/domain/model/gateway/devops_platform_gateway.py +0 -0
  40. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/domain/model/gateway/metrics_manager_gateway.py +0 -0
  41. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/domain/model/gateway/printer_table_gateway.py +0 -0
  42. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/domain/model/gateway/secrets_manager_gateway.py +0 -0
  43. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/domain/model/gateway/vulnerability_management_gateway.py +0 -0
  44. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/domain/model/input_core.py +0 -0
  45. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/domain/model/level_compliance.py +0 -0
  46. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/domain/model/level_vulnerability.py +0 -0
  47. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/domain/model/report.py +0 -0
  48. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/domain/model/threshold.py +0 -0
  49. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/domain/model/vulnerability_management.py +0 -0
  50. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/domain/usecases/__init__.py +0 -0
  51. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/domain/usecases/break_build.py +0 -0
  52. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/domain/usecases/handle_risk.py +0 -0
  53. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/domain/usecases/handle_scan.py +0 -0
  54. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/domain/usecases/metrics_manager.py +0 -0
  55. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/infrastructure/__init__.py +0 -0
  56. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/__init__.py +0 -0
  57. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/__init__.py +0 -0
  58. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/s3_manager.py +0 -0
  59. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/secrets_manager.py +0 -0
  60. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/__init__.py +0 -0
  61. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/azure_devops.py +0 -0
  62. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/__init__.py +0 -0
  63. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/__init__.py +0 -0
  64. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/printer_pretty_table.py +0 -0
  65. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/__init__.py +0 -0
  66. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/runtime_local.py +0 -0
  67. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/__init__.py +0 -0
  68. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/entry_point_core.py +0 -0
  69. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/__init__.py +0 -0
  70. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/aws.py +0 -0
  71. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/util.py +0 -0
  72. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_dast/__init__.py +0 -0
  73. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_dast/src/__init__.py +0 -0
  74. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_dast/src/applications/__init__.py +0 -0
  75. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_dast/src/deployment/__init__.py +0 -0
  76. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_dast/src/deployment/infrastructure/__init__.py +0 -0
  77. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_dast/src/domain/__init__.py +0 -0
  78. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_dast/src/domain/model/__init__.py +0 -0
  79. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_dast/src/domain/usecases/__init__.py +0 -0
  80. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_dast/src/infrastructure/__init__.py +0 -0
  81. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/__init__.py +0 -0
  82. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_dast/src/infrastructure/entry_points/__init__.py +0 -0
  83. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_dast/src/infrastructure/helpers/__init__.py +0 -0
  84. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_risk/__init__.py +0 -0
  85. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_risk/src/__init__.py +0 -0
  86. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_risk/src/applications/__init__.py +0 -0
  87. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_risk/src/applications/runner_engine_risk.py +0 -0
  88. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_risk/src/deployment/__init__.py +0 -0
  89. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_risk/src/deployment/infrastructure/__init__.py +0 -0
  90. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_risk/src/domain/__init__.py +0 -0
  91. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_risk/src/domain/model/__init__.py +0 -0
  92. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_risk/src/domain/model/gateways/__init__.py +0 -0
  93. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_risk/src/domain/usecases/__init__.py +0 -0
  94. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_risk/src/domain/usecases/break_build.py +0 -0
  95. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_risk/src/domain/usecases/handle_filters.py +0 -0
  96. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_risk/src/infrastructure/__init__.py +0 -0
  97. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/__init__.py +0 -0
  98. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/__init__.py +0 -0
  99. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/entry_point_risk.py +0 -0
  100. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_risk/src/infrastructure/helpers/__init__.py +0 -0
  101. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/__init__.py +0 -0
  102. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_iac/__init__.py +0 -0
  103. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_iac/src/__init__.py +0 -0
  104. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_iac/src/applications/__init__.py +0 -0
  105. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_iac/src/applications/runner_iac_scan.py +0 -0
  106. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/__init__.py +0 -0
  107. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/infrastructure/__init__.py +0 -0
  108. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/__init__.py +0 -0
  109. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/__init__.py +0 -0
  110. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/__init__.py +0 -0
  111. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/__init__.py +0 -0
  112. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/iac_scan.py +0 -0
  113. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/__init__.py +0 -0
  114. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/__init__.py +0 -0
  115. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/__init__.py +0 -0
  116. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_config.py +0 -0
  117. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_deserealizator.py +0 -0
  118. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/__init__.py +0 -0
  119. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  120. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/__init__.py +0 -0
  121. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_secret/__init__.py +0 -0
  122. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_secret/src/__init__.py +0 -0
  123. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_secret/src/applications/__init__.py +0 -0
  124. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_secret/src/applications/runner_secret_scan.py +0 -0
  125. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/__init__.py +0 -0
  126. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/infrastructure/__init__.py +0 -0
  127. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/__init__.py +0 -0
  128. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/DeserializeConfigTool.py +0 -0
  129. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/__init__.py +0 -0
  130. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/__init__.py +0 -0
  131. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/gateway_deserealizator.py +0 -0
  132. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/git_gateway.py +0 -0
  133. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/tool_gateway.py +0 -0
  134. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/__init__.py +0 -0
  135. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/secret_scan.py +0 -0
  136. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/set_input_core.py +0 -0
  137. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/__init__.py +0 -0
  138. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/__init__.py +0 -0
  139. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/git_cli/__init__.py +0 -0
  140. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/git_cli/git_run.py +0 -0
  141. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/__init__.py +0 -0
  142. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_deserealizator.py +0 -0
  143. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_run.py +0 -0
  144. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/__init__.py +0 -0
  145. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  146. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/__init__.py +0 -0
  147. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_container/__init__.py +0 -0
  148. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_container/src/__init__.py +0 -0
  149. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_container/src/applications/__init__.py +0 -0
  150. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_container/src/applications/runner_container_scan.py +0 -0
  151. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_container/src/deployment/__init__.py +0 -0
  152. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_container/src/deployment/infrastructure/__init__.py +0 -0
  153. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_container/src/domain/__init__.py +0 -0
  154. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/__init__.py +0 -0
  155. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/__init__.py +0 -0
  156. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/deserealizator_gateway.py +0 -0
  157. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/images_gateway.py +0 -0
  158. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/tool_gateway.py +0 -0
  159. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/__init__.py +0 -0
  160. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/handle_remote_config_patterns.py +0 -0
  161. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/__init__.py +0 -0
  162. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/__init__.py +0 -0
  163. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/__init__.py +0 -0
  164. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/__init__.py +0 -0
  165. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/__init__.py +0 -0
  166. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/__init__.py +0 -0
  167. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/helpers/__init__.py +0 -0
  168. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_dependencies/__init__.py +0 -0
  169. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_dependencies/src/__init__.py +0 -0
  170. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/__init__.py +0 -0
  171. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/runner_dependencies_scan.py +0 -0
  172. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/__init__.py +0 -0
  173. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/infrastructure/__init__.py +0 -0
  174. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/__init__.py +0 -0
  175. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/__init__.py +0 -0
  176. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/__init__.py +0 -0
  177. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/deserializator_gateway.py +0 -0
  178. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/tool_gateway.py +0 -0
  179. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/__init__.py +0 -0
  180. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/dependencies_sca_scan.py +0 -0
  181. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/find_artifacts.py +0 -0
  182. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/handle_remote_config_patterns.py +0 -0
  183. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/set_input_core.py +0 -0
  184. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/__init__.py +0 -0
  185. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/__init__.py +0 -0
  186. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/__init__.py +0 -0
  187. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_deserialize_output.py +0 -0
  188. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_manager_scan.py +0 -0
  189. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/__init__.py +0 -0
  190. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  191. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/__init__.py +0 -0
  192. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/__init__.py +0 -0
  193. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/azuredevops/__init__.py +0 -0
  194. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure/__init__.py +0 -0
  195. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure/azure_devops_api.py +0 -0
  196. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzureMessageLoggingPipeline.py +0 -0
  197. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzurePredefinedVariables.py +0 -0
  198. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/azuredevops/models/__init__.py +0 -0
  199. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/__init__.py +0 -0
  200. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/__init__.py +0 -0
  201. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/connect.py +0 -0
  202. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/defect_dojo.py +0 -0
  203. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/finding.py +0 -0
  204. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/__init__.py +0 -0
  205. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/__init__.py +0 -0
  206. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/cmdb.py +0 -0
  207. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/engagement.py +0 -0
  208. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/finding.py +0 -0
  209. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product.py +0 -0
  210. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_list.py +0 -0
  211. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type.py +0 -0
  212. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type_list.py +0 -0
  213. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/scan_configuration.py +0 -0
  214. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/__init__.py +0 -0
  215. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/finding.py +0 -0
  216. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/import_scan.py +0 -0
  217. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/__init__.py +0 -0
  218. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/finding.py +0 -0
  219. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/import_scan.py +0 -0
  220. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/__init__.py +0 -0
  221. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/cmdb.py +0 -0
  222. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/finding.py +0 -0
  223. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/import_scan.py +0 -0
  224. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/hello_world.py +0 -0
  225. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/__init__.py +0 -0
  226. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/__init__.py +0 -0
  227. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/cmdb.py +0 -0
  228. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/engagement.py +0 -0
  229. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/finding.py +0 -0
  230. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/import_scan.py +0 -0
  231. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product.py +0 -0
  232. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product_type.py +0 -0
  233. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/scan_configurations.py +0 -0
  234. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/__init__.py +0 -0
  235. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/settings.py +0 -0
  236. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/repository/__init__.py +0 -0
  237. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/github/__init__.py +0 -0
  238. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/github/infrastructure/__init__.py +0 -0
  239. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/github/infrastructure/github_api.py +0 -0
  240. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/github/models/__init__.py +0 -0
  241. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/input_validations/__init__.py +0 -0
  242. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/input_validations/env_utils.py +0 -0
  243. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/input_validations/validate_input_with_regex_letters_number_and_only.py +0 -0
  244. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/settings.py +0 -0
  245. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/ssh/__init__.py +0 -0
  246. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/ssh/managment_private_key.py +0 -0
  247. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/utils/__init__.py +0 -0
  248. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/utils/api_error.py +0 -0
  249. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/utils/dataclass_classmethod.py +0 -0
  250. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/utils/datetime_parsing.py +0 -0
  251. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/utils/logger_info.py +0 -0
  252. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/utils/name_conversion.py +0 -0
  253. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/utils/printers.py +0 -0
  254. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools/engine_utilities/utils/session_manager.py +0 -0
  255. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools.egg-info/dependency_links.txt +0 -0
  256. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools.egg-info/entry_points.txt +0 -0
  257. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools.egg-info/requires.txt +0 -0
  258. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/devsecops_engine_tools.egg-info/top_level.txt +0 -0
  259. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/setup.cfg +0 -0
  260. {devsecops_engine_tools-1.7.16 → devsecops_engine_tools-1.7.18}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: devsecops-engine-tools
3
- Version: 1.7.16
3
+ Version: 1.7.18
4
4
  Summary: Tool for DevSecOps strategy
5
5
  Home-page: https://github.com/bancolombia/devsecops-engine-tools
6
6
  Author: Bancolombia DevSecOps Team
@@ -28,6 +28,20 @@ from devsecops_engine_tools.version import version
28
28
 
29
29
  logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
30
30
 
31
+ def parse_separated_list(value, choices):
32
+ values = value.split(',')
33
+ # Validar cada elemento de la lista
34
+ for val in values:
35
+ if val not in choices:
36
+ raise argparse.ArgumentTypeError(f"Invalid value: {val}. Valid values are: {', '.join(choices)}")
37
+
38
+ return values
39
+
40
+ def parse_choices(choices):
41
+ def parse_with_choices(value):
42
+ return parse_separated_list(value, choices)
43
+ return parse_with_choices
44
+
31
45
  def get_inputs_from_cli(args):
32
46
  parser = argparse.ArgumentParser()
33
47
  parser.add_argument("-v", "--version", action='version', version='{version}'.format(version=version))
@@ -49,7 +63,7 @@ def get_inputs_from_cli(args):
49
63
  )
50
64
  parser.add_argument("-fp", "--folder_path", type=str, required=False, help="Folder Path to scan, only apply engine_iac tool")
51
65
  parser.add_argument("-p",
52
- "--platform", choices=["eks", "openshift"], type=str, required=False, help="Platform to execute, only apply engine_iac tool"
66
+ "--platform", type=parse_choices({"all", "docker", "k8s", "cloudformation"}), required=False, default="all" ,help="Platform to scan, only apply engine_iac tool"
53
67
  )
54
68
  parser.add_argument(
55
69
  "--use_secrets_manager",
@@ -54,6 +54,7 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
54
54
  "PRISMA": "Twistlock Image Scan",
55
55
  "XRAY": "JFrog Xray On Demand Binary Scan",
56
56
  "TRUFFLEHOG": "Trufflehog Scan",
57
+ "TRIVY": "Trivy Scan",
57
58
  }
58
59
 
59
60
  if any(
@@ -6,7 +6,6 @@ class ConfigTool:
6
6
  self.version = json_data[tool]["VERSION"]
7
7
  self.search_pattern = json_data["SEARCH_PATTERN"]
8
8
  self.ignore_search_pattern = json_data["IGNORE_SEARCH_PATTERN"]
9
- self.exclusions_path = json_data["EXCLUSIONS_PATH"]
10
9
  self.use_external_checks_git = json_data[tool]["USE_EXTERNAL_CHECKS_GIT"]
11
10
  self.external_checks_git = json_data[tool]["EXTERNAL_CHECKS_GIT"]
12
11
  self.repository_ssh_host = json_data[tool]["EXTERNAL_GIT_SSH_HOST"]
@@ -2,5 +2,5 @@ from abc import ABCMeta, abstractmethod
2
2
 
3
3
  class ToolGateway(metaclass=ABCMeta):
4
4
  @abstractmethod
5
- def run_tool(self, config_tool, folders_to_scan, environment, container_platform, secret_tool):
5
+ def run_tool(self, config_tool, folders_to_scan, environment, platform_to_scan, secret_tool):
6
6
  "run_tool"
@@ -38,6 +38,7 @@ class CheckovTool(ToolGateway):
38
38
  CHECKOV_CONFIG_FILE = "checkov_config.yaml"
39
39
  TOOL = "CHECKOV"
40
40
  framework_mapping = {"RULES_DOCKER": "dockerfile", "RULES_K8S": "kubernetes", "RULES_CLOUDFORMATION": "cloudformation"}
41
+ framework_external_checks = ["RULES_K8S", "RULES_CLOUDFORMATION","RULES_DOCKER"]
41
42
 
42
43
 
43
44
  def create_config_file(self, checkov_config: CheckovConfig):
@@ -113,58 +114,50 @@ class CheckovTool(ToolGateway):
113
114
  output = self.execute(checkov_config)
114
115
  result.append(json.loads(output))
115
116
  queue.put(result)
116
-
117
- def if_platform(self,value,container_platform):
118
- if value.get("platform_not_apply"):
119
- if value.get("platform_not_apply") != container_platform:
120
- return True
121
- else:
122
- return False
123
- else:
124
- return True
125
117
 
126
118
  def scan_folders(
127
- self, folders_to_scan, config_tool: ConfigTool, agent_env, environment, container_platform
119
+ self, folders_to_scan, config_tool: ConfigTool, agent_env, environment, platform_to_scan
128
120
  ):
129
121
  output_queue = queue.Queue()
130
122
  # Crea una lista para almacenar los hilos
131
123
  threads = []
132
124
  for folder in folders_to_scan:
133
125
  for rule in config_tool.rules_data_type:
134
- checkov_config = CheckovConfig(
135
- path_config_file="",
136
- config_file_name=rule,
137
- framework=self.framework_mapping[rule],
138
- checks=[
139
- key
140
- for key, value in config_tool.rules_data_type[rule].items()
141
- if value["environment"].get(environment) and self.if_platform(value,container_platform)
142
- ],
143
- soft_fail=False,
144
- directories=folder,
145
- external_checks_git=[
146
- f"{config_tool.external_checks_git}/{self.framework_mapping[rule]}"
147
- ]
148
- if config_tool.use_external_checks_git == "True"
149
- and agent_env is not None
150
- and rule in ["RULES_K8S", "RULES_CLOUDFORMATION","RULES_DOCKER"]
151
- else [],
152
- env=agent_env,
153
- external_checks_dir=f"/tmp/rules/{self.framework_mapping[rule]}"
154
- if config_tool.use_external_checks_dir == "True"
155
- and rule in ["RULES_K8S", "RULES_CLOUDFORMATION","RULES_DOCKER"]
156
- else [],
157
- )
158
-
159
- checkov_config.create_config_dict()
160
- self.create_config_file(checkov_config)
161
- config_tool.rules_all.update(config_tool.rules_data_type[rule])
162
- t = threading.Thread(
163
- target=self.async_scan,
164
- args=(output_queue, checkov_config),
165
- )
166
- t.start()
167
- threads.append(t)
126
+ if "all" in platform_to_scan or any(elem.upper() in rule for elem in platform_to_scan):
127
+ checkov_config = CheckovConfig(
128
+ path_config_file="",
129
+ config_file_name=rule,
130
+ framework=self.framework_mapping[rule],
131
+ checks=[
132
+ key
133
+ for key, value in config_tool.rules_data_type[rule].items()
134
+ if value["environment"].get(environment)
135
+ ],
136
+ soft_fail=False,
137
+ directories=folder,
138
+ external_checks_git=[
139
+ f"{config_tool.external_checks_git}/{self.framework_mapping[rule]}"
140
+ ]
141
+ if config_tool.use_external_checks_git == "True"
142
+ and agent_env is not None
143
+ and rule in self.framework_external_checks
144
+ else [],
145
+ env=agent_env,
146
+ external_checks_dir=f"/tmp/rules/{self.framework_mapping[rule]}"
147
+ if config_tool.use_external_checks_dir == "True"
148
+ and rule in self.framework_external_checks
149
+ else [],
150
+ )
151
+
152
+ checkov_config.create_config_dict()
153
+ self.create_config_file(checkov_config)
154
+ config_tool.rules_all.update(config_tool.rules_data_type[rule])
155
+ t = threading.Thread(
156
+ target=self.async_scan,
157
+ args=(output_queue, checkov_config),
158
+ )
159
+ t.start()
160
+ threads.append(t)
168
161
  # Espera a que todos los hilos terminen
169
162
  for t in threads:
170
163
  t.join()
@@ -176,12 +169,12 @@ class CheckovTool(ToolGateway):
176
169
  return result_scans
177
170
 
178
171
  def run_tool(
179
- self, config_tool: ConfigTool, folders_to_scan, environment, container_platform, secret_tool
172
+ self, config_tool: ConfigTool, folders_to_scan, environment, platform_to_scan, secret_tool
180
173
  ):
181
174
  agent_env = self.configurate_external_checks(config_tool, secret_tool)
182
175
 
183
176
  result_scans = self.scan_folders(
184
- folders_to_scan, config_tool, agent_env, environment, container_platform
177
+ folders_to_scan, config_tool, agent_env, environment, platform_to_scan
185
178
  )
186
179
 
187
180
  checkov_deserealizator = CheckovDeserealizator()
@@ -35,27 +35,27 @@ def generate_file_from_tool(tool, result_list, rules_doc):
35
35
  "checkov_version", None
36
36
  )
37
37
 
38
- file_name = "results.json"
39
- results_data = {
40
- "check_type": "Dockerfile, Kubernetes and CloudFormation",
41
- "results": {
42
- "failed_checks": all_failed_checks,
43
- },
44
- "summary": {
45
- "passed": summary_passed,
46
- "failed": summary_failed,
47
- "skipped": summary_skipped,
48
- "parsing_errors": summary_parsing_errors,
49
- "resource_count": summary_resource_count,
50
- "checkov_version": checkov_version,
51
- },
52
- }
38
+ file_name = "results.json"
39
+ results_data = {
40
+ "check_type": "Dockerfile, Kubernetes and CloudFormation",
41
+ "results": {
42
+ "failed_checks": all_failed_checks,
43
+ },
44
+ "summary": {
45
+ "passed": summary_passed,
46
+ "failed": summary_failed,
47
+ "skipped": summary_skipped,
48
+ "parsing_errors": summary_parsing_errors,
49
+ "resource_count": summary_resource_count,
50
+ "checkov_version": checkov_version,
51
+ },
52
+ }
53
53
 
54
- with open(file_name, "w") as json_file:
55
- json.dump(results_data, json_file, indent=4)
54
+ with open(file_name, "w") as json_file:
55
+ json.dump(results_data, json_file, indent=4)
56
56
 
57
- absolute_path = os.path.abspath(file_name)
58
- return absolute_path
57
+ absolute_path = os.path.abspath(file_name)
58
+ return absolute_path
59
59
  except Exception as ex:
60
60
  logger.error(f"Error during handling checkov json integrator {ex}")
61
61
 
@@ -0,0 +1,90 @@
1
+ from devsecops_engine_tools.engine_sca.engine_container.src.domain.model.gateways.tool_gateway import (
2
+ ToolGateway,
3
+ )
4
+ from devsecops_engine_tools.engine_sca.engine_container.src.domain.model.gateways.images_gateway import (
5
+ ImagesGateway,
6
+ )
7
+ from devsecops_engine_tools.engine_sca.engine_container.src.domain.model.gateways.deserealizator_gateway import (
8
+ DeseralizatorGateway,
9
+ )
10
+
11
+ import os
12
+
13
+
14
+ class ContainerScaScan:
15
+ def __init__(
16
+ self,
17
+ tool_run: ToolGateway,
18
+ remote_config,
19
+ tool_images: ImagesGateway,
20
+ tool_deseralizator: DeseralizatorGateway,
21
+ build_id,
22
+ token,
23
+ ):
24
+ self.tool_run = tool_run
25
+ self.remote_config = remote_config
26
+ self.tool_images = tool_images
27
+ self.tool_deseralizator = tool_deseralizator
28
+ self.build_id = build_id
29
+ self.token = token
30
+
31
+ def get_latest_image(self):
32
+ """
33
+ Process the list of images.
34
+
35
+ Returns:
36
+ list: List of processed images.
37
+ """
38
+ return self.tool_images.list_images()
39
+
40
+ def get_images_already_scanned(self):
41
+ """
42
+ Create images scanned file if it does not exist and get the images that have already been scanned.
43
+ """
44
+ scanned_images_file = os.path.join(os.getcwd(), "scanned_images.txt")
45
+ if not os.path.exists(scanned_images_file):
46
+ open(scanned_images_file, "w").close()
47
+ with open(scanned_images_file, "r") as file:
48
+ images_scanned = file.read().splitlines()
49
+ return images_scanned
50
+
51
+ def set_image_scanned(self, result_file):
52
+ """
53
+ Write in scanned_images.txt the result file
54
+ """
55
+ with open("scanned_images.txt", "a") as file:
56
+ file.write(result_file + "\n")
57
+
58
+ def process(self):
59
+ """
60
+ Process SCA scanning.
61
+
62
+ Returns:
63
+ string: file scanning results name.
64
+ """
65
+ latest_image = self.get_latest_image()
66
+ image_name = latest_image.tags[0]
67
+ image_scanned = None
68
+ if str(self.build_id) in image_name:
69
+ result_file = image_name + "_scan_result.json"
70
+ if result_file in self.get_images_already_scanned():
71
+ print(f"The image {image_name} has already been scanned previously.")
72
+ return image_scanned
73
+ image_scanned = self.tool_run.run_tool_container_sca(
74
+ self.remote_config, self.token, image_name, result_file
75
+ )
76
+ self.set_image_scanned(result_file)
77
+ else:
78
+ print(
79
+ f"'{image_name}' name does not contain build number '{self.build_id}'. Tool skipped."
80
+ )
81
+ return image_scanned
82
+
83
+ def deseralizator(self, image_scanned):
84
+ """
85
+ Process the results deserializer.
86
+
87
+ Returns:
88
+ list: Deserialized list of findings.
89
+ """
90
+ return self.tool_deseralizator.get_list_findings(image_scanned)
@@ -31,7 +31,7 @@ class SetInputCore:
31
31
  ]
32
32
  return list_exclusions
33
33
 
34
- def set_input_core(self, images_scanned):
34
+ def set_input_core(self, image_scanned):
35
35
  """
36
36
  Set the input core.
37
37
 
@@ -45,7 +45,7 @@ class SetInputCore:
45
45
  self.tool,
46
46
  ),
47
47
  Threshold(self.remote_config["THRESHOLD"]),
48
- images_scanned[-1] if images_scanned else None,
48
+ image_scanned,
49
49
  self.remote_config["MESSAGE_INFO_ENGINE_CONTAINER"],
50
50
  self.pipeline_name,
51
51
  self.stage.capitalize(),
@@ -4,6 +4,11 @@ from devsecops_engine_tools.engine_sca.engine_container.src.domain.model.gateway
4
4
  )
5
5
  import docker
6
6
 
7
+ from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
8
+ from devsecops_engine_tools.engine_utilities import settings
9
+
10
+ logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
11
+
7
12
 
8
13
  class DockerImages(ImagesGateway):
9
14
  def list_images(self):
@@ -18,5 +23,7 @@ class DockerImages(ImagesGateway):
18
23
  print("Tag last image:", latest_image.tags)
19
24
  print("Created date last image:", latest_image.attrs["Created"])
20
25
  return latest_image
21
- except subprocess.CalledProcessError as e:
22
- raise ValueError(f"Error listing images:{e.stderr}")
26
+ except Exception as e:
27
+ logger.error(
28
+ f"Error listing images, docker must be running and added to PATH: {e}"
29
+ )
@@ -0,0 +1,100 @@
1
+ import stat
2
+ import requests
3
+ import os
4
+ import subprocess
5
+ import logging
6
+ import base64
7
+ from devsecops_engine_tools.engine_sca.engine_container.src.domain.model.gateways.tool_gateway import (
8
+ ToolGateway,
9
+ )
10
+ from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
11
+ from devsecops_engine_tools.engine_utilities import settings
12
+
13
+ logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
14
+
15
+
16
+ class PrismaCloudManagerScan(ToolGateway):
17
+ def download_twistcli(
18
+ self,
19
+ file_path,
20
+ prisma_access_key,
21
+ prisma_secret_key,
22
+ prisma_console_url,
23
+ prisma_api_version,
24
+ ):
25
+ url = f"{prisma_console_url}/api/{prisma_api_version}/util/twistcli"
26
+ credentials = base64.b64encode(
27
+ f"{prisma_access_key}:{prisma_secret_key}".encode()
28
+ ).decode()
29
+ headers = {"Authorization": f"Basic {credentials}"}
30
+ try:
31
+ response = requests.get(url, headers=headers)
32
+ response.raise_for_status()
33
+
34
+ with open(file_path, "wb") as file:
35
+ file.write(response.content)
36
+
37
+ os.chmod(file_path, stat.S_IRWXU)
38
+ logging.info(f"twistcli downloaded and saved to: {file_path}")
39
+ return 0
40
+
41
+ except Exception as e:
42
+ raise ValueError(f"Error downloading twistcli: {e}")
43
+
44
+ def scan_image(
45
+ self, file_path, image_name, result_file, remoteconfig, prisma_secret_key
46
+ ):
47
+ command = (
48
+ file_path,
49
+ "images",
50
+ "scan",
51
+ "--address",
52
+ remoteconfig["PRISMA_CLOUD"]["PRISMA_CONSOLE_URL"],
53
+ "--user",
54
+ remoteconfig["PRISMA_CLOUD"]["PRISMA_ACCESS_KEY"],
55
+ "--password",
56
+ prisma_secret_key,
57
+ "--output-file",
58
+ result_file,
59
+ "--details",
60
+ image_name,
61
+ )
62
+ try:
63
+ subprocess.run(
64
+ command,
65
+ check=True,
66
+ stdout=subprocess.PIPE,
67
+ stderr=subprocess.PIPE,
68
+ text=True,
69
+ )
70
+ print(f"The image {image_name} was scanned")
71
+
72
+ return result_file
73
+
74
+ except subprocess.CalledProcessError as e:
75
+ logger.error(f"Error during image scan of {image_name}: {e.stderr}")
76
+
77
+ def run_tool_container_sca(
78
+ self, remoteconfig, prisma_secret_key, image_name, result_file
79
+ ):
80
+ file_path = os.path.join(
81
+ os.getcwd(), remoteconfig["PRISMA_CLOUD"]["TWISTCLI_PATH"]
82
+ )
83
+
84
+ if not os.path.exists(file_path):
85
+ self.download_twistcli(
86
+ file_path,
87
+ remoteconfig["PRISMA_CLOUD"]["PRISMA_ACCESS_KEY"],
88
+ prisma_secret_key,
89
+ remoteconfig["PRISMA_CLOUD"]["PRISMA_CONSOLE_URL"],
90
+ remoteconfig["PRISMA_CLOUD"]["PRISMA_API_VERSION"],
91
+ )
92
+ image_scanned = self.scan_image(
93
+ file_path,
94
+ image_name,
95
+ result_file,
96
+ remoteconfig,
97
+ prisma_secret_key,
98
+ )
99
+
100
+ return image_scanned
@@ -0,0 +1,64 @@
1
+ from devsecops_engine_tools.engine_sca.engine_container.src.domain.model.gateways.deserealizator_gateway import (
2
+ DeseralizatorGateway,
3
+ )
4
+ from devsecops_engine_tools.engine_core.src.domain.model.finding import (
5
+ Finding,
6
+ Category,
7
+ )
8
+ from datetime import datetime
9
+ from dataclasses import dataclass
10
+ import json
11
+
12
+
13
+ @dataclass
14
+ class PrismaDeserealizator(DeseralizatorGateway):
15
+ def get_list_findings(self, image_scanned) -> "list[Finding]":
16
+ list_open_vulnerabilities = []
17
+ SEVERITY_MAP = {
18
+ "unimportant": "low",
19
+ "unassigned": "low",
20
+ "negligible": "low",
21
+ "not yet assigned": "low",
22
+ "low": "low",
23
+ "medium": "medium",
24
+ "moderate": "medium",
25
+ "high": "high",
26
+ "important": "high",
27
+ "critical": "critical",
28
+ }
29
+ with open(image_scanned, "rb") as file:
30
+ image_object = file.read()
31
+
32
+ json_data = json.loads(image_object)
33
+ vulnerabilities_data = (
34
+ json_data["results"][0]["vulnerabilities"]
35
+ if "vulnerabilities" in json_data["results"][0]
36
+ else []
37
+ )
38
+
39
+ # Create a list of findings instances from the JSON data
40
+ vulnerabilities = [
41
+ Finding(
42
+ id=vul.get("id", ""),
43
+ cvss=float(vul.get("cvss", 0.0)),
44
+ where=vul.get("packageName", "")
45
+ + ":"
46
+ + vul.get("packageVersion", ""),
47
+ description=vul.get("description", "")[:150],
48
+ severity=SEVERITY_MAP.get(vul.get("severity", ""), ""),
49
+ identification_date=datetime.strptime(
50
+ vul.get("discoveredDate", ""), "%Y-%m-%dT%H:%M:%S%z"
51
+ ),
52
+ published_date_cve=vul.get("publishedDate", "").replace("Z", "+00:00"),
53
+ module="engine_container",
54
+ category=Category.VULNERABILITY,
55
+ requirements=vul.get("status", ""),
56
+ tool="PrismaCloud",
57
+ )
58
+ for vul in vulnerabilities_data
59
+ ]
60
+
61
+ # Add the Vulnerability instances to the list
62
+ list_open_vulnerabilities.extend(vulnerabilities)
63
+
64
+ return list_open_vulnerabilities
@@ -0,0 +1,63 @@
1
+ from devsecops_engine_tools.engine_sca.engine_container.src.domain.model.gateways.deserealizator_gateway import (
2
+ DeseralizatorGateway,
3
+ )
4
+ from devsecops_engine_tools.engine_core.src.domain.model.finding import (
5
+ Finding,
6
+ Category,
7
+ )
8
+ from dataclasses import dataclass
9
+ import json
10
+ from datetime import datetime, timezone
11
+
12
+
13
+ @dataclass
14
+ class TrivyDeserializator(DeseralizatorGateway):
15
+ def check_date_format(self, vul):
16
+ try:
17
+ published_date_cve=datetime.strptime(
18
+ vul.get("PublishedDate"),
19
+ "%Y-%m-%dT%H:%M:%S.%fZ"
20
+ ).replace(tzinfo=timezone.utc).isoformat()
21
+ except:
22
+ published_date_cve=datetime.strptime(
23
+ vul.get("PublishedDate"),
24
+ "%Y-%m-%dT%H:%M:%SZ"
25
+ ).replace(tzinfo=timezone.utc).isoformat()
26
+ return published_date_cve
27
+
28
+ def get_list_findings(self, image_scanned) -> "list[Finding]":
29
+ list_open_vulnerabilities = []
30
+ with open(image_scanned, "rb") as file:
31
+ image_object = file.read()
32
+ json_data = json.loads(image_object)
33
+ vulnerabilities_data = json_data["Results"][0].get("Vulnerabilities", [])
34
+ vulnerabilities = [
35
+ Finding(
36
+ id=vul.get("VulnerabilityID", ""),
37
+ cvss=str(next(
38
+ (
39
+ v["V3Score"]
40
+ for v in vul["CVSS"].values()
41
+ if "V3Score" in v
42
+ ),
43
+ None,
44
+ )),
45
+ where=vul.get("PkgName", "")
46
+ + " "
47
+ + vul.get("InstalledVersion", ""),
48
+ description=vul.get("Description", "").replace("\n", "")[:150],
49
+ severity=vul.get("Severity", "").lower(),
50
+ identification_date=datetime.now().strftime(
51
+ "%Y-%m-%dT%H:%M:%S%z"
52
+ ),
53
+ published_date_cve=self.check_date_format(vul),
54
+ module="engine_container",
55
+ category=Category.VULNERABILITY,
56
+ requirements=vul.get("FixedVersion") or vul.get("Status", ""),
57
+ tool="Trivy",
58
+ )
59
+ for vul in vulnerabilities_data
60
+ if vul.get("CVSS") and vul.get("PublishedDate")
61
+ ]
62
+ list_open_vulnerabilities.extend(vulnerabilities)
63
+ return list_open_vulnerabilities