devsecops-engine-tools 1.24.4__tar.gz → 1.25.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of devsecops-engine-tools might be problematic. Click here for more details.

Files changed (321) hide show
  1. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/PKG-INFO +3 -1
  2. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/images_gateway.py +4 -0
  3. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/tool_gateway.py +1 -1
  4. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/container_sca_scan.py +18 -4
  5. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/set_input_core.py +30 -17
  6. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/docker_images.py +17 -0
  7. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_cloud_manager_scan.py +28 -3
  8. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_manager_scan.py +4 -3
  9. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/entry_point_tool.py +4 -2
  10. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_deserialize.py +70 -4
  11. devsecops_engine_tools-1.25.1/devsecops_engine_tools/version.py +1 -0
  12. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools.egg-info/PKG-INFO +3 -1
  13. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools.egg-info/requires.txt +2 -0
  14. devsecops_engine_tools-1.24.4/devsecops_engine_tools/version.py +0 -1
  15. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/README.md +0 -0
  16. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/__init__.py +0 -0
  17. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/__init__.py +0 -0
  18. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/__init__.py +0 -0
  19. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/applications/__init__.py +0 -0
  20. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/applications/runner_engine_core.py +0 -0
  21. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/deployment/__init__.py +0 -0
  22. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/deployment/infrastructure/__init__.py +0 -0
  23. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/__init__.py +0 -0
  24. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/model/__init__.py +0 -0
  25. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/model/customs_exceptions.py +0 -0
  26. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/model/exclusions.py +0 -0
  27. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/model/finding.py +0 -0
  28. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/model/gateway/__init__.py +0 -0
  29. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/model/gateway/devops_platform_gateway.py +0 -0
  30. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/model/gateway/metrics_manager_gateway.py +0 -0
  31. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/model/gateway/printer_table_gateway.py +0 -0
  32. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/model/gateway/secrets_manager_gateway.py +0 -0
  33. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/model/gateway/vulnerability_management_gateway.py +0 -0
  34. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/model/input_core.py +0 -0
  35. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/model/level_compliance.py +0 -0
  36. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/model/level_vulnerability.py +0 -0
  37. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/model/report.py +0 -0
  38. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/model/threshold.py +0 -0
  39. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/model/vulnerability_management.py +0 -0
  40. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/usecases/__init__.py +0 -0
  41. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/usecases/break_build.py +0 -0
  42. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/usecases/handle_risk.py +0 -0
  43. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/usecases/handle_scan.py +0 -0
  44. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/domain/usecases/metrics_manager.py +0 -0
  45. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/__init__.py +0 -0
  46. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/__init__.py +0 -0
  47. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/__init__.py +0 -0
  48. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/s3_manager.py +0 -0
  49. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/secrets_manager.py +0 -0
  50. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/__init__.py +0 -0
  51. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/azure_devops.py +0 -0
  52. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/__init__.py +0 -0
  53. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py +0 -0
  54. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/__init__.py +0 -0
  55. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/github_actions.py +0 -0
  56. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/__init__.py +0 -0
  57. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/printer_pretty_table.py +0 -0
  58. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_rich_table/__init__.py +0 -0
  59. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_rich_table/printer_rich_table.py +0 -0
  60. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/__init__.py +0 -0
  61. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/runtime_local.py +0 -0
  62. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/__init__.py +0 -0
  63. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/entry_point_core.py +0 -0
  64. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/__init__.py +0 -0
  65. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/aws.py +0 -0
  66. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/util.py +0 -0
  67. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_dast/__init__.py +0 -0
  68. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_dast/src/__init__.py +0 -0
  69. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_dast/src/applications/__init__.py +0 -0
  70. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_dast/src/deployment/__init__.py +0 -0
  71. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_dast/src/deployment/infrastructure/__init__.py +0 -0
  72. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_dast/src/domain/__init__.py +0 -0
  73. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_dast/src/domain/model/__init__.py +0 -0
  74. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_dast/src/domain/usecases/__init__.py +0 -0
  75. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_dast/src/infrastructure/__init__.py +0 -0
  76. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/__init__.py +0 -0
  77. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_dast/src/infrastructure/entry_points/__init__.py +0 -0
  78. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_dast/src/infrastructure/helpers/__init__.py +0 -0
  79. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/__init__.py +0 -0
  80. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/__init__.py +0 -0
  81. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/applications/__init__.py +0 -0
  82. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/applications/runner_engine_risk.py +0 -0
  83. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/deployment/__init__.py +0 -0
  84. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/deployment/infrastructure/__init__.py +0 -0
  85. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/domain/__init__.py +0 -0
  86. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/domain/model/__init__.py +0 -0
  87. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/domain/model/gateways/__init__.py +0 -0
  88. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/domain/model/gateways/add_epss_gateway.py +0 -0
  89. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/domain/usecases/__init__.py +0 -0
  90. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/domain/usecases/add_data.py +0 -0
  91. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/domain/usecases/break_build.py +0 -0
  92. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/domain/usecases/check_threshold.py +0 -0
  93. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/domain/usecases/get_exclusions.py +0 -0
  94. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/domain/usecases/handle_filters.py +0 -0
  95. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/infrastructure/__init__.py +0 -0
  96. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/__init__.py +0 -0
  97. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/first_csv/__init__.py +0 -0
  98. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/first_csv/first_epss_csv.py +0 -0
  99. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/__init__.py +0 -0
  100. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/entry_point_risk.py +0 -0
  101. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_risk/src/infrastructure/helpers/__init__.py +0 -0
  102. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/__init__.py +0 -0
  103. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/__init__.py +0 -0
  104. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/__init__.py +0 -0
  105. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/applications/__init__.py +0 -0
  106. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/applications/runner_engine_code.py +0 -0
  107. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/deployment/__init__.py +0 -0
  108. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/deployment/infrastructure/__init__.py +0 -0
  109. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/domain/__init__.py +0 -0
  110. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/__init__.py +0 -0
  111. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/config_tool.py +0 -0
  112. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/gateways/__init__.py +0 -0
  113. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/gateways/tool_gateway.py +0 -0
  114. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases/__init__.py +0 -0
  115. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases/code_scan.py +0 -0
  116. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/__init__.py +0 -0
  117. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/__init__.py +0 -0
  118. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/__init__.py +0 -0
  119. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/bearer_deserealizator.py +0 -0
  120. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/bearer_tool.py +0 -0
  121. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/entry_points/__init__.py +0 -0
  122. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  123. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/helpers/__init__.py +0 -0
  124. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/__init__.py +0 -0
  125. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/__init__.py +0 -0
  126. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/applications/__init__.py +0 -0
  127. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/applications/runner_iac_scan.py +0 -0
  128. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/__init__.py +0 -0
  129. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/infrastructure/__init__.py +0 -0
  130. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/__init__.py +0 -0
  131. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/__init__.py +0 -0
  132. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/config_tool.py +0 -0
  133. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/__init__.py +0 -0
  134. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/tool_gateway.py +0 -0
  135. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/__init__.py +0 -0
  136. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/iac_scan.py +0 -0
  137. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/__init__.py +0 -0
  138. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/__init__.py +0 -0
  139. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/__init__.py +0 -0
  140. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_config.py +0 -0
  141. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_deserealizator.py +0 -0
  142. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_tool.py +0 -0
  143. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/__init__.py +0 -0
  144. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_deserealizator.py +0 -0
  145. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_tool.py +0 -0
  146. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/__init__.py +0 -0
  147. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_deserealizator.py +0 -0
  148. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_tool.py +0 -0
  149. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/__init__.py +0 -0
  150. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  151. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/__init__.py +0 -0
  152. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/file_generator_tool.py +0 -0
  153. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/__init__.py +0 -0
  154. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/__init__.py +0 -0
  155. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/applications/__init__.py +0 -0
  156. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/applications/runner_secret_scan.py +0 -0
  157. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/__init__.py +0 -0
  158. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/infrastructure/__init__.py +0 -0
  159. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/__init__.py +0 -0
  160. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/DeserializeConfigTool.py +0 -0
  161. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/__init__.py +0 -0
  162. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/__init__.py +0 -0
  163. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/gateway_deserealizator.py +0 -0
  164. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/tool_gateway.py +0 -0
  165. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/__init__.py +0 -0
  166. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/secret_scan.py +0 -0
  167. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/set_input_core.py +0 -0
  168. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/__init__.py +0 -0
  169. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/__init__.py +0 -0
  170. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/__init__.py +0 -0
  171. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_deserealizator.py +0 -0
  172. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_run.py +0 -0
  173. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/__init__.py +0 -0
  174. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  175. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/__init__.py +0 -0
  176. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/__init__.py +0 -0
  177. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/__init__.py +0 -0
  178. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/applications/__init__.py +0 -0
  179. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/applications/runner_container_scan.py +0 -0
  180. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/deployment/__init__.py +0 -0
  181. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/deployment/infrastructure/__init__.py +0 -0
  182. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/__init__.py +0 -0
  183. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/__init__.py +0 -0
  184. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/__init__.py +0 -0
  185. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/deserealizator_gateway.py +0 -0
  186. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/__init__.py +0 -0
  187. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/handle_remote_config_patterns.py +0 -0
  188. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/__init__.py +0 -0
  189. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/__init__.py +0 -0
  190. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/__init__.py +0 -0
  191. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/__init__.py +0 -0
  192. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_deserialize_output.py +0 -0
  193. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/__init__.py +0 -0
  194. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_deserialize_output.py +0 -0
  195. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/__init__.py +0 -0
  196. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/helpers/__init__.py +0 -0
  197. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/__init__.py +0 -0
  198. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/__init__.py +0 -0
  199. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/__init__.py +0 -0
  200. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/runner_dependencies_scan.py +0 -0
  201. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/__init__.py +0 -0
  202. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/infrastructure/__init__.py +0 -0
  203. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/__init__.py +0 -0
  204. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/__init__.py +0 -0
  205. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/__init__.py +0 -0
  206. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/deserializator_gateway.py +0 -0
  207. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/tool_gateway.py +0 -0
  208. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/__init__.py +0 -0
  209. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/dependencies_sca_scan.py +0 -0
  210. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/handle_remote_config_patterns.py +0 -0
  211. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/set_input_core.py +0 -0
  212. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/__init__.py +0 -0
  213. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/__init__.py +0 -0
  214. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/__init__.py +0 -0
  215. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_tool.py +0 -0
  216. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/__init__.py +0 -0
  217. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_deserialize_output.py +0 -0
  218. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_manager_scan.py +0 -0
  219. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/__init__.py +0 -0
  220. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  221. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/__init__.py +0 -0
  222. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/get_artifacts.py +0 -0
  223. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/__init__.py +0 -0
  224. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/azuredevops/__init__.py +0 -0
  225. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure/__init__.py +0 -0
  226. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure/azure_devops_api.py +0 -0
  227. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzureMessageLoggingPipeline.py +0 -0
  228. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzurePredefinedVariables.py +0 -0
  229. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/azuredevops/models/__init__.py +0 -0
  230. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/__init__.py +0 -0
  231. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/__init__.py +0 -0
  232. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/connect.py +0 -0
  233. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/defect_dojo.py +0 -0
  234. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/engagement.py +0 -0
  235. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/finding.py +0 -0
  236. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/product.py +0 -0
  237. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/__init__.py +0 -0
  238. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/__init__.py +0 -0
  239. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/cmdb.py +0 -0
  240. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/engagement.py +0 -0
  241. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/finding.py +0 -0
  242. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product.py +0 -0
  243. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_list.py +0 -0
  244. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type.py +0 -0
  245. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type_list.py +0 -0
  246. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/scan_configuration.py +0 -0
  247. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/__init__.py +0 -0
  248. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/finding.py +0 -0
  249. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/import_scan.py +0 -0
  250. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/__init__.py +0 -0
  251. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/finding.py +0 -0
  252. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/import_scan.py +0 -0
  253. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/__init__.py +0 -0
  254. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/cmdb.py +0 -0
  255. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/engagement.py +0 -0
  256. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/finding.py +0 -0
  257. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/import_scan.py +0 -0
  258. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/product.py +0 -0
  259. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/hello_world.py +0 -0
  260. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/__init__.py +0 -0
  261. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/__init__.py +0 -0
  262. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/cmdb.py +0 -0
  263. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/engagement.py +0 -0
  264. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/finding.py +0 -0
  265. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/import_scan.py +0 -0
  266. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product.py +0 -0
  267. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product_type.py +0 -0
  268. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/scan_configurations.py +0 -0
  269. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/__init__.py +0 -0
  270. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/settings.py +0 -0
  271. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/repository/__init__.py +0 -0
  272. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/git_cli/__init__.py +0 -0
  273. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/git_cli/infrastructure/__init__.py +0 -0
  274. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/git_cli/infrastructure/git_run.py +0 -0
  275. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/git_cli/model/__init__.py +0 -0
  276. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/git_cli/model/gateway/__init__.py +0 -0
  277. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/git_cli/model/gateway/git_gateway.py +0 -0
  278. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/github/__init__.py +0 -0
  279. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/github/infrastructure/__init__.py +0 -0
  280. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/github/infrastructure/github_api.py +0 -0
  281. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/github/models/GithubPredefinedVariables.py +0 -0
  282. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/github/models/__init__.py +0 -0
  283. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/input_validations/__init__.py +0 -0
  284. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/input_validations/env_utils.py +0 -0
  285. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/input_validations/validate_input_with_regex_letters_number_and_only.py +0 -0
  286. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/settings.py +0 -0
  287. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/sonarqube/__init__.py +0 -0
  288. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/__init__.py +0 -0
  289. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/applications/__init__.py +0 -0
  290. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/applications/runner_report_sonar.py +0 -0
  291. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/__init__.py +0 -0
  292. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/__init__.py +0 -0
  293. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/gateways/__init__.py +0 -0
  294. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/model/gateways/sonar_gateway.py +0 -0
  295. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases/__init__.py +0 -0
  296. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/domain/usecases/report_sonar.py +0 -0
  297. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/__init__.py +0 -0
  298. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/__init__.py +0 -0
  299. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/sonarqube/__init__.py +0 -0
  300. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/driven_adapters/sonarqube/sonarqube_report.py +0 -0
  301. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/entry_points/__init__.py +0 -0
  302. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/entry_points/entry_point_report_sonar.py +0 -0
  303. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/helpers/__init__.py +0 -0
  304. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/sonarqube/src/infrastructure/helpers/utils.py +0 -0
  305. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/ssh/__init__.py +0 -0
  306. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/ssh/managment_private_key.py +0 -0
  307. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/utils/__init__.py +0 -0
  308. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/utils/api_error.py +0 -0
  309. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/utils/dataclass_classmethod.py +0 -0
  310. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/utils/datetime_parsing.py +0 -0
  311. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/utils/logger_info.py +0 -0
  312. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/utils/name_conversion.py +0 -0
  313. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/utils/printers.py +0 -0
  314. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/utils/session_manager.py +0 -0
  315. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools/engine_utilities/utils/utils.py +0 -0
  316. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools.egg-info/SOURCES.txt +0 -0
  317. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools.egg-info/dependency_links.txt +0 -0
  318. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools.egg-info/entry_points.txt +0 -0
  319. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/devsecops_engine_tools.egg-info/top_level.txt +0 -0
  320. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/setup.cfg +0 -0
  321. {devsecops_engine_tools-1.24.4 → devsecops_engine_tools-1.25.1}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: devsecops-engine-tools
