cycode 3.2.2.dev3__tar.gz → 3.2.2.dev4__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.
Files changed (164) hide show
  1. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/PKG-INFO +1 -1
  2. cycode-3.2.2.dev4/cycode/__init__.py +1 -0
  3. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/files_collector/commit_range_documents.py +4 -1
  4. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/user_settings/configuration_manager.py +1 -1
  5. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/utils/yaml_utils.py +13 -3
  6. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/pyproject.toml +1 -1
  7. cycode-3.2.2.dev3/cycode/__init__.py +0 -1
  8. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/LICENCE +0 -0
  9. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/README.md +0 -0
  10. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/__main__.py +0 -0
  11. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/__init__.py +0 -0
  12. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/app.py +0 -0
  13. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/__init__.py +0 -0
  14. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/ai_remediation/__init__.py +0 -0
  15. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/ai_remediation/ai_remediation_command.py +0 -0
  16. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/ai_remediation/apply_fix.py +0 -0
  17. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/ai_remediation/print_remediation.py +0 -0
  18. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/auth/__init__.py +0 -0
  19. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/auth/auth_command.py +0 -0
  20. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/auth/auth_common.py +0 -0
  21. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/auth/auth_manager.py +0 -0
  22. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/auth/models.py +0 -0
  23. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/configure/__init__.py +0 -0
  24. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/configure/configure_command.py +0 -0
  25. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/configure/consts.py +0 -0
  26. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/configure/messages.py +0 -0
  27. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/configure/prompts.py +0 -0
  28. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/ignore/__init__.py +0 -0
  29. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/ignore/ignore_command.py +0 -0
  30. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/mcp/__init__.py +0 -0
  31. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/mcp/mcp_command.py +0 -0
  32. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/report/__init__.py +0 -0
  33. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/report/report_command.py +0 -0
  34. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/report/sbom/__init__.py +0 -0
  35. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/report/sbom/common.py +0 -0
  36. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/report/sbom/path/__init__.py +0 -0
  37. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/report/sbom/path/path_command.py +0 -0
  38. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/report/sbom/repository_url/__init__.py +0 -0
  39. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/report/sbom/repository_url/repository_url_command.py +0 -0
  40. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/report/sbom/sbom_command.py +0 -0
  41. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/report/sbom/sbom_report_file.py +0 -0
  42. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/scan/__init__.py +0 -0
  43. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/scan/aggregation_report.py +0 -0
  44. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/scan/code_scanner.py +0 -0
  45. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/scan/commit_history/__init__.py +0 -0
  46. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/scan/commit_history/commit_history_command.py +0 -0
  47. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/scan/commit_range_scanner.py +0 -0
  48. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/scan/detection_excluder.py +0 -0
  49. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/scan/path/__init__.py +0 -0
  50. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/scan/path/path_command.py +0 -0
  51. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/scan/pre_commit/__init__.py +0 -0
  52. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/scan/pre_commit/pre_commit_command.py +0 -0
  53. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/scan/pre_receive/__init__.py +0 -0
  54. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/scan/pre_receive/pre_receive_command.py +0 -0
  55. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/scan/remote_url_resolver.py +0 -0
  56. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/scan/repository/__init__.py +0 -0
  57. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/scan/repository/repository_command.py +0 -0
  58. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/scan/scan_ci/__init__.py +0 -0
  59. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/scan/scan_ci/ci_integrations.py +0 -0
  60. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/scan/scan_ci/scan_ci_command.py +0 -0
  61. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/scan/scan_command.py +0 -0
  62. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/scan/scan_parameters.py +0 -0
  63. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/scan/scan_result.py +0 -0
  64. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/status/__init__.py +0 -0
  65. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/status/get_cli_status.py +0 -0
  66. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/status/models.py +0 -0
  67. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/status/status_command.py +0 -0
  68. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/apps/status/version_command.py +0 -0
  69. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/cli_types.py +0 -0
  70. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/config.py +0 -0
  71. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/console.py +0 -0
  72. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/consts.py +0 -0
  73. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/exceptions/__init__.py +0 -0
  74. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/exceptions/custom_exceptions.py +0 -0
  75. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/exceptions/handle_ai_remediation_errors.py +0 -0
  76. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/exceptions/handle_auth_errors.py +0 -0
  77. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/exceptions/handle_errors.py +0 -0
  78. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/exceptions/handle_report_sbom_errors.py +0 -0
  79. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/exceptions/handle_scan_errors.py +0 -0
  80. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/files_collector/__init__.py +0 -0
  81. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/files_collector/file_excluder.py +0 -0
  82. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/files_collector/iac/__init__.py +0 -0
  83. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/files_collector/iac/tf_content_generator.py +0 -0
  84. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/files_collector/models/__init__.py +0 -0
  85. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/files_collector/models/in_memory_zip.py +0 -0
  86. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/files_collector/path_documents.py +0 -0
  87. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/files_collector/repository_documents.py +0 -0
  88. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/files_collector/sca/__init__.py +0 -0
  89. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/files_collector/sca/base_restore_dependencies.py +0 -0
  90. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/files_collector/sca/go/__init__.py +0 -0
  91. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/files_collector/sca/go/restore_go_dependencies.py +0 -0
  92. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/files_collector/sca/maven/__init__.py +0 -0
  93. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/files_collector/sca/maven/restore_gradle_dependencies.py +0 -0
  94. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/files_collector/sca/maven/restore_maven_dependencies.py +0 -0
  95. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/files_collector/sca/npm/__init__.py +0 -0
  96. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/files_collector/sca/npm/restore_npm_dependencies.py +0 -0
  97. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/files_collector/sca/nuget/__init__.py +0 -0
  98. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/files_collector/sca/nuget/restore_nuget_dependencies.py +0 -0
  99. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/files_collector/sca/ruby/__init__.py +0 -0
  100. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/files_collector/sca/ruby/restore_ruby_dependencies.py +0 -0
  101. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/files_collector/sca/sbt/__init__.py +0 -0
  102. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/files_collector/sca/sbt/restore_sbt_dependencies.py +0 -0
  103. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/files_collector/sca/sca_file_collector.py +0 -0
  104. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/files_collector/walk_ignore.py +0 -0
  105. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/files_collector/zip_documents.py +0 -0
  106. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/logger.py +0 -0
  107. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/main.py +0 -0
  108. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/models.py +0 -0
  109. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/printers/__init__.py +0 -0
  110. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/printers/console_printer.py +0 -0
  111. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/printers/json_printer.py +0 -0
  112. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/printers/printer_base.py +0 -0
  113. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/printers/rich_printer.py +0 -0
  114. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/printers/tables/__init__.py +0 -0
  115. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/printers/tables/sca_table_printer.py +0 -0
  116. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/printers/tables/table.py +0 -0
  117. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/printers/tables/table_models.py +0 -0
  118. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/printers/tables/table_printer.py +0 -0
  119. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/printers/tables/table_printer_base.py +0 -0
  120. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/printers/text_printer.py +0 -0
  121. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/printers/utils/__init__.py +0 -0
  122. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/printers/utils/code_snippet_syntax.py +0 -0
  123. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/printers/utils/detection_data.py +0 -0
  124. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/printers/utils/detection_ordering/__init__.py +0 -0
  125. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/printers/utils/detection_ordering/common_ordering.py +0 -0
  126. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/printers/utils/detection_ordering/sca_ordering.py +0 -0
  127. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/printers/utils/rich_helpers.py +0 -0
  128. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/user_settings/__init__.py +0 -0
  129. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/user_settings/base_file_manager.py +0 -0
  130. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/user_settings/config_file_manager.py +0 -0
  131. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/user_settings/credentials_manager.py +0 -0
  132. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/user_settings/jwt_creator.py +0 -0
  133. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/utils/__init__.py +0 -0
  134. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/utils/enum_utils.py +0 -0
  135. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/utils/get_api_client.py +0 -0
  136. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/utils/git_proxy.py +0 -0
  137. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/utils/ignore_utils.py +0 -0
  138. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/utils/jwt_utils.py +0 -0
  139. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/utils/path_utils.py +0 -0
  140. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/utils/progress_bar.py +0 -0
  141. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/utils/scan_batch.py +0 -0
  142. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/utils/scan_utils.py +0 -0
  143. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/utils/sentry.py +0 -0
  144. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/utils/shell_executor.py +0 -0
  145. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/utils/string_utils.py +0 -0
  146. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/utils/task_timer.py +0 -0
  147. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cli/utils/version_checker.py +0 -0
  148. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/config.py +0 -0
  149. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cyclient/__init__.py +0 -0
  150. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cyclient/auth_client.py +0 -0
  151. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cyclient/client_creator.py +0 -0
  152. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cyclient/config.py +0 -0
  153. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cyclient/config_dev.py +0 -0
  154. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cyclient/cycode_client.py +0 -0
  155. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cyclient/cycode_client_base.py +0 -0
  156. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cyclient/cycode_dev_based_client.py +0 -0
  157. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cyclient/cycode_token_based_client.py +0 -0
  158. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cyclient/headers.py +0 -0
  159. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cyclient/logger.py +0 -0
  160. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cyclient/models.py +0 -0
  161. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cyclient/report_client.py +0 -0
  162. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cyclient/scan_client.py +0 -0
  163. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/cyclient/scan_config_base.py +0 -0
  164. {cycode-3.2.2.dev3 → cycode-3.2.2.dev4}/cycode/logger.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cycode
