devsecops-engine-tools 1.11.1__tar.gz → 1.11.3__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.1 → devsecops_engine_tools-1.11.3}/PKG-INFO +6 -2
  2. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/applications/runner_engine_core.py +1 -1
  3. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/domain/usecases/handle_scan.py +2 -1
  4. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/secrets_manager.py +1 -1
  5. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/defect_dojo.py +2 -1
  6. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_tool.py +13 -14
  7. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_deserealizator.py +1 -1
  8. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_tool.py +6 -7
  9. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_secret/src/applications/runner_secret_scan.py +3 -2
  10. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/DeserializeConfigTool.py +3 -0
  11. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/tool_gateway.py +5 -4
  12. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/secret_scan.py +6 -5
  13. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_run.py +43 -5
  14. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/entry_point_tool.py +2 -2
  15. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/runner_dependencies_scan.py +21 -3
  16. devsecops_engine_tools-1.11.3/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_deserialize.py +62 -0
  17. devsecops_engine_tools-1.11.3/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check/dependency_check_tool.py +120 -0
  18. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_manager_scan.py +4 -98
  19. devsecops_engine_tools-1.11.3/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers/get_artifacts.py +107 -0
  20. devsecops_engine_tools-1.11.3/devsecops_engine_tools/engine_utilities/utils/__init__.py +0 -0
  21. devsecops_engine_tools-1.11.3/devsecops_engine_tools/engine_utilities/utils/utils.py +8 -0
  22. devsecops_engine_tools-1.11.3/devsecops_engine_tools/version.py +1 -0
  23. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools.egg-info/PKG-INFO +6 -2
  24. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools.egg-info/SOURCES.txt +6 -1
  25. devsecops_engine_tools-1.11.1/devsecops_engine_tools/version.py +0 -1
  26. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/README.md +0 -0
  27. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/__init__.py +0 -0
  28. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/__init__.py +0 -0
  29. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/__init__.py +0 -0
  30. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/applications/__init__.py +0 -0
  31. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/deployment/__init__.py +0 -0
  32. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/deployment/infrastructure/__init__.py +0 -0
  33. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/domain/__init__.py +0 -0
  34. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/domain/model/__init__.py +0 -0
  35. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/domain/model/custom_level_vulnerability.py +0 -0
  36. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/domain/model/customs_exceptions.py +0 -0
  37. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/domain/model/exclusions.py +0 -0
  38. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/domain/model/finding.py +0 -0
  39. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/domain/model/gateway/__init__.py +0 -0
  40. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/domain/model/gateway/devops_platform_gateway.py +0 -0
  41. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/domain/model/gateway/metrics_manager_gateway.py +0 -0
  42. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/domain/model/gateway/printer_table_gateway.py +0 -0
  43. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/domain/model/gateway/secrets_manager_gateway.py +0 -0
  44. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/domain/model/gateway/vulnerability_management_gateway.py +0 -0
  45. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/domain/model/input_core.py +0 -0
  46. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/domain/model/level_compliance.py +0 -0
  47. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/domain/model/level_vulnerability.py +0 -0
  48. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/domain/model/report.py +0 -0
  49. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/domain/model/threshold.py +0 -0
  50. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/domain/model/vulnerability_management.py +0 -0
  51. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/domain/usecases/__init__.py +0 -0
  52. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/domain/usecases/break_build.py +0 -0
  53. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/domain/usecases/handle_risk.py +0 -0
  54. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/domain/usecases/metrics_manager.py +0 -0
  55. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/infrastructure/__init__.py +0 -0
  56. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/__init__.py +0 -0
  57. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/__init__.py +0 -0
  58. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/aws/s3_manager.py +0 -0
  59. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/__init__.py +0 -0
  60. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/azure/azure_devops.py +0 -0
  61. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/defect_dojo/__init__.py +0 -0
  62. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/__init__.py +0 -0
  63. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/github/github_actions.py +0 -0
  64. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/__init__.py +0 -0
  65. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/printer_pretty_table/printer_pretty_table.py +0 -0
  66. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/__init__.py +0 -0
  67. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/infrastructure/driven_adapters/runtime_local/runtime_local.py +0 -0
  68. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/__init__.py +0 -0
  69. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/infrastructure/entry_points/entry_point_core.py +0 -0
  70. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/__init__.py +0 -0
  71. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/aws.py +0 -0
  72. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_core/src/infrastructure/helpers/util.py +0 -0
  73. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_dast/__init__.py +0 -0
  74. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_dast/src/__init__.py +0 -0
  75. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_dast/src/applications/__init__.py +0 -0
  76. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_dast/src/deployment/__init__.py +0 -0
  77. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_dast/src/deployment/infrastructure/__init__.py +0 -0
  78. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_dast/src/domain/__init__.py +0 -0
  79. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_dast/src/domain/model/__init__.py +0 -0
  80. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_dast/src/domain/usecases/__init__.py +0 -0
  81. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_dast/src/infrastructure/__init__.py +0 -0
  82. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_dast/src/infrastructure/driven_adapters/__init__.py +0 -0
  83. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_dast/src/infrastructure/entry_points/__init__.py +0 -0
  84. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_dast/src/infrastructure/helpers/__init__.py +0 -0
  85. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_risk/__init__.py +0 -0
  86. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_risk/src/__init__.py +0 -0
  87. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_risk/src/applications/__init__.py +0 -0
  88. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_risk/src/applications/runner_engine_risk.py +0 -0
  89. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_risk/src/deployment/__init__.py +0 -0
  90. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_risk/src/deployment/infrastructure/__init__.py +0 -0
  91. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_risk/src/domain/__init__.py +0 -0
  92. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_risk/src/domain/model/__init__.py +0 -0
  93. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_risk/src/domain/model/gateways/__init__.py +0 -0
  94. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_risk/src/domain/model/gateways/add_epss_gateway.py +0 -0
  95. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_risk/src/domain/usecases/__init__.py +0 -0
  96. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_risk/src/domain/usecases/add_data.py +0 -0
  97. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_risk/src/domain/usecases/break_build.py +0 -0
  98. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_risk/src/domain/usecases/get_exclusions.py +0 -0
  99. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_risk/src/domain/usecases/handle_filters.py +0 -0
  100. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_risk/src/infrastructure/__init__.py +0 -0
  101. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/__init__.py +0 -0
  102. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/first_csv/__init__.py +0 -0
  103. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_risk/src/infrastructure/driven_adapters/first_csv/first_epss_csv.py +0 -0
  104. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/__init__.py +0 -0
  105. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_risk/src/infrastructure/entry_points/entry_point_risk.py +0 -0
  106. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_risk/src/infrastructure/helpers/__init__.py +0 -0
  107. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/__init__.py +0 -0
  108. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_code/__init__.py +0 -0
  109. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_code/src/__init__.py +0 -0
  110. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_code/src/applications/__init__.py +0 -0
  111. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_code/src/applications/runner_engine_code.py +0 -0
  112. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_code/src/deployment/__init__.py +0 -0
  113. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_code/src/deployment/infrastructure/__init__.py +0 -0
  114. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_code/src/domain/__init__.py +0 -0
  115. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/__init__.py +0 -0
  116. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/config_tool.py +0 -0
  117. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/gateways/__init__.py +0 -0
  118. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_code/src/domain/model/gateways/tool_gateway.py +0 -0
  119. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases/__init__.py +0 -0
  120. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_code/src/domain/usecases/code_scan.py +0 -0
  121. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/__init__.py +0 -0
  122. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/__init__.py +0 -0
  123. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/__init__.py +0 -0
  124. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/bearer_deserealizator.py +0 -0
  125. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/driven_adapters/bearer/bearer_tool.py +0 -0
  126. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/entry_points/__init__.py +0 -0
  127. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  128. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_code/src/infrastructure/helpers/__init__.py +0 -0
  129. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_iac/__init__.py +0 -0
  130. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_iac/src/__init__.py +0 -0
  131. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_iac/src/applications/__init__.py +0 -0
  132. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_iac/src/applications/runner_iac_scan.py +0 -0
  133. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/__init__.py +0 -0
  134. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_iac/src/deployment/infrastructure/__init__.py +0 -0
  135. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/__init__.py +0 -0
  136. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/__init__.py +0 -0
  137. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/config_tool.py +0 -0
  138. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/__init__.py +0 -0
  139. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/model/gateways/tool_gateway.py +0 -0
  140. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/__init__.py +0 -0
  141. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_iac/src/domain/usecases/iac_scan.py +0 -0
  142. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/__init__.py +0 -0
  143. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/__init__.py +0 -0
  144. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/__init__.py +0 -0
  145. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_config.py +0 -0
  146. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_deserealizator.py +0 -0
  147. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_tool.py +0 -0
  148. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/__init__.py +0 -0
  149. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_deserealizator.py +0 -0
  150. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/__init__.py +0 -0
  151. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/__init__.py +0 -0
  152. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  153. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/__init__.py +0 -0
  154. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/helpers/file_generator_tool.py +0 -0
  155. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_secret/__init__.py +0 -0
  156. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_secret/src/__init__.py +0 -0
  157. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_secret/src/applications/__init__.py +0 -0
  158. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/__init__.py +0 -0
  159. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_secret/src/deployment/infrastructure/__init__.py +0 -0
  160. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/__init__.py +0 -0
  161. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/__init__.py +0 -0
  162. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/__init__.py +0 -0
  163. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/model/gateway/gateway_deserealizator.py +0 -0
  164. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/__init__.py +0 -0
  165. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_secret/src/domain/usecases/set_input_core.py +0 -0
  166. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/__init__.py +0 -0
  167. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/__init__.py +0 -0
  168. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/__init__.py +0 -0
  169. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/driven_adapters/trufflehog/trufflehog_deserealizator.py +0 -0
  170. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sast/engine_secret/src/infrastructure/entry_points/__init__.py +0 -0
  171. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/__init__.py +0 -0
  172. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_container/__init__.py +0 -0
  173. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_container/src/__init__.py +0 -0
  174. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_container/src/applications/__init__.py +0 -0
  175. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_container/src/applications/runner_container_scan.py +0 -0
  176. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_container/src/deployment/__init__.py +0 -0
  177. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_container/src/deployment/infrastructure/__init__.py +0 -0
  178. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_container/src/domain/__init__.py +0 -0
  179. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/__init__.py +0 -0
  180. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/__init__.py +0 -0
  181. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/deserealizator_gateway.py +0 -0
  182. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/images_gateway.py +0 -0
  183. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_container/src/domain/model/gateways/tool_gateway.py +0 -0
  184. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/__init__.py +0 -0
  185. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/container_sca_scan.py +0 -0
  186. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/handle_remote_config_patterns.py +0 -0
  187. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_container/src/domain/usecases/set_input_core.py +0 -0
  188. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/__init__.py +0 -0
  189. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/__init__.py +0 -0
  190. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/__init__.py +0 -0
  191. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/docker/docker_images.py +0 -0
  192. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/__init__.py +0 -0
  193. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_cloud_manager_scan.py +0 -0
  194. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/prisma_cloud/prisma_deserialize_output.py +0 -0
  195. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/__init__.py +0 -0
  196. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_deserialize_output.py +0 -0
  197. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/driven_adapters/trivy_tool/trivy_manager_scan.py +0 -0
  198. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/__init__.py +0 -0
  199. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  200. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_container/src/infrastructure/helpers/__init__.py +0 -0
  201. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_dependencies/__init__.py +0 -0
  202. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_dependencies/src/__init__.py +0 -0
  203. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_dependencies/src/applications/__init__.py +0 -0
  204. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/__init__.py +0 -0
  205. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_dependencies/src/deployment/infrastructure/__init__.py +0 -0
  206. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/__init__.py +0 -0
  207. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/__init__.py +0 -0
  208. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/__init__.py +0 -0
  209. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/deserializator_gateway.py +0 -0
  210. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/model/gateways/tool_gateway.py +0 -0
  211. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/__init__.py +0 -0
  212. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/dependencies_sca_scan.py +0 -0
  213. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/handle_remote_config_patterns.py +0 -0
  214. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_dependencies/src/domain/usecases/set_input_core.py +0 -0
  215. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/__init__.py +0 -0
  216. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/__init__.py +0 -0
  217. {devsecops_engine_tools-1.11.1/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool → devsecops_engine_tools-1.11.3/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/dependency_check}/__init__.py +0 -0
  218. {devsecops_engine_tools-1.11.1/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points → devsecops_engine_tools-1.11.3/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool}/__init__.py +0 -0
  219. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/driven_adapters/xray_tool/xray_deserialize_output.py +0 -0
  220. {devsecops_engine_tools-1.11.1/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers → devsecops_engine_tools-1.11.3/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points}/__init__.py +0 -0
  221. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/entry_points/entry_point_tool.py +0 -0
  222. {devsecops_engine_tools-1.11.1/devsecops_engine_tools/engine_utilities → devsecops_engine_tools-1.11.3/devsecops_engine_tools/engine_sca/engine_dependencies/src/infrastructure/helpers}/__init__.py +0 -0
  223. {devsecops_engine_tools-1.11.1/devsecops_engine_tools/engine_utilities/azuredevops → devsecops_engine_tools-1.11.3/devsecops_engine_tools/engine_utilities}/__init__.py +0 -0
  224. {devsecops_engine_tools-1.11.1/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure → devsecops_engine_tools-1.11.3/devsecops_engine_tools/engine_utilities/azuredevops}/__init__.py +0 -0
  225. {devsecops_engine_tools-1.11.1/devsecops_engine_tools/engine_utilities/azuredevops/models → devsecops_engine_tools-1.11.3/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure}/__init__.py +0 -0
  226. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/azuredevops/infrastructure/azure_devops_api.py +0 -0
  227. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzureMessageLoggingPipeline.py +0 -0
  228. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/azuredevops/models/AzurePredefinedVariables.py +0 -0
  229. {devsecops_engine_tools-1.11.1/devsecops_engine_tools/engine_utilities/defect_dojo/applications → devsecops_engine_tools-1.11.3/devsecops_engine_tools/engine_utilities/azuredevops/models}/__init__.py +0 -0
  230. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/defect_dojo/__init__.py +0 -0
  231. {devsecops_engine_tools-1.11.1/devsecops_engine_tools/engine_utilities/defect_dojo/domain → devsecops_engine_tools-1.11.3/devsecops_engine_tools/engine_utilities/defect_dojo/applications}/__init__.py +0 -0
  232. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/connect.py +0 -0
  233. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/defect_dojo.py +0 -0
  234. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/engagement.py +0 -0
  235. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/defect_dojo/applications/finding.py +0 -0
  236. {devsecops_engine_tools-1.11.1/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models → devsecops_engine_tools-1.11.3/devsecops_engine_tools/engine_utilities/defect_dojo/domain}/__init__.py +0 -0
  237. {devsecops_engine_tools-1.11.1/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects → devsecops_engine_tools-1.11.3/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models}/__init__.py +0 -0
  238. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/cmdb.py +0 -0
  239. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/engagement.py +0 -0
  240. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/finding.py +0 -0
  241. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product.py +0 -0
  242. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_list.py +0 -0
  243. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type.py +0 -0
  244. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/product_type_list.py +0 -0
  245. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/models/scan_configuration.py +0 -0
  246. {devsecops_engine_tools-1.11.1/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers → devsecops_engine_tools-1.11.3/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects}/__init__.py +0 -0
  247. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/finding.py +0 -0
  248. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/request_objects/import_scan.py +0 -0
  249. {devsecops_engine_tools-1.11.1/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case → devsecops_engine_tools-1.11.3/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers}/__init__.py +0 -0
  250. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/finding.py +0 -0
  251. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/serializers/import_scan.py +0 -0
  252. {devsecops_engine_tools-1.11.1/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure → devsecops_engine_tools-1.11.3/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case}/__init__.py +0 -0
  253. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/cmdb.py +0 -0
  254. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/engagement.py +0 -0
  255. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/finding.py +0 -0
  256. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/defect_dojo/domain/user_case/import_scan.py +0 -0
  257. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/defect_dojo/hello_world.py +0 -0
  258. {devsecops_engine_tools-1.11.1/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters → devsecops_engine_tools-1.11.3/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure}/__init__.py +0 -0
  259. {devsecops_engine_tools-1.11.1/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings → devsecops_engine_tools-1.11.3/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters}/__init__.py +0 -0
  260. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/cmdb.py +0 -0
  261. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/engagement.py +0 -0
  262. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/finding.py +0 -0
  263. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/import_scan.py +0 -0
  264. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product.py +0 -0
  265. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/product_type.py +0 -0
  266. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/scan_configurations.py +0 -0
  267. {devsecops_engine_tools-1.11.1/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/repository → devsecops_engine_tools-1.11.3/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings}/__init__.py +0 -0
  268. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/driver_adapters/settings/settings.py +0 -0
  269. {devsecops_engine_tools-1.11.1/devsecops_engine_tools/engine_utilities/git_cli → devsecops_engine_tools-1.11.3/devsecops_engine_tools/engine_utilities/defect_dojo/infraestructure/repository}/__init__.py +0 -0
  270. {devsecops_engine_tools-1.11.1/devsecops_engine_tools/engine_utilities/git_cli/infrastructure → devsecops_engine_tools-1.11.3/devsecops_engine_tools/engine_utilities/git_cli}/__init__.py +0 -0
  271. {devsecops_engine_tools-1.11.1/devsecops_engine_tools/engine_utilities/git_cli/model → devsecops_engine_tools-1.11.3/devsecops_engine_tools/engine_utilities/git_cli/infrastructure}/__init__.py +0 -0
  272. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/git_cli/infrastructure/git_run.py +0 -0
  273. {devsecops_engine_tools-1.11.1/devsecops_engine_tools/engine_utilities/git_cli/model/gateway → devsecops_engine_tools-1.11.3/devsecops_engine_tools/engine_utilities/git_cli/model}/__init__.py +0 -0
  274. {devsecops_engine_tools-1.11.1/devsecops_engine_tools/engine_utilities/github → devsecops_engine_tools-1.11.3/devsecops_engine_tools/engine_utilities/git_cli/model/gateway}/__init__.py +0 -0
  275. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/git_cli/model/gateway/git_gateway.py +0 -0
  276. {devsecops_engine_tools-1.11.1/devsecops_engine_tools/engine_utilities/github/infrastructure → devsecops_engine_tools-1.11.3/devsecops_engine_tools/engine_utilities/github}/__init__.py +0 -0
  277. {devsecops_engine_tools-1.11.1/devsecops_engine_tools/engine_utilities/github/models → devsecops_engine_tools-1.11.3/devsecops_engine_tools/engine_utilities/github/infrastructure}/__init__.py +0 -0
  278. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/github/infrastructure/github_api.py +0 -0
  279. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/github/models/GithubPredefinedVariables.py +0 -0
  280. {devsecops_engine_tools-1.11.1/devsecops_engine_tools/engine_utilities/input_validations → devsecops_engine_tools-1.11.3/devsecops_engine_tools/engine_utilities/github/models}/__init__.py +0 -0
  281. {devsecops_engine_tools-1.11.1/devsecops_engine_tools/engine_utilities/ssh → devsecops_engine_tools-1.11.3/devsecops_engine_tools/engine_utilities/input_validations}/__init__.py +0 -0
  282. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/input_validations/env_utils.py +0 -0
  283. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/input_validations/validate_input_with_regex_letters_number_and_only.py +0 -0
  284. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/settings.py +0 -0
  285. {devsecops_engine_tools-1.11.1/devsecops_engine_tools/engine_utilities/utils → devsecops_engine_tools-1.11.3/devsecops_engine_tools/engine_utilities/ssh}/__init__.py +0 -0
  286. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/ssh/managment_private_key.py +0 -0
  287. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/utils/api_error.py +0 -0
  288. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/utils/dataclass_classmethod.py +0 -0
  289. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/utils/datetime_parsing.py +0 -0
  290. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/utils/logger_info.py +0 -0
  291. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/utils/name_conversion.py +0 -0
  292. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/utils/printers.py +0 -0
  293. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools/engine_utilities/utils/session_manager.py +0 -0
  294. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools.egg-info/dependency_links.txt +0 -0
  295. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools.egg-info/entry_points.txt +0 -0
  296. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools.egg-info/requires.txt +0 -0
  297. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/devsecops_engine_tools.egg-info/top_level.txt +0 -0
  298. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/setup.cfg +0 -0
  299. {devsecops_engine_tools-1.11.1 → devsecops_engine_tools-1.11.3}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: devsecops-engine-tools