3
- Version: 1.24.4
3
+ Version: 1.25.1
4
4
  Summary: Tool for DevSecOps strategy
5
5
  Home-page: https://github.com/bancolombia/devsecops-engine-tools
6
6
  Author: Bancolombia DevSecOps Team
@@ -26,6 +26,8 @@ Requires-Dist: boto3==1.34.157
26
26
  Requires-Dist: docker==7.1.0
27
27
  Requires-Dist: setuptools==72.1.0
28
28
  Requires-Dist: rich==13.9.4
29
+ Requires-Dist: cpe==1.3.1
30
+ Requires-Dist: packageurl-python==0.15.6
29
31
 
30
32
  # DevSecOps Engine Tools
31
33
 
@@ -5,3 +5,7 @@ class ImagesGateway(metaclass=ABCMeta):
5
5
  @abstractmethod
6
6
  def list_images(self, image_to_scan) -> str:
7
7
  "get image to scan"
8
+
9
+ @abstractmethod
10
+ def get_base_image(self, image_to_scan) -> str:
11
+ "get base image"
@@ -3,5 +3,5 @@ from abc import ABCMeta, abstractmethod
3
3
 
4
4
  class ToolGateway(metaclass=ABCMeta):
5
5
  @abstractmethod
6
- def run_tool_container_sca(self, dict_args, secret_tool, token_engine_container, scan_image, release) -> str:
6
+ def run_tool_container_sca(self, dict_args, secret_tool, token_engine_container, scan_image, release, base_image, exclusions) -> str:
7
7
  "run tool container sca"