3
- Version: 3.2.2.dev3
3
+ Version: 3.2.2.dev4
4
4
  Summary: Boost security in your dev lifecycle via SAST, SCA, Secrets & IaC scanning.
5
5
  Home-page: https://github.com/cycodehq/cycode-cli
6
6
  License: MIT
@@ -0,0 +1 @@
1
+ __version__ = '3.2.2.dev4' # DON'T TOUCH. Placeholder. Will be filled automatically on poetry build from Git Tag
@@ -193,7 +193,10 @@ def get_diff_file_path(diff: 'Diff', relative: bool = False) -> Optional[str]:
193
193
 
194
194
  if diff.b_blob:
195
195
  return diff.b_blob.abspath
196
- return diff.a_blob.abspath
196
+ if diff.a_blob:
197
+ return diff.a_blob.abspath
198
+
199
+ return None
197
200
 
198
201
 
199
202
  def get_diff_file_content(diff: 'Diff') -> str:
@@ -82,7 +82,7 @@ class ConfigurationManager:
82
82
  @staticmethod
83
83
  def _merge_exclusions(local_exclusions: dict, global_exclusions: dict) -> dict:
84
84
  keys = set(list(local_exclusions.keys()) + list(global_exclusions.keys()))
85
- return {key: local_exclusions.get(key, []) + global_exclusions.get(key, []) for key in keys}
85
+ return {key: (local_exclusions.get(key) or []) + (global_exclusions.get(key) or []) for key in keys}
86
86
 
