devsecops-engine-tools 1.11.0__tar.gz → 1.11.2__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 (299) hide show
  1. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/PKG-INFO +6 -2
  2. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py +2 -1
  3. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_tool.py +13 -14
  4. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_deserealizator.py +1 -1
  5. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_tool.py +6 -7
  6. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/runner_dependencies_scan.py +21 -3
  7. devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_deserialize.py +62 -0
  8. devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_tool.py +120 -0
  9. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_manager_scan.py +4 -98
  10. devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/get_artifacts.py +107 -0
  11. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/import_scan.py +2 -2
  12. devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_utilities/utils/__init__.py +0 -0
  13. devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_utilities/utils/utils.py +8 -0
  14. devsecops_engine_tools-1.11.2/devsecops_engine_tools/version.py +1 -0
  15. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools.egg-info/PKG-INFO +6 -2
  16. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools.egg-info/SOURCES.txt +6 -1
  17. devsecops_engine_tools-1.11.0/devsecops_engine_tools/version.py +0 -1
  18. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/README.md +0 -0
  19. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/__init__.py +0 -0
  20. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/__init__.py +0 -0
  21. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/__init__.py +0 -0
  22. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/applications/__init__.py +0 -0
  23. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/applications/runner_engine_core.py +0 -0
  24. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/deployment/__init__.py +0 -0
  25. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/deployment/infrastructure/__init__.py +0 -0
  26. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/domain/__init__.py +0 -0
  27. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/domain/model/__init__.py +0 -0
  28. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/domain/model/custom_level_vulnerability.py +0 -0
  29. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/domain/model/customs_exceptions.py +0 -0
  30. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/domain/model/exclusions.py +0 -0
  31. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/domain/model/finding.py +0 -0
  32. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/domain/model/gateway/__init__.py +0 -0
  33. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/domain/model/gateway/devops_platform_gateway.py +0 -0
  34. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/domain/model/gateway/metrics_manager_gateway.py +0 -0
  35. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/domain/model/gateway/printer_table_gateway.py +0 -0
  36. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/domain/model/gateway/secrets_manager_gateway.py +0 -0
  37. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/domain/model/gateway/vulnerability_management_gateway.py +0 -0
  38. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/domain/model/input_core.py +0 -0
  39. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/domain/model/level_compliance.py +0 -0
  40. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/domain/model/level_vulnerability.py +0 -0
  41. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/domain/model/report.py +0 -0
  42. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/domain/model/threshold.py +0 -0
  43. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/domain/model/vulnerability_management.py +0 -0
  44. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/domain/usecases/__init__.py +0 -0
  45. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/domain/usecases/break_build.py +0 -0
  46. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/domain/usecases/handle_risk.py +0 -0
  47. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/domain/usecases/handle_scan.py +0 -0
  48. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/domain/usecases/metrics_manager.py +0 -0
  49. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/infrastructure/__init__.py +0 -0
  50. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/__init__.py +0 -0
  51. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/__init__.py +0 -0
  52. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/s3_manager.py +0 -0
  53. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/secrets_manager.py +0 -0
  54. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/__init__.py +0 -0
  55. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/azure_devops.py +0 -0
  56. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/__init__.py +0 -0
  57. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/__init__.py +0 -0
  58. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/github_actions.py +0 -0
  59. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/__init__.py +0 -0
  60. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/printer_pretty_table.py +0 -0
  61. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/__init__.py +0 -0
  62. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/runtime_local.py +0 -0
  63. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/__init__.py +0 -0
  64. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/entry_point_core.py +0 -0
  65. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/__init__.py +0 -0
  66. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/aws.py +0 -0
  67. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/util.py +0 -0
  68. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_dast/__init__.py +0 -0
  69. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_dast/src/__init__.py +0 -0
  70. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_dast/src/applications/__init__.py +0 -0
  71. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_dast/src/deployment/__init__.py +0 -0
  72. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_dast/src/deployment/infrastructure/__init__.py +0 -0
  73. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_dast/src/domain/__init__.py +0 -0
  74. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_dast/src/domain/model/__init__.py +0 -0
  75. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_dast/src/domain/usecases/__init__.py +0 -0
  76. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_dast/src/infrastructure/__init__.py +0 -0
  77. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/__init__.py +0 -0
  78. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_dast/src/infrastructure/entry_points/__init__.py +0 -0
  79. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_dast/src/infrastructure/helpers/__init__.py +0 -0
  80. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_risk/__init__.py +0 -0
  81. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_risk/src/__init__.py +0 -0
  82. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_risk/src/applications/__init__.py +0 -0
  83. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_risk/src/applications/runner_engine_risk.py +0 -0
  84. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_risk/src/deployment/__init__.py +0 -0
  85. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_risk/src/deployment/infrastructure/__init__.py +0 -0
  86. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_risk/src/domain/__init__.py +0 -0
  87. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_risk/src/domain/model/__init__.py +0 -0
  88. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_risk/src/domain/model/gateways/__init__.py +0 -0
  89. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_risk/src/domain/model/gateways/add_epss_gateway.py +0 -0
  90. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_risk/src/domain/usecases/__init__.py +0 -0
  91. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_risk/src/domain/usecases/add_data.py +0 -0
  92. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_risk/src/domain/usecases/break_build.py +0 -0
  93. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_risk/src/domain/usecases/get_exclusions.py +0 -0
  94. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_risk/src/domain/usecases/handle_filters.py +0 -0
  95. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_risk/src/infrastructure/__init__.py +0 -0
  96. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/__init__.py +0 -0
  97. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/first_csv/__init__.py +0 -0
  98. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/first_csv/first_epss_csv.py +0 -0
  99. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/__init__.py +0 -0
  100. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/entry_point_risk.py +0 -0
  101. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_risk/src/infrastructure/helpers/__init__.py +0 -0
  102. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/__init__.py +0 -0
  103. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_code/__init__.py +0 -0
  104. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_code/src/__init__.py +0 -0
  105. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_code/src/applications/__init__.py +0 -0
  106. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_code/src/applications/runner_engine_code.py +0 -0
  107. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_code/src/deployment/__init__.py +0 -0
  108. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_code/src/deployment/infrastructure/__init__.py +0 -0
  109. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_code/src/domain/__init__.py +0 -0
  110. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/__init__.py +0 -0
  111. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/config_tool.py +0 -0
  112. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/gateways/__init__.py +0 -0
  113. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/gateways/tool_gateway.py +0 -0
  114. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases/__init__.py +0 -0
  115. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases/code_scan.py +0 -0
  116. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/__init__.py +0 -0
  117. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/__init__.py +0 -0
  118. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/__init__.py +0 -0
  119. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/bearer_deserealizator.py +0 -0
  120. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/bearer_tool.py +0 -0
  121. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/entry_points/__init__.py +0 -0
  122. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  123. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/helpers/__init__.py +0 -0
  124. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_iac/__init__.py +0 -0
  125. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_iac/src/__init__.py +0 -0
  126. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_iac/src/applications/__init__.py +0 -0
  127. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_iac/src/applications/runner_iac_scan.py +0 -0
  128. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/__init__.py +0 -0
  129. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/infrastructure/__init__.py +0 -0
  130. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/__init__.py +0 -0
  131. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/__init__.py +0 -0
  132. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/config_tool.py +0 -0
  133. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/__init__.py +0 -0
  134. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/tool_gateway.py +0 -0
  135. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/__init__.py +0 -0
  136. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/iac_scan.py +0 -0
  137. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/__init__.py +0 -0
  138. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/__init__.py +0 -0
  139. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/__init__.py +0 -0
  140. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_config.py +0 -0
  141. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_deserealizator.py +0 -0
  142. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_tool.py +0 -0
  143. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/__init__.py +0 -0
  144. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_deserealizator.py +0 -0
  145. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/__init__.py +0 -0
  146. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/__init__.py +0 -0
  147. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  148. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/__init__.py +0 -0
  149. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/file_generator_tool.py +0 -0
  150. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_secret/__init__.py +0 -0
  151. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_secret/src/__init__.py +0 -0
  152. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_secret/src/applications/__init__.py +0 -0
  153. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_secret/src/applications/runner_secret_scan.py +0 -0
  154. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/__init__.py +0 -0
  155. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/infrastructure/__init__.py +0 -0
  156. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/__init__.py +0 -0
  157. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/DeserializeConfigTool.py +0 -0
  158. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/__init__.py +0 -0
  159. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/__init__.py +0 -0
  160. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/gateway_deserealizator.py +0 -0
  161. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/tool_gateway.py +0 -0
  162. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/__init__.py +0 -0
  163. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/secret_scan.py +0 -0
  164. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/set_input_core.py +0 -0
  165. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/__init__.py +0 -0
  166. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/__init__.py +0 -0
  167. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/__init__.py +0 -0
  168. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_deserealizator.py +0 -0
  169. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_run.py +0 -0
  170. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/__init__.py +0 -0
  171. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  172. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/__init__.py +0 -0
  173. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_container/__init__.py +0 -0
  174. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_container/src/__init__.py +0 -0
  175. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_container/src/applications/__init__.py +0 -0
  176. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_container/src/applications/runner_container_scan.py +0 -0
  177. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_container/src/deployment/__init__.py +0 -0
  178. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_container/src/deployment/infrastructure/__init__.py +0 -0
  179. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_container/src/domain/__init__.py +0 -0
  180. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/__init__.py +0 -0
  181. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/__init__.py +0 -0
  182. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/deserealizator_gateway.py +0 -0
  183. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/images_gateway.py +0 -0
  184. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/tool_gateway.py +0 -0
  185. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/__init__.py +0 -0
  186. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/container_sca_scan.py +0 -0
  187. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/handle_remote_config_patterns.py +0 -0
  188. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/set_input_core.py +0 -0
  189. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/__init__.py +0 -0
  190. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/__init__.py +0 -0
  191. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/__init__.py +0 -0
  192. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/docker_images.py +0 -0
  193. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/__init__.py +0 -0
  194. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_cloud_manager_scan.py +0 -0
  195. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_deserialize_output.py +0 -0
  196. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/__init__.py +0 -0
  197. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_deserialize_output.py +0 -0
  198. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_manager_scan.py +0 -0
  199. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/__init__.py +0 -0
  200. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  201. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/helpers/__init__.py +0 -0
  202. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_dependencies/__init__.py +0 -0
  203. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_dependencies/src/__init__.py +0 -0
  204. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/__init__.py +0 -0
  205. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/__init__.py +0 -0
  206. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/infrastructure/__init__.py +0 -0
  207. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/__init__.py +0 -0
  208. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/__init__.py +0 -0
  209. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/__init__.py +0 -0
  210. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/deserializator_gateway.py +0 -0
  211. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/tool_gateway.py +0 -0
  212. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/__init__.py +0 -0
  213. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/dependencies_sca_scan.py +0 -0
  214. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/handle_remote_config_patterns.py +0 -0
  215. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/set_input_core.py +0 -0
  216. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/__init__.py +0 -0
  217. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/__init__.py +0 -0
  218. {devsecops_engine_tools-1.11.0/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool → devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check}/__init__.py +0 -0
  219. {devsecops_engine_tools-1.11.0/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points → devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool}/__init__.py +0 -0
  220. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_deserialize_output.py +0 -0
  221. {devsecops_engine_tools-1.11.0/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers → devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points}/__init__.py +0 -0
  222. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  223. {devsecops_engine_tools-1.11.0/devsecops_engine_tools/engine_utilities → devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers}/__init__.py +0 -0
  224. {devsecops_engine_tools-1.11.0/devsecops_engine_tools/engine_utilities/azuredevops → devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_utilities}/__init__.py +0 -0
  225. {devsecops_engine_tools-1.11.0/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure → devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_utilities/azuredevops}/__init__.py +0 -0
  226. {devsecops_engine_tools-1.11.0/devsecops_engine_tools/engine_utilities/azuredevops/models → devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure}/__init__.py +0 -0
  227. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure/azure_devops_api.py +0 -0
  228. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzureMessageLoggingPipeline.py +0 -0
  229. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzurePredefinedVariables.py +0 -0
  230. {devsecops_engine_tools-1.11.0/devsecops_engine_tools/engine_utilities/defect_dojo/applications → devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_utilities/azuredevops/models}/__init__.py +0 -0
  231. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/defect_dojo/__init__.py +0 -0
  232. {devsecops_engine_tools-1.11.0/devsecops_engine_tools/engine_utilities/defect_dojo/domain → devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_utilities/defect_dojo/applications}/__init__.py +0 -0
  233. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/connect.py +0 -0
  234. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/defect_dojo.py +0 -0
  235. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/engagement.py +0 -0
  236. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/finding.py +0 -0
  237. {devsecops_engine_tools-1.11.0/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models → devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_utilities/defect_dojo/domain}/__init__.py +0 -0
  238. {devsecops_engine_tools-1.11.0/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects → devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models}/__init__.py +0 -0
  239. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/cmdb.py +0 -0
  240. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/engagement.py +0 -0
  241. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/finding.py +0 -0
  242. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product.py +0 -0
  243. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_list.py +0 -0
  244. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type.py +0 -0
  245. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type_list.py +0 -0
  246. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/scan_configuration.py +0 -0
  247. {devsecops_engine_tools-1.11.0/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers → devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects}/__init__.py +0 -0
  248. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/finding.py +0 -0
  249. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/import_scan.py +0 -0
  250. {devsecops_engine_tools-1.11.0/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case → devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers}/__init__.py +0 -0
  251. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/finding.py +0 -0
  252. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/import_scan.py +0 -0
  253. {devsecops_engine_tools-1.11.0/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure → devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case}/__init__.py +0 -0
  254. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/cmdb.py +0 -0
  255. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/engagement.py +0 -0
  256. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/finding.py +0 -0
  257. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/defect_dojo/hello_world.py +0 -0
  258. {devsecops_engine_tools-1.11.0/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters → devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure}/__init__.py +0 -0
  259. {devsecops_engine_tools-1.11.0/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings → devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters}/__init__.py +0 -0
  260. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/cmdb.py +0 -0
  261. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/engagement.py +0 -0
  262. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/finding.py +0 -0
  263. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/import_scan.py +0 -0
  264. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product.py +0 -0
  265. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product_type.py +0 -0
  266. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/scan_configurations.py +0 -0
  267. {devsecops_engine_tools-1.11.0/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/repository → devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings}/__init__.py +0 -0
  268. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/settings.py +0 -0
  269. {devsecops_engine_tools-1.11.0/devsecops_engine_tools/engine_utilities/git_cli → devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/repository}/__init__.py +0 -0
  270. {devsecops_engine_tools-1.11.0/devsecops_engine_tools/engine_utilities/git_cli/infrastructure → devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_utilities/git_cli}/__init__.py +0 -0
  271. {devsecops_engine_tools-1.11.0/devsecops_engine_tools/engine_utilities/git_cli/model → devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_utilities/git_cli/infrastructure}/__init__.py +0 -0
  272. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/git_cli/infrastructure/git_run.py +0 -0
  273. {devsecops_engine_tools-1.11.0/devsecops_engine_tools/engine_utilities/git_cli/model/gateway → devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_utilities/git_cli/model}/__init__.py +0 -0
  274. {devsecops_engine_tools-1.11.0/devsecops_engine_tools/engine_utilities/github → devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_utilities/git_cli/model/gateway}/__init__.py +0 -0
  275. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/git_cli/model/gateway/git_gateway.py +0 -0
  276. {devsecops_engine_tools-1.11.0/devsecops_engine_tools/engine_utilities/github/infrastructure → devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_utilities/github}/__init__.py +0 -0
  277. {devsecops_engine_tools-1.11.0/devsecops_engine_tools/engine_utilities/github/models → devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_utilities/github/infrastructure}/__init__.py +0 -0
  278. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/github/infrastructure/github_api.py +0 -0
  279. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/github/models/GithubPredefinedVariables.py +0 -0
  280. {devsecops_engine_tools-1.11.0/devsecops_engine_tools/engine_utilities/input_validations → devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_utilities/github/models}/__init__.py +0 -0
  281. {devsecops_engine_tools-1.11.0/devsecops_engine_tools/engine_utilities/ssh → devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_utilities/input_validations}/__init__.py +0 -0
  282. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/input_validations/env_utils.py +0 -0
  283. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/input_validations/validate_input_with_regex_letters_number_and_only.py +0 -0
  284. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/settings.py +0 -0
  285. {devsecops_engine_tools-1.11.0/devsecops_engine_tools/engine_utilities/utils → devsecops_engine_tools-1.11.2/devsecops_engine_tools/engine_utilities/ssh}/__init__.py +0 -0
  286. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/ssh/managment_private_key.py +0 -0
  287. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/utils/api_error.py +0 -0
  288. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/utils/dataclass_classmethod.py +0 -0
  289. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/utils/datetime_parsing.py +0 -0
  290. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/utils/logger_info.py +0 -0
  291. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/utils/name_conversion.py +0 -0
  292. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/utils/printers.py +0 -0
  293. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools/engine_utilities/utils/session_manager.py +0 -0
  294. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools.egg-info/dependency_links.txt +0 -0
  295. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools.egg-info/entry_points.txt +0 -0
  296. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools.egg-info/requires.txt +0 -0
  297. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/devsecops_engine_tools.egg-info/top_level.txt +0 -0
  298. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/setup.cfg +0 -0
  299. {devsecops_engine_tools-1.11.0 → devsecops_engine_tools-1.11.2}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: devsecops-engine-tools