@@ -22,6 +22,7 @@ class ContainerScaScan:
22
22
  secret_tool,
23
23
  token_engine_container,
24
24
  image_to_scan,
25
+ exclusions
25
26
  ):
26
27
  self.tool_run = tool_run
27
28
  self.remote_config = remote_config
@@ -31,6 +32,7 @@ class ContainerScaScan:
31
32
  self.secret_tool = secret_tool
32
33
  self.token_engine_container = token_engine_container
33
34
  self.image_to_scan = image_to_scan
35
+ self.exclusions = exclusions
34
36
 
35
37
  def get_image(self, image_to_scan):
36
38
  """
@@ -41,6 +43,15 @@ class ContainerScaScan:
41
43
  """
42
44
  return self.tool_images.list_images(image_to_scan)
43
45
 
46
+ def get_base_image(self, matching_image):
47
+ """
48
+ Process the base image.
49
+
50
+ Returns:
51
+ String: base image.
52
+ """
53
+ return self.tool_images.get_base_image(matching_image)
54
+
44
55
  def get_images_already_scanned(self):
45
56
  """
46
57
  Create images scanned file if it does not exist and get the images that have already been scanned.
@@ -66,21 +77,24 @@ class ContainerScaScan:
66
77
  Returns:
67
78
  string: file scanning results name.
68
79
  """