3
- Version: 1.11.1
3
+ Version: 1.11.3
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>
@@ -144,7 +144,7 @@ def get_inputs_from_cli(args):
144
144
  parser.add_argument(
145
145
  "--token_external_checks",
146
146
  required=False,
147
- help="Token for downloading external checks from engine_iac if is necessary. Ej: github:token, ssh:privatekey:pass",
147
+ help="Token for downloading external checks from engine_iac or engine_secret if is necessary. Ej: github:token, ssh:privatekey:pass",
148
148
  )
149
149
  parser.add_argument(
150
150
  "--xray_mode",
@@ -136,7 +136,8 @@ class HandleScan:
136
136
  findings_list, input_core = runner_secret_scan(
137
137
  dict_args,
138
138
  config_tool["ENGINE_SECRET"]["TOOL"],
139
- self.devops_platform_gateway
139
+ self.devops_platform_gateway,
140
+ secret_tool
140
141
  )
141
142
  if (
142
143
  dict_args["use_vulnerability_management"] == "true"
@@ -36,5 +36,5 @@ class SecretsManager(SecretsManagerGateway):
36
36
  secret_dict = json.loads(secret)
37
37
  return secret_dict
38
38
  except NoCredentialsError as e:
39
- logger.error("Error getting secret: {e}")
39
+ logger.error(f"Error getting secret: {e}")
40
40
  return None
@@ -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)
@@ -11,7 +11,7 @@ from devsecops_engine_tools.engine_utilities.git_cli.infrastructure.git_run impo
11
11
  GitRun
12
12
  )