3
- Version: 1.11.0
3
+ Version: 1.11.2
4
4
  Summary: Tool for DevSecOps strategy
5
5
  Home-page: https://github.com/bancolombia/devsecops-engine-tools
6
6
  Author: Bancolombia DevSecOps Team
@@ -144,10 +144,14 @@ devsecops-engine-tools --platform_devops ["local","azure","github"] --remote_con
144
144
  <td>Free</td>
145
145
  </tr>
146
146
  <tr>
147
- <td>ENGINE_DEPENDENCIES</td>
147
+ <td rowspan="2">ENGINE_DEPENDENCIES</td>
148
148
  <td><a href="https://jfrog.com/help/r/get-started-with-the-jfrog-platform/jfrog-xray">XRAY</a></td>
149
149
  <td>Paid</td>
150
150
  </tr>
151
+ <tr>
152
+ <td><a href="https://owasp.org/www-project-dependency-check/">DEPENDENCY CHECK</a></td>
153
+ <td>Free</td>
154
+ </tr>
151
155
  <tr>
152
156
  <td>ENGINE_CODE</td>
153
157
  <td><a href="https://docs.bearer.com/quickstart/">BEARER</a></td>
@@ -65,7 +65,8 @@ class DefectDojoPlatform(VulnerabilityManagementGateway):
65
65
  "TRIVY": "Trivy Scan",