69
- matching_image = self.get_image(self.image_to_scan)
80
+ base_image = None
70
81
  image_scanned = None
82
+ matching_image = self.get_image(self.image_to_scan)
83
+ if self.remote_config['GET_IMAGE_BASE']:
84
+ base_image = self.get_base_image(matching_image)
71
85
  if matching_image:
72
86
  image_name = matching_image.tags[0]
73
87
  result_file = image_name.replace("/","_") + "_scan_result.json"
74
88
  if image_name in self.get_images_already_scanned():
75
89
  print(f"The image {image_name} has already been scanned previously.")
76
- return image_scanned
90
+ return image_scanned, base_image
77
91
  image_scanned = self.tool_run.run_tool_container_sca(
78
- self.remote_config, self.secret_tool, self.token_engine_container, image_name, result_file
92
+ self.remote_config, self.secret_tool, self.token_engine_container, image_name, result_file, base_image, self.exclusions
79
93
  )
80
94
  self.set_image_scanned(image_name)
81
95
  else:
82
96
  print(f"'Not image found for {self.image_to_scan}'. Tool skipped.")
83
- return image_scanned
97
+ return image_scanned, base_image
84
98
 
85
99
  def deseralizator(self, image_scanned):
86
100
  """
@@ -12,25 +12,37 @@ class SetInputCore:
12
12
  self.tool = tool
13
13
  self.stage = stage
14
14
 
15
- def get_exclusions(self, exclusions_data, pipeline_name, tool):
16
- list_exclusions = [
17
- Exclusions(
18
- id=item.get("id", ""),
19
- where=item.get("where", ""),
20
- cve_id=item.get("cve_id", ""),
21
- create_date=item.get("create_date", ""),
22
- expired_date=item.get("expired_date", ""),
23
- severity=item.get("severity", ""),
24
- hu=item.get("hu", ""),
25
- reason=item.get("reason", "Risk acceptance"),
26
- )
27
- for key, value in exclusions_data.items()
28
- if key in {"All", pipeline_name} and value.get(tool)
29
- for item in value[tool]
30
- ]
15
+ def get_exclusions(self, exclusions_data, pipeline_name, tool, base_image):
16
+ list_exclusions = []
17
+ print("The base image used is:", base_image)
18
+ for key, value in exclusions_data.items():
19
+ if key not in {"All", pipeline_name} or not value.get(tool):
20
+ continue
21
+
22
+ for item in value[tool]:
23
+ if key == "All":
24
+ source_images = item.get("source_images", [])
25
+ if source_images and base_image is None:
26
+ continue
27
+ if source_images and not any(base_image in source for source in source_images):
28
+ continue
29
+
30
+ list_exclusions.append(
31
+ Exclusions(
32
+ id=item.get("id", ""),
33
+ where=item.get("where", ""),
34
+ cve_id=item.get("cve_id", ""),
35
+ create_date=item.get("create_date", ""),
36
+ expired_date=item.get("expired_date", ""),
37
+ severity=item.get("severity", ""),
38
+ hu=item.get("hu", ""),
39
+ reason=item.get("reason", "Risk acceptance"),
40
+ )
41
+ )
42
+
31
43
  return list_exclusions
32
44
 
33
- def set_input_core(self, image_scanned):
45
+ def set_input_core(self, image_scanned,base_image):
34
46
  """