13
13
 
14
- def runner_secret_scan(dict_args, tool, devops_platform_gateway):
14
+ def runner_secret_scan(dict_args, tool, devops_platform_gateway, secret_tool):
15
15
  try:
16
16
  tool_deserealizator = None
17
17
  tool_gateway = None
@@ -25,7 +25,8 @@ def runner_secret_scan(dict_args, tool, devops_platform_gateway):
25
25
  dict_args = dict_args,
26
26
  tool=tool,
27
27
  tool_deserealizator = tool_deserealizator,
28
- git_gateway = git_gateway
28
+ git_gateway = git_gateway,
29
+ secret_tool = secret_tool
29
30
  )
30
31
  except Exception as e:
31
32
  raise Exception(f"Error engine_secret : {str(e)}")
@@ -9,3 +9,6 @@ class DeserializeConfigTool:
9
9
  self.exclude_path = json_data[tool]["EXCLUDE_PATH"]
10
10
  self.number_threads = json_data[tool]["NUMBER_THREADS"]
11
11
  self.target_branches = json_data["TARGET_BRANCHES"]
12
+ self.enable_custom_rules = json_data[tool]["ENABLE_CUSTOM_RULES"]
13
+ self.external_dir_owner = json_data[tool]["EXTERNAL_DIR_OWNER"]
14
+ self.external_dir_repo = json_data[tool]["EXTERNAL_DIR_REPOSITORY"]
@@ -1,5 +1,5 @@
1
1
  from abc import ABCMeta, abstractmethod