66
66
  "KUBESCAPE": "Kubescape Scanner",
67
67
  "KICS": "KICS Scanner",
68
- "BEARER": "Bearer CLI"
68
+ "BEARER": "Bearer CLI",
69
+ "DEPENDENCY_CHECK": "Dependency Check Scan"
69
70
  }
70
71
 
71
72
  if any(
@@ -11,7 +11,7 @@ from devsecops_engine_tools.engine_sast.engine_iac.src.infrastructure.driven_ada
11
11
  )
12
12
  from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
13
13
  from devsecops_engine_tools.engine_utilities import settings
14
- from devsecops_engine_tools.engine_utilities.github.infrastructure.github_api import GithubApi
14
+ from devsecops_engine_tools.engine_utilities.utils.utils import Utils
15
15
 
16
16
  logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
17
17
 
@@ -28,7 +28,7 @@ class KicsTool(ToolGateway):
28
28
  logger.error(f"An error ocurred downloading {file} {ex}")
29
29
 
30
30
  def install_tool(self, file, url, command_prefix):
31
- github_api = GithubApi()
31
+ utils = Utils()
32
32
  kics = f"./{command_prefix}/kics"
33
33
  installed = subprocess.run(
34
34
  ["which", command_prefix],
@@ -38,7 +38,7 @@ class KicsTool(ToolGateway):
38
38
  if installed.returncode == 1:
39
39
  try:
40
40
  self.download(file, url)
41
- github_api.unzip_file(file, command_prefix)
41
+ utils.unzip_file(file, command_prefix)
42
42
  subprocess.run(["chmod", "+x", kics])
43
43
  return kics
44
44
  except Exception as e:
@@ -56,9 +56,9 @@ class KicsTool(ToolGateway):
56
56
  return command_prefix
57
57
  except:
58
58
  try:
59
- github_api = GithubApi()
59
+ utils = Utils()
60
60
  self.download(file, url)
61
- github_api.unzip_file(file, command_prefix)
61
+ utils.unzip_file(file, command_prefix)
62
62
  return f"./{command_prefix}/kics"
63
63
 
64
64
  except Exception as e:
@@ -81,34 +81,32 @@ class KicsTool(ToolGateway):
81
81
  logger.error(f"An error ocurred loading KICS results {ex}")
82
82
  return None
83
83
 
84
- def select_operative_system(self, os_platform, folders_to_scan, config_tool, path_kics):
84
+ def select_operative_system(self, os_platform, config_tool, path_kics):
85
85
  command_prefix = path_kics
86
86
  if os_platform == "Linux":
87
87
  kics_zip = "kics_linux.zip"
88
88
  url_kics = config_tool[self.TOOL_KICS]["KICS_LINUX"]
89
- command_prefix = self.install_tool(kics_zip, url_kics, command_prefix)
89
+ return self.install_tool(kics_zip, url_kics, command_prefix)
90
90
  elif os_platform == "Windows":
91
91
  kics_zip = "kics_windows.zip"
92
92
  url_kics = config_tool[self.TOOL_KICS]["KICS_WINDOWS"]
93
- command_prefix = self.install_tool_windows(kics_zip, url_kics, command_prefix)
93
+ return self.install_tool_windows(kics_zip, url_kics, command_prefix)
94
94
  elif os_platform == "Darwin":
95
95
  kics_zip = "kics_macos.zip"
96
96
  url_kics = config_tool[self.TOOL_KICS]["KICS_MAC"]
97
- command_prefix = self.install_tool(kics_zip, url_kics, command_prefix)
97
+ return self.install_tool(kics_zip, url_kics, command_prefix)
98
98
  else:
99
99
  logger.warning(f"{os_platform} is not supported.")
100
100
  return [], None
101
101
 
102
- self.execute_kics(folders_to_scan, command_prefix)
103
-
104
102
  def get_assets(self, kics_version):
105
103
  name_zip = "assets_compressed.zip"
106
104
  assets_url = f"https://github.com/Checkmarx/kics/releases/download/v{kics_version}/extracted-info.zip"
107
105
  self.download(name_zip, assets_url)
108
106
 
109
107
  directory_assets = "kics_assets"
110
- github_api = GithubApi()
111
- github_api.unzip_file(name_zip, directory_assets)
108
+ utils = Utils()
109
+ utils.unzip_file(name_zip, directory_assets)
112
110
 
113
111
  def run_tool(
114
112
  self, config_tool, folders_to_scan, **kwargs
@@ -120,7 +118,8 @@ class KicsTool(ToolGateway):
120
118
  self.get_assets(kics_version)
121
119
 
122
120
  os_platform = platform.system()
123
- self.select_operative_system(os_platform, folders_to_scan, config_tool, path_kics)
121
+ command_prefix = self.select_operative_system(os_platform, config_tool, path_kics)
122
+ self.execute_kics(folders_to_scan, command_prefix)
124
123
 
125
124
  data = self.load_results()
126
125
  if data:
@@ -46,7 +46,7 @@ class KubescapeDeserealizator:
46
46
  resource = resources.get(resource_id)
47
47
 
48
48
  if resource:
49
- relative_path = resource.get("source", {}).get("path", "").replace("\\", "/")
49
+ relative_path = resource.get("source", {}).get("relativePath", "").replace("\\", "/")
50
50
  severity_score = self.get_severity_score(frameworks, control_id)
51
51
 
52
52
  result_extracted_data.append({
@@ -72,30 +72,28 @@ class KubescapeTool(ToolGateway):
72
72
  logger.error("The JSON result is empty.")
73
73
  return None
74
74
 
75
- def select_operative_system(self, os_platform, folders_to_scan, base_url):
75
+ def select_operative_system(self, os_platform, base_url):
76
76
  if os_platform == "Linux":
77
77
  distro_name = distro.name()
78
78
  if distro_name == "Ubuntu":
79
79
  file = "kubescape-ubuntu-latest"
80
80
  self.install_tool(file, base_url + file)
81
- command_prefix = f"./{file}"
81
+ return f"./{file}"
82
82
  else:
83
83
  logger.warning(f"{distro_name} is not supported.")
84
84
  return None
85
85
  elif os_platform == "Windows":
86
86
  file = "kubescape-windows-latest.exe"
87
87
  self.install_tool_windows(file, base_url + file)
88
- command_prefix = f"./{file}"
88
+ return f"./{file}"
89
89
  elif os_platform == "Darwin":
90
90
  file = "kubescape-macos-latest"
91
91
  self.install_tool(file, base_url + file)
92
- command_prefix = f"./{file}"
92
+ return f"./{file}"
93
93
  else:
94
94
  logger.warning(f"{os_platform} is not supported.")
95
95
  return [], None
96
96
 
97
- self.execute_kubescape(folders_to_scan, command_prefix)
98
-
99
97
  def run_tool(self, config_tool, folders_to_scan, platform_to_scan, **kwargs):
100
98
 
101
99
  if folders_to_scan and "k8s" in platform_to_scan:
@@ -103,7 +101,8 @@ class KubescapeTool(ToolGateway):
103
101
  kubescape_version = config_tool["KUBESCAPE"]["VERSION"]
104
102
  os_platform = platform.system()
105
103
  base_url = f"https://github.com/kubescape/kubescape/releases/download/v{kubescape_version}/"
106
- self.select_operative_system(os_platform, folders_to_scan, base_url)
104
+ command_prefix = self.select_operative_system(os_platform, base_url)
105
+ self.execute_kubescape(folders_to_scan, command_prefix)
107
106
 
108
107
  json_name = "results_kubescape.json"
109
108
  data = self.load_json(json_name)
@@ -4,6 +4,12 @@ from devsecops_engine_tools.engine_sca.engine_dependencies.src.infrastructure.dr
4
4
  from devsecops_engine_tools.engine_sca.engine_dependencies.src.infrastructure.driven_adapters.xray_tool.xray_deserialize_output import (
5
5
  XrayDeserializator,
6
6
  )
7
+ from devsecops_engine_tools.engine_sca.engine_dependencies.src.infrastructure.driven_adapters.dependency_check.dependency_check_tool import (
8
+ DependencyCheckTool,
9
+ )
10
+ from devsecops_engine_tools.engine_sca.engine_dependencies.src.infrastructure.driven_adapters.dependency_check.dependency_check_deserialize import (
11
+ DependencyCheckDeserialize,
12
+ )
7
13
  from devsecops_engine_tools.engine_sca.engine_dependencies.src.infrastructure.entry_points.entry_point_tool import (
8
14
  init_engine_dependencies,
9
15
  )
@@ -11,9 +17,21 @@ from devsecops_engine_tools.engine_sca.engine_dependencies.src.infrastructure.en
11
17
 
12
18
  def runner_engine_dependencies(dict_args, config_tool, secret_tool, devops_platform_gateway):
13
19
  try:
14
- if config_tool["ENGINE_DEPENDENCIES"]["TOOL"] == "XRAY":
15
- tool_run = XrayScan()
16
- tool_deserializator = XrayDeserializator()
20
+ tools_mapping = {
21
+ "XRAY": {
22
+ "tool_run": XrayScan,
23
+ "tool_deserializator": XrayDeserializator
24
+ },
25
+ "DEPENDENCY_CHECK": {
26
+ "tool_run": DependencyCheckTool,
27
+ "tool_deserializator": DependencyCheckDeserialize
28
+ }
29
+ }
30
+
31
+ selected_tool = config_tool["ENGINE_DEPENDENCIES"]["TOOL"]
32
+ tool_run = tools_mapping[selected_tool]["tool_run"]()
33
+ tool_deserializator = tools_mapping[selected_tool]["tool_deserializator"]()
34
+
17
35
 
18
36
  return init_engine_dependencies(
19
37
  tool_run,
@@ -0,0 +1,62 @@
1
+ from devsecops_engine_tools.engine_sca.engine_dependencies.src.domain.model.gateways.deserializator_gateway import (
2
+ DeserializatorGateway,
3
+ )
4
+ from devsecops_engine_tools.engine_core.src.domain.model.finding import (
5
+ Finding,
6
+ Category,
7
+ )
8
+ from dataclasses import dataclass
9
+ from datetime import datetime
10
+ import json
11
+ import os
12
+ from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
13
+ from devsecops_engine_tools.engine_utilities import settings
14
+
15
+ logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
16
+
17
+ @dataclass
18
+ class DependencyCheckDeserialize(DeserializatorGateway):
19
+
20
+ def get_list_findings(self, dependencies_scanned_file) -> "list[Finding]":
21
+ filename, extension = os.path.splitext(dependencies_scanned_file)
22
+ if extension.lower() != ".json":
23
+ dependencies_scanned_file = f"{filename}.json"
24
+
25
+ data_result = self.load_results(dependencies_scanned_file)
26
+
27
+ list_open_vulnerabilities = []
28
+ for dependency in data_result.get("dependencies", []):
29
+ for vulnerability in dependency.get("vulnerabilities", []):
30
+ vulnerable_software = vulnerability.get("vulnerableSoftware", [])
31
+ fix = (
32
+ vulnerable_software[0]
33
+ .get("software", {})
34
+ .get("versionEndExcluding", None)
35
+ if vulnerable_software
36
+ else None
37
+ )
38
+ finding_open = Finding(
39
+ id=vulnerability["name"][:20],
40
+ cvss=str(vulnerability.get("cvssv3", {})),
41
+ where=dependency.get("fileName").split(':')[-1].strip(),
42
+ description=vulnerability["description"][:170].replace("\n\n", " "),
43
+ severity=vulnerability["severity"].lower(),
44
+ identification_date=datetime.now().strftime("%d%m%Y"),
45
+ published_date_cve=None,
46
+ module="engine_dependencies",
47
+ category=Category.VULNERABILITY,
48
+ requirements=fix,
49
+ tool="DEPENDENCY_CHECK"
50
+ )
51
+ list_open_vulnerabilities.append(finding_open)
52
+
53
+ return list_open_vulnerabilities
54
+
55
+ def load_results(self, dependencies_scanned_file):
56
+ try:
57
+ with open(dependencies_scanned_file) as f:
58
+ data = json.load(f)
59
+ return data
60
+ except Exception as ex:
61
+ logger.error(f"An error ocurred loading dependency-check results {ex}")
62
+ return None
@@ -0,0 +1,120 @@
1
+ from devsecops_engine_tools.engine_sca.engine_dependencies.src.domain.model.gateways.tool_gateway import (
2
+ ToolGateway,
3
+ )
4
+
5
+ import requests
6
+ import subprocess
7
+ import os
8
+ import platform
9
+ import shutil
10
+
11
+ from devsecops_engine_tools.engine_utilities.utils.utils import Utils
12
+ from devsecops_engine_tools.engine_sca.engine_dependencies.src.infrastructure.helpers.get_artifacts import GetArtifacts
13
+ from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
14
+ from devsecops_engine_tools.engine_utilities import settings
15
+
16
+ logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
17
+
18
+
19
+ class DependencyCheckTool(ToolGateway):
20
+ def download_tool(self, cli_version):
21
+ try:
22
+ url = f"https://github.com/jeremylong/DependencyCheck/releases/download/v{cli_version}/dependency-check-{cli_version}-release.zip"
23
+ response = requests.get(url, allow_redirects=True)
24
+ home_directory = os.path.expanduser("~")
25
+ zip_name = os.path.join(home_directory, f"dependency_check_{cli_version}.zip")
26
+ with open(zip_name, "wb") as f:
27
+ f.write(response.content)
28
+
29
+ utils = Utils()
30
+ utils.unzip_file(zip_name, home_directory)
31
+ except Exception as ex:
32
+ logger.error(f"An error ocurred downloading dependency-check {ex}")
33
+
34
+ def install_tool(self, cli_version, is_windows=False):
35
+ command_prefix = "dependency-check.bat" if is_windows else "dependency-check.sh"
36
+
37
+ installed = shutil.which(command_prefix)
38
+ if installed:
39
+ return command_prefix
40
+
41
+ home_directory = os.path.expanduser("~")
42
+ bin_route = os.path.join(home_directory, f"dependency-check/bin/{command_prefix}")
43
+
44
+ if shutil.which(bin_route):
45
+ return bin_route
46
+
47
+ self.download_tool(cli_version)
48
+
49
+ try:
50
+ if os.path.exists(bin_route):
51
+ if not is_windows:
52
+ subprocess.run(["chmod", "+x", bin_route], check=True)
53
+ return bin_route
54
+ except Exception as e:
55
+ logger.error(f"Error installing OWASP dependency check: {e}")
56
+ return None
57
+
58
+ def scan_dependencies(self, command_prefix, file_to_scan, token):
59
+ try:
60
+ command = [command_prefix, "--format", "JSON", "--format", "XML", "--nvdApiKey", token, "--scan", file_to_scan,]
61
+
62
+ if not token:
63
+ print("¡¡Remember!!, it is recommended to use the API key for faster vulnerability database downloads.")
64
+ command = [command_prefix, "--format", "JSON", "--format", "XML", "--scan", file_to_scan,]
65
+
66
+ subprocess.run(command, capture_output=True, check=True)
67
+ except subprocess.CalledProcessError as error:
68
+ logger.error(f"Error executing OWASP dependency check scan: {error}")
69
+
70
+ def select_operative_system(self, cli_version):
71
+ os_platform = platform.system()
72
+
73
+ if os_platform in ["Linux", "Darwin"]:
74
+ return self.install_tool(cli_version, is_windows=False)
75
+ elif os_platform == "Windows":
76
+ return self.install_tool(cli_version, is_windows=True)
77
+ else:
78
+ logger.warning(f"{os_platform} is not supported.")
79
+ return None
80
+
81
+ def search_result(self):
82
+ try:
83
+ file_result = os.path.join(os.getcwd(), "dependency-check-report.xml")
84
+ return file_result
85
+ except Exception as ex:
86
+ logger.error(f"An error ocurred search dependency-check results {ex}")
87
+ return None
88
+
89
+ def is_java_installed(self):
90
+ return shutil.which("java") is not None
91
+
92
+ def run_tool_dependencies_sca(
93
+ self,
94
+ remote_config,
95
+ dict_args,
96
+ exclusion,
97
+ pipeline_name,
98
+ to_scan,
99
+ token,
100
+ token_engine_dependencies
101
+ ):
102
+ if not self.is_java_installed():
103
+ logger.error("Java is not installed, please install it to run dependency check")
104
+ return None
105
+
106
+ cli_version = remote_config["DEPENDENCY_CHECK"]["CLI_VERSION"]
107
+
108
+ get_artifacts = GetArtifacts()
109
+
110
+ pattern = get_artifacts.excluded_files(remote_config, pipeline_name, exclusion, "DEPENDENCY_CHECK")
111
+ to_scan = get_artifacts.find_artifacts(
112
+ to_scan, pattern, remote_config["DEPENDENCY_CHECK"]["PACKAGES_TO_SCAN"]
113
+ )
114
+
115
+ if not to_scan:
116
+ return None
117
+
118
+ command_prefix = self.select_operative_system(cli_version)
119
+ self.scan_dependencies(command_prefix, to_scan, token_engine_dependencies)
120
+ return self.search_result()
@@ -8,9 +8,8 @@ import requests
8
8
  import re
9
9
  import os
10
10
  import json
11
- import shutil
12
- import tarfile
13
11
 
12
+ from devsecops_engine_tools.engine_sca.engine_dependencies.src.infrastructure.helpers.get_artifacts import GetArtifacts
14
13
  from devsecops_engine_tools.engine_utilities.utils.logger_info import MyLogger
15
14
  from devsecops_engine_tools.engine_utilities import settings
16
15
 
@@ -18,100 +17,6 @@ logger = MyLogger.__call__(**settings.SETTING_LOGGER).get_logger()
18
17
 
19
18
 
20
19
  class XrayScan(ToolGateway):
21
- def excluded_files(self, remote_config, pipeline_name, exclusions):
22
- pattern = remote_config["XRAY"]["REGEX_EXPRESSION_EXTENSIONS"]
23
- if pipeline_name in exclusions:
24
- for ex in exclusions[pipeline_name]["XRAY"]:
25
- if ex.get("SKIP_FILES", 0):
26
- exclusion = ex.get("SKIP_FILES")
27
- if exclusion.get("files", 0):
28
- excluded_file_types = exclusion["files"]
29
- pattern2 = pattern
30
- for ext in excluded_file_types:
31
- pattern2 = (
32
- pattern2.replace("|" + ext, "")
33
- .replace(ext + "|", "")
34
- .replace(ext, "")
35
- )
36
- pattern = pattern2
37
-
38
- return pattern
39
-
40
- def find_packages(self, pattern, packages, working_dir):
41
- packages_list = []
42
- files_list = []
43
- extension_pattern = re.compile(pattern, re.IGNORECASE)
44
- for root, dirs, files in os.walk(working_dir):
45
- components = root.split(os.path.sep)
46
- flag = 0
47
- for package in packages:
48
- if not (package in components):
49
- flag = 1
50
- if package in dirs:
51
- packages_list.append(os.path.join(root, package))
52
- if flag:
53
- for file in files:
54
- if extension_pattern.search(file):
55
- files_list.append(os.path.join(root, file))
56
- return packages_list, files_list
57
-
58
- def compress_and_mv(self, tar_path, package):
59
- try:
60
- with tarfile.open(tar_path, "w") as tar:
61
- tar.add(
62
- package,
63
- arcname=os.path.basename(package),
64
- filter=lambda x: None if "/.bin/" in x.name else x,
65
- )
66
-
67
- except subprocess.CalledProcessError as e:
68
- logger.error(f"Error during {package} compression: {e}")
69
-
70
- def move_files(self, dir_to_scan_path, finded_files):
71
- for file in finded_files:
72
- target = os.path.join(dir_to_scan_path, os.path.basename(file))
73
- shutil.copy2(file, target)
74
- logger.debug(f"File to scan: {file}")
75
-
76
- def find_artifacts(self, to_scan, pattern, packages):
77
- dir_to_scan_path = os.path.join(to_scan, "dependencies_to_scan")
78
- if os.path.exists(dir_to_scan_path):
79
- shutil.rmtree(dir_to_scan_path)
80
- os.makedirs(dir_to_scan_path)
81
-
82
- packages_list, files_list = self.find_packages(pattern, packages, to_scan)
83
-
84
- for package in packages_list:
85
- tar_path = os.path.join(
86
- dir_to_scan_path,
87
- "pkg"
88
- + str(packages_list.index(package) + 1)
89
- + "_"
90
- + os.path.basename(package)
91
- + ".tar",
92
- )
93
- self.compress_and_mv(tar_path, package)
94
-
95
- if len(files_list):
96
- self.move_files(dir_to_scan_path, files_list)
97
-
98
- files = os.listdir(dir_to_scan_path)
99
- files = [
100
- file
101
- for file in files
102
- if os.path.isfile(os.path.join(dir_to_scan_path, file))
103
- ]
104
- file_to_scan = None
105
- if files:
106
- file_to_scan = os.path.join(dir_to_scan_path, "file_to_scan.tar")
107
- self.compress_and_mv(file_to_scan, dir_to_scan_path)
108
- files_string = ", ".join(files)
109
- logger.debug(f"Files to scan: {files_string}")
110
- print(f"Files to scan: {files_string}")
111
- else:
112
- logger.warning("No artifacts found")
113
-
114
- return file_to_scan
115
20
 
116
21
  def install_tool_linux(self, prefix, version):
117
22
  installed = subprocess.run(
@@ -241,8 +146,9 @@ class XrayScan(ToolGateway):
241
146
  ):
242
147
  token = secret_tool["token_xray"] if secret_tool else token_engine_dependencies
243
148
  if dict_args["xray_mode"] == "scan":
244
- pattern = self.excluded_files(remote_config, pipeline_name, exclusion)
245
- to_scan = self.find_artifacts(
149
+ get_artifacts = GetArtifacts()
150
+ pattern = get_artifacts.excluded_files(remote_config, pipeline_name, exclusion, "XRAY")
151
+ to_scan = get_artifacts.find_artifacts(
246
152
  to_scan, pattern, remote_config["XRAY"]["PACKAGES_TO_SCAN"]
247
153
  )
248
154
  cwd = os.getcwd()
@@ -0,0 +1,107 @@
1
+ import os
2
+ import re
3
+ import tarfile
4
+ import subprocess
5
+ import shutil
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
+
12
+ class GetArtifacts:
13
+
14
+ def excluded_files(self, remote_config, pipeline_name, exclusions, tool):
15
+ pattern = remote_config[tool]["REGEX_EXPRESSION_EXTENSIONS"]
16
+ if pipeline_name in exclusions:
17
+ for ex in exclusions[pipeline_name][tool]:
18
+ if ex.get("SKIP_FILES", 0):
19
+ exclusion = ex.get("SKIP_FILES")
20
+ if exclusion.get("files", 0):
21
+ excluded_file_types = exclusion["files"]
22
+ pattern2 = pattern
23
+ for ext in excluded_file_types:
24
+ pattern2 = (
25
+ pattern2.replace("|" + ext, "")
26
+ .replace(ext + "|", "")
27
+ .replace(ext, "")
28
+ )
29
+ pattern = pattern2
30
+
31
+ return pattern
32
+
33
+ def find_packages(self, pattern, packages, working_dir):
34
+ packages_list = []
35
+ files_list = []
36
+ extension_pattern = re.compile(pattern, re.IGNORECASE)
37
+ for root, dirs, files in os.walk(working_dir):
38
+ components = root.split(os.path.sep)
39
+ flag = 0
40
+ for package in packages:
41
+ if not (package in components):
42
+ flag = 1
43
+ if package in dirs:
44
+ packages_list.append(os.path.join(root, package))
45
+ if flag:
46
+ for file in files:
47
+ if extension_pattern.search(file):
48
+ files_list.append(os.path.join(root, file))
49
+ return packages_list, files_list
50
+
51
+ def compress_and_mv(self, tar_path, package):
52
+ try:
53
+ with tarfile.open(tar_path, "w") as tar:
54
+ tar.add(
55
+ package,
56
+ arcname=os.path.basename(package),
57
+ filter=lambda x: None if "/.bin/" in x.name else x,
58
+ )
59
+
60
+ except subprocess.CalledProcessError as e:
61
+ logger.error(f"Error during {package} compression: {e}")
62
+
63
+ def move_files(self, dir_to_scan_path, finded_files):
64
+ for file in finded_files:
65
+ target = os.path.join(dir_to_scan_path, os.path.basename(file))
66
+ shutil.copy2(file, target)
67
+ logger.debug(f"File to scan: {file}")
68
+
69
+ def find_artifacts(self, to_scan, pattern, packages):
70
+ dir_to_scan_path = os.path.join(to_scan, "dependencies_to_scan")
71
+ if os.path.exists(dir_to_scan_path):
72
+ shutil.rmtree(dir_to_scan_path)
73
+ os.makedirs(dir_to_scan_path)
74
+
75
+ packages_list, files_list = self.find_packages(pattern, packages, to_scan)
76
+
77
+ for package in packages_list:
78
+ tar_path = os.path.join(
79
+ dir_to_scan_path,
80
+ "pkg"
81
+ + str(packages_list.index(package) + 1)
82
+ + "_"
83
+ + os.path.basename(package)
84
+ + ".tar",
85
+ )
86
+ self.compress_and_mv(tar_path, package)
87
+
88
+ if len(files_list):
89
+ self.move_files(dir_to_scan_path, files_list)
90
+
91
+ files = os.listdir(dir_to_scan_path)
92
+ files = [
93
+ file
94
+ for file in files
95
+ if os.path.isfile(os.path.join(dir_to_scan_path, file))
96
+ ]
97
+ file_to_scan = None
98
+ if files:
99
+ file_to_scan = os.path.join(dir_to_scan_path, "file_to_scan.tar")
100
+ self.compress_and_mv(file_to_scan, dir_to_scan_path)
101
+ files_string = ", ".join(files)
102
+ logger.debug(f"Files to scan: {files_string}")
103
+ print(f"Files to scan: {files_string}")
104
+ else:
105
+ logger.warning("No artifacts found")
106
+
107
+ return file_to_scan
@@ -90,11 +90,11 @@ class ImportScanUserCase:
90
90
 
91
91
  logger.debug(f"search Engagement name: {request.engagement_name}")
92
92
  engagement = self.__rest_engagement.get_engagements(request.engagement_name)
93
- if engagement.results == [] or any(engagement.name != request.engagement_name for engagement in engagement.results):
93
+ if engagement.results == [] or not any(engagement.name == request.engagement_name for engagement in engagement.results):
94
94
  engagement = self.__rest_engagement.post_engagement(request.engagement_name, product_id)
95
95
  logger.debug(f"Egagement created: {engagement.name}")
96
96
  else:
97
- engagement = [engagement for engagement in engagement.results if engagement.product == product_id]
97
+ engagement = [engagement for engagement in engagement.results if engagement.product == product_id and engagement.name == request.engagement_name]
98
98
  if engagement:
99
99
  logger.debug(f"Engagement found: {engagement[0].name} whit product id: {engagement[0].product}")
100
100
  else:
@@ -0,0 +1,8 @@
1
+ import zipfile
2
+
3
+
4
+ class Utils:
5
+
6
+ def unzip_file(self, zip_file_path, extract_path):
7
+ with zipfile.ZipFile(zip_file_path, "r") as zip_ref:
8
+ zip_ref.extractall(extract_path)
@@ -0,0 +1 @@
1
+ version = '1.11.2'