35
47
  Set the input core.
36
48
 
@@ -42,6 +54,7 @@ class SetInputCore:
42
54
  self.exclusions,
43
55
  self.pipeline_name,
44
56
  self.tool,
57
+ base_image
45
58
  ),
46
59
  Utils.update_threshold(
47
60
  self,
@@ -31,3 +31,20 @@ class DockerImages(ImagesGateway):
31
31
  logger.error(
32
32
  f"Error listing images, docker must be running and added to PATH: {e}"
33
33
  )
34
+
35
+ def get_base_image(self, matching_image):
36
+ try:
37
+ client = docker.from_env()
38
+ image_details = client.api.inspect_image(matching_image.id)
39
+ labels = image_details.get("Config", {}).get("Labels", {})
40
+ source_image = labels.get("source-image")
41
+ if source_image:
42
+ logger.info(f"Base image for '{matching_image}' from source-image label: {source_image}")
43
+ return source_image
44
+
45
+ logger.warning(f"Base image not found for '{matching_image}'.")
46
+ return None
47
+
48
+ except Exception as e:
49
+ logger.error(f"Error getting base image: {e}")
50
+ return None
@@ -4,6 +4,7 @@ import os
4
4
  import subprocess
5
5
  import logging
6
6
  import base64
7
+ import json
7
8
  from devsecops_engine_tools.engine_sca.engine_container.src.domain.model.gateways.tool_gateway import (
8
9
  ToolGateway,
9
10
  )
@@ -68,14 +69,36 @@ class PrismaCloudManagerScan(ToolGateway):
68
69
  text=True,
69
70
  )