2
-
2
+ from devsecops_engine_tools.engine_sast.engine_secret.src.domain.model.DeserializeConfigTool import DeserializeConfigTool
3
3
 
4
4
  class ToolGateway(metaclass=ABCMeta):
5
5
  @abstractmethod
@@ -8,9 +8,10 @@ class ToolGateway(metaclass=ABCMeta):
8
8
  @abstractmethod
9
9
  def run_tool_secret_scan(self,
10
10
  files_pullrequest: dict,
11
- exclude_path: dict,
12
11
  agent_os: str,
13
12
  agent_work_folder: str,
14
- num_threads: int,
15
- repository_name: str) -> str:
13
+ repository_name: str,
14
+ config_tool: DeserializeConfigTool,
15
+ secret_tool,
16
+ secret_external_checks) -> str:
16
17
  "run tool secret scan"
@@ -28,9 +28,10 @@ class SecretScan:
28
28
  self.tool_deserialize = tool_deserialize
29
29
  self.git_gateway = git_gateway
30
30
 
31
- def process(self, skip_tool, config_tool):
31
+ def process(self, skip_tool, config_tool, secret_tool, dict_args):
32
32
  finding_list = []
33
33
  file_path_findings = ""
34
+ secret_external_checks=dict_args["token_external_checks"]
34
35
  if skip_tool == False:
35
36
  self.tool_gateway.install_tool(self.devops_platform_gateway.get_variable("os"), self.devops_platform_gateway.get_variable("temp_directory"))
36
37
  files_pullrequest = self.git_gateway.get_files_pull_request(
@@ -45,12 +46,12 @@ class SecretScan:
45
46
  self.devops_platform_gateway.get_variable("repository_provider"))
46
47
  findings, file_path_findings = self.tool_gateway.run_tool_secret_scan(
47
48
  files_pullrequest,
48
- config_tool.exclude_path,
49
49
  self.devops_platform_gateway.get_variable("os"),
50
50
  self.devops_platform_gateway.get_variable("path_directory"),
51
- config_tool.number_threads,
52
- self.devops_platform_gateway.get_variable("repository")
53
- )
51
+ self.devops_platform_gateway.get_variable("repository"),
52
+ config_tool,
53
+ secret_tool,
54
+ secret_external_checks)
54
55
  finding_list = self.tool_deserialize.get_list_vulnerability(
55
56
  findings,
56
57
  self.devops_platform_gateway.get_variable("os"),
@@ -7,6 +7,13 @@ import concurrent.futures
7
7
  from devsecops_engine_tools.engine_sast.engine_secret.src.domain.model.gateway.tool_gateway import (
8
8
  ToolGateway,
9
9
  )
10
+ from devsecops_engine_tools.engine_utilities.github.infrastructure.github_api import (
11
+ GithubApi,
12
+ )
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()
10
17
 
11
18
  result = []
12
19
 
@@ -40,20 +47,34 @@ class TrufflehogRun(ToolGateway):
40
47
  def run_tool_secret_scan(
41
48
  self,
42
49
  files_commits,
43
- exclude_paths,
44
50
  agent_os,
45
51
  agent_work_folder,
46
- num_threads,
47
52
  repository_name,
53
+ config_tool,
54
+ secret_tool,
55
+ secret_external_checks
48
56
  ):
49
57
  trufflehog_command = "trufflehog"
50
58
  if "Windows" in agent_os:
51
59
  trufflehog_command = "C:/Trufflehog/bin/trufflehog.exe"
52
60
  with open(f"{agent_work_folder}/excludedPath.txt", "w") as file:
53
- file.write("\n".join(exclude_paths))
61
+ file.write("\n".join(config_tool.exclude_path))
54
62
  exclude_path = f"{agent_work_folder}/excludedPath.txt"
55
63
  include_paths = self.config_include_path(files_commits, agent_work_folder)
56
- with concurrent.futures.ThreadPoolExecutor(max_workers=num_threads) as executor:
64
+ enable_custom_rules = config_tool.enable_custom_rules.lower()
65
+ secret = None
66
+
67
+ if secret_tool is not None:
68
+ secret = secret_tool["github_token"] if "github" in secret_tool else None
69
+ elif secret_external_checks is not None:
70
+ secret = secret_external_checks.split("github:")[1] if "github" in secret_external_checks else None
71
+
72
+ if enable_custom_rules == "true" and secret is not None:
73
+ self.configurate_external_checks(config_tool, secret)
74
+ else: #In case that remote config from tool is enable but in the args dont send any type of secrets. So dont modified command
75
+ enable_custom_rules == "false"
76
+
77
+ with concurrent.futures.ThreadPoolExecutor(max_workers=config_tool.number_threads) as executor:
57
78
  results = executor.map(
58
79
  self.run_trufflehog,
59
80
  [trufflehog_command] * len(include_paths),
@@ -61,6 +82,7 @@ class TrufflehogRun(ToolGateway):
61
82
  [exclude_path] * len(include_paths),
62
83
  include_paths,
63
84
  [repository_name] * len(include_paths),
85
+ [enable_custom_rules],
64
86
  )
65
87
  findings, file_findings = self.create_file(self.decode_output(results), agent_work_folder)
66
88
  return findings, file_findings
@@ -90,8 +112,13 @@ class TrufflehogRun(ToolGateway):
90
112
  exclude_path,
91
113
  include_path,
92
114
  repository_name,
115
+ enable_custom_rules
93
116
  ):