87
87
  def get_or_create_installation_id(self) -> str:
88
88
  config_file_manager = self.get_config_file_manager()
@@ -4,6 +4,10 @@ from typing import Any, TextIO
4
4
 
5
5
  import yaml
6
6
 
7
+ from cycode.logger import get_logger
8
+
9
+ logger = get_logger('YAML Utils')
10
+
7
11
 
8
12
  def _deep_update(source: dict[Hashable, Any], overrides: dict[Hashable, Any]) -> dict[Hashable, Any]:
9
13
  for key, value in overrides.items():
@@ -15,10 +19,16 @@ def _deep_update(source: dict[Hashable, Any], overrides: dict[Hashable, Any]) ->
15
19
  return source
16
20
 
17
21
 
18
- def _yaml_safe_load(file: TextIO) -> dict[Hashable, Any]:
22
+ def _yaml_object_safe_load(file: TextIO) -> dict[Hashable, Any]:
19
23
  # loader.get_single_data could return None
20
24
  loaded_file = yaml.safe_load(file)
21
- if loaded_file is None:
25
+
26
+ if not isinstance(loaded_file, dict):
27
+ # forbid literals at the top level
28
+ logger.debug(
29
+ 'YAML file does not contain a dictionary at the top level: %s',
30
+ {'filename': file.name, 'actual_type': type(loaded_file)},
31
+ )
22
32
  return {}
23
33
 
24
34
  return loaded_file
@@ -29,7 +39,7 @@ def read_yaml_file(filename: str) -> dict[Hashable, Any]:
29
39
  return {}
30
40
 
31
41
  with open(filename, encoding='UTF-8') as file:
32
- return _yaml_safe_load(file)
42
+ return _yaml_object_safe_load(file)
33
43
 
34
44
 
35
45
  def write_yaml_file(filename: str, content: dict[Hashable, Any]) -> None:
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "cycode"
3
- version = "3.2.2.dev3" # DON'T TOUCH. Placeholder. Will be filled automatically on poetry build from Git Tag
3
+ version = "3.2.2.dev4" # DON'T TOUCH. Placeholder. Will be filled automatically on poetry build from Git Tag
4
4
  description = "Boost security in your dev lifecycle via SAST, SCA, Secrets & IaC scanning."
5
5
  keywords=["secret-scan", "cycode", "devops", "token", "secret", "security", "cycode", "code"]
6
6
  authors = ["Cycode <support@cycode.com>"]
@@ -1 +0,0 @@
1
- __version__ = '3.2.2.dev3' # DON'T TOUCH. Placeholder. Will be filled automatically on poetry build from Git Tag
File without changes
File without changes