70
71
  print(f"The image {image_name} was scanned")
71
-
72
72
  return result_file
73
73
 
74
74
  except subprocess.CalledProcessError as e:
75
75
  logger.error(f"Error during image scan of {image_name}: {e.stderr}")
76
76
 
77
+ def _write_image_base(self, result_file, base_image, exclusions_data):
78
+ try:
79
+ with open(result_file, "r") as file:
80
+ data = json.load(file)
81
+
82
+ prisma_exclusions = exclusions_data.get("All", {}).get("PRISMA", [])
83
+ modified = False
84
+ for result in data.get("results", []):
85
+ for vulnerability in result.get("vulnerabilities", []):
86
+ for exclusion in prisma_exclusions:
87
+ if (
88
+ vulnerability.get("id") == exclusion.get("id") and
89
+ any(image.startswith(base_image) for image in exclusion.get("source_images", []))
90
+ ):
91
+ vulnerability["baseImage"] = base_image
92
+ modified = True
93
+
94
+ if modified:
95
+ with open(result_file, "w") as file:
96
+ json.dump(data, file, indent=4)
97
+ except subprocess.CalledProcessError as e:
98
+ logger.error(f"Error during write image base of {base_image}: {e.stderr}")
99
+
77
100
  def run_tool_container_sca(
78
- self, remoteconfig, secret_tool, token_engine_container, image_name, result_file
101
+ self, remoteconfig, secret_tool, token_engine_container, image_name, result_file, base_image, exclusions
79
102
  ):
80
103
  prisma_secret_key = secret_tool["token_prisma_cloud"] if secret_tool else token_engine_container
81
104
  file_path = os.path.join(
@@ -95,7 +118,9 @@ class PrismaCloudManagerScan(ToolGateway):
95
118
  image_name,
96
119
  result_file,
97
120
  remoteconfig,
98
- prisma_secret_key,
121
+ prisma_secret_key
99
122
  )