94
117
  command = f"{trufflehog_command} filesystem {agent_work_folder + '/' + repository_name} --include-paths {include_path} --exclude-paths {exclude_path} --no-verification --json"
118
+
119
+ if enable_custom_rules == "true":
120
+ command = command.replace("--no-verification --json", "--config /tmp/rules/trufflehog/custom-rules.yaml --no-verification --json")
121
+
95
122
  result = subprocess.run(command, capture_output=True, shell=True, text=True)
96
123
  return result.stdout.strip()
97
124
 
@@ -115,4 +142,15 @@ class TrufflehogRun(ToolGateway):
115
142
  find["SourceMetadata"]["Data"]["Filesystem"]["file"] = where_text
116
143
  json_str = json.dumps(find)
117
144
  file.write(json_str + '\n')
118
- return findings, file_findings
145
+ return findings, file_findings
146
+
147
+ def configurate_external_checks(self, config_tool, secret):
148
+ try:
149
+ github_api = GithubApi(secret)
150
+ github_api.download_latest_release_assets(
151
+ config_tool.external_dir_owner,
152
+ config_tool.external_dir_repo,
153
+ "/tmp",
154
+ )
155
+ except Exception as ex:
156
+ logger.error(f"An error ocurred download external checks {ex}")
@@ -4,13 +4,13 @@ from devsecops_engine_tools.engine_sast.engine_secret.src.domain.usecases.set_in
4
4
  SetInputCore,
5
5
  )
6
6
 
7
- def engine_secret_scan(devops_platform_gateway, tool_gateway, dict_args, tool, tool_deserealizator, git_gateway):
7
+ def engine_secret_scan(devops_platform_gateway, tool_gateway, dict_args, tool, tool_deserealizator, git_gateway, secret_tool):
8
8
  exclusions = devops_platform_gateway.get_remote_config(
9
9
  dict_args["remote_config_repo"], "engine_sast/engine_secret/Exclusions.json"
10
10
  )
11
11
  secret_scan = SecretScan(tool_gateway, devops_platform_gateway, tool_deserealizator, git_gateway)
12
12
  config_tool = secret_scan.complete_config_tool(dict_args, tool)
13
13
  skip_tool = secret_scan.skip_from_exclusion(exclusions)
14
- finding_list, file_path_findings = secret_scan.process(skip_tool, config_tool)
14
+ finding_list, file_path_findings = secret_scan.process(skip_tool, config_tool, secret_tool, dict_args)
15
15
  input_core = SetInputCore(devops_platform_gateway, dict_args, tool, config_tool)
16
16
  return finding_list, input_core.set_input_core(file_path_findings)
@@ -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()