123
+ if base_image:
124
+ self._write_image_base(result_file, base_image, exclusions)
100
125
 
101
126
  return image_scanned
@@ -7,6 +7,7 @@ import platform
7
7
  import requests
8
8
  import tarfile
9
9
  import zipfile
10
+ import json
10
11
 
11
12
  from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
12
13
  from devsecops_engine_tools.engine_utilities import settings
@@ -52,7 +53,7 @@ class TrivyScan(ToolGateway):
52
53
  except Exception as e:
53
54
  logger.error(f"Error installing trivy: {e}")
54
55
 
55
- def scan_image(self, prefix, image_name, result_file):
56
+ def scan_image(self, prefix, image_name, result_file, base_image):
56
57
  command = [
57
58
  prefix,
58
59
  "--scanners",
@@ -78,7 +79,7 @@ class TrivyScan(ToolGateway):
78
79
  except Exception as e:
79
80
  logger.error(f"Error during image scan of {image_name}: {e}")
80
81
 
81
- def run_tool_container_sca(self, remoteconfig, secret_tool, token_engine_container, image_name, result_file):
82
+ def run_tool_container_sca(self, remoteconfig, secret_tool, token_engine_container, image_name, result_file ,base_image, exclusions):
82
83
  trivy_version = remoteconfig["TRIVY"]["TRIVY_VERSION"]
83
84
  os_platform = platform.system()
84
85
  arch_platform = platform.architecture()[0]
@@ -101,7 +102,7 @@ class TrivyScan(ToolGateway):
101
102
  return None
102
103
 
103
104
  image_scanned = (
104
- self.scan_image(command_prefix, image_name, result_file)
105
+ self.scan_image(command_prefix, image_name, result_file, base_image)
105
106
  )
106
107
 
107
108
  return image_scanned
@@ -38,6 +38,7 @@ def init_engine_sca_rm(
38
38
  stage = tool_remote.get_variable("stage")
39
39
  image_to_scan = dict_args["image_to_scan"]
40
40
  image_scanned = None
41
+ base_image = None
41
42
  deseralized = []
42
43
  input_core = SetInputCore(remote_config, exclusions, pipeline_name, tool, stage)
43
44
  if scan_flag and not (skip_flag):
@@ -50,13 +51,14 @@ def init_engine_sca_rm(
50
51
  secret_tool,
51
52
  dict_args["token_engine_container"],
52
53
  image_to_scan,
54
+ exclusions
53
55
  )
54
- image_scanned = container_sca_scan.process()
56
+ image_scanned,base_image = container_sca_scan.process()
55
57
  if image_scanned:
56
58
  deseralized = container_sca_scan.deseralizator(image_scanned)
57
59
  else:
58
60
  print("Tool skipped by DevSecOps policy")
59
61
  dict_args["send_metrics"] = "false"
60
- core_input = input_core.set_input_core(image_scanned)
62
+ core_input = input_core.set_input_core(image_scanned,base_image)
61
63
 
62
64
  return deseralized, core_input
@@ -8,6 +8,8 @@ from devsecops_engine_tools.engine_core.src.domain.model.finding import (
8
8
  from dataclasses import dataclass
9
9
  from datetime import datetime
10
10
  import xml.etree.ElementTree as ET
11
+ from packageurl import PackageURL
12
+ from cpe import CPE
11
13
  from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
12
14
  from devsecops_engine_tools.engine_utilities import settings
13
15
 
@@ -37,14 +39,14 @@ class DependencyCheckDeserialize(DeserializatorGateway):
37
39
 
38
40
  id = vulnerability.find('ns:name', namespace).text[:20]
39
41
  cvss = ", ".join(f"{child.tag.split('}')[-1]}: {child.text}" for child in vulnerability.find('ns:cvssV3', namespace)) if vulnerability.find('ns:cvssV3', namespace) else ""
40
- fileName = dependency.find('ns:fileName', namespace).text.split(":")[-1].strip()
42
+ where = self.get_where(dependency, namespace)
41
43
  description = vulnerability.find('ns:description', namespace).text if vulnerability.find('ns:description', namespace).text else ""
42
44
  severity = vulnerability.find('ns:severity', namespace).text.lower()
43
- cvss
45
+
44
46
  finding_open = Finding(
45
47
  id=id,
46
48
  cvss=cvss,
47
- where=fileName,
49
+ where=where,
48
50
  description=description[:120].replace("\n\n", " ").replace("\n", " ").strip() if len(description) > 0 else "No description available",
49
51
  severity=severity,
50
52
  identification_date=datetime.now().strftime("%d%m%Y"),
@@ -86,4 +88,68 @@ class DependencyCheckDeserialize(DeserializatorGateway):
86
88
  for dep in to_remove: dependencies.remove(dep)
87
89
  data_result.write(dependencies_scanned_file, encoding="utf-8", xml_declaration=True)
88
90
 
89
- return dependencies, namespace
91
+ return dependencies, namespace
92
+
93
+ def get_where(self, dependency, namespace):
94
+ identifiers_node = dependency.find("ns:identifiers", namespace)
95
+ if identifiers_node:
96
+ package_node = identifiers_node.find(".//ns:package", namespace)
97
+ if package_node:
98
+ id = package_node.find("ns:id", namespace).text
99
+ purl = PackageURL.from_string(id)
100
+ purl_parts = purl.to_dict()
101
+ component_name = (
102
+ purl_parts["namespace"] + ":"
103
+ if purl_parts["namespace"]
104
+ and len(purl_parts["namespace"]) > 0
105
+ else ""
106
+ )
107
+ component_name += (
108
+ purl_parts["name"]
109
+ if purl_parts["name"] and len(purl_parts["name"]) > 0
110
+ else ""
111
+ )
112
+ component_name = component_name or None
113
+ component_version = (
114
+ purl_parts["version"]
115
+ if purl_parts["version"] and len(purl_parts["version"]) > 0
116
+ else ""
117
+ )
118
+ return f"{component_name}:{component_version}"
119
+
120
+ cpe_node = identifiers_node.find(
121
+ ".//ns:identifier[@type='cpe']", namespace
122
+ )
123
+ if cpe_node:
124
+ id = cpe_node.find("ns:name", namespace).text
125
+ cpe = CPE(id)
126
+ component_name = (
127
+ cpe.get_vendor()[0] + ":"
128
+ if len(cpe.get_vendor()) > 0
129
+ else ""
130
+ )
131
+ component_name += (
132
+ cpe.get_product()[0] if len(cpe.get_product()) > 0 else ""
133
+ )
134
+ component_name = component_name or None
135
+ component_version = (
136
+ cpe.get_version()[0]
137
+ if len(cpe.get_version()) > 0
138
+ else None
139
+ )
140
+ return f"{component_name}:{component_version}"
141
+
142
+ maven_node = identifiers_node.find(
143
+ ".//ns:identifier[@type='maven']", namespace
144
+ )
145
+ if maven_node:
146
+ maven_parts = maven_node.find("ns:name", namespace).text.split(
147
+ ":",
148
+ )
149
+
150
+ if len(maven_parts) == 3:
151
+ component_name = maven_parts[0] + ":" + maven_parts[1]
152
+ component_version = maven_parts[2]
153
+ return f"{component_name}:{component_version}"
154
+
155
+ return ""
@@ -0,0 +1 @@
1
+ version = '1.25.1'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: devsecops-engine-tools
3
- Version: 1.24.4
3
+ Version: 1.25.1
4
4
  Summary: Tool for DevSecOps strategy
5
5
  Home-page: https://github.com/bancolombia/devsecops-engine-tools
6
6
  Author: Bancolombia DevSecOps Team
@@ -26,6 +26,8 @@ Requires-Dist: boto3==1.34.157
26
26
  Requires-Dist: docker==7.1.0
27
27
  Requires-Dist: setuptools==72.1.0
28
28
  Requires-Dist: rich==13.9.4
29
+ Requires-Dist: cpe==1.3.1
30
+ Requires-Dist: packageurl-python==0.15.6
29
31
 
30
32
  # DevSecOps Engine Tools
31
33
 
@@ -14,3 +14,5 @@ boto3==1.34.157
14
14
  docker==7.1.0
15
15
  setuptools==72.1.0
16
16
  rich==13.9.4
17
+ cpe==1.3.1
18
+ packageurl-python==0.15.6
@@ -1 +0,0 @@
1
- version = '1.24.4'