cycode 3.11.1__tar.gz → 3.11.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. {cycode-3.11.1 → cycode-3.11.2}/PKG-INFO +3 -4
  2. cycode-3.11.2/cycode/__init__.py +1 -0
  3. cycode-3.11.2/cycode/cli/utils/binary_utils.py +72 -0
  4. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/utils/path_utils.py +1 -1
  5. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/utils/string_utils.py +1 -2
  6. {cycode-3.11.1 → cycode-3.11.2}/cycode/logger.py +0 -2
  7. {cycode-3.11.1 → cycode-3.11.2}/pyproject.toml +6 -7
  8. cycode-3.11.1/cycode/__init__.py +0 -1
  9. {cycode-3.11.1 → cycode-3.11.2}/LICENCE +0 -0
  10. {cycode-3.11.1 → cycode-3.11.2}/README.md +0 -0
  11. {cycode-3.11.1 → cycode-3.11.2}/cycode/__main__.py +0 -0
  12. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/__init__.py +0 -0
  13. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/app.py +0 -0
  14. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/__init__.py +0 -0
  15. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/ai_guardrails/__init__.py +0 -0
  16. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/ai_guardrails/command_utils.py +0 -0
  17. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/ai_guardrails/consts.py +0 -0
  18. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/ai_guardrails/hooks_manager.py +0 -0
  19. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/ai_guardrails/install_command.py +0 -0
  20. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/ai_guardrails/scan/__init__.py +0 -0
  21. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/ai_guardrails/scan/consts.py +0 -0
  22. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/ai_guardrails/scan/handlers.py +0 -0
  23. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/ai_guardrails/scan/payload.py +0 -0
  24. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/ai_guardrails/scan/policy.py +0 -0
  25. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/ai_guardrails/scan/response_builders.py +0 -0
  26. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/ai_guardrails/scan/scan_command.py +0 -0
  27. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/ai_guardrails/scan/types.py +0 -0
  28. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/ai_guardrails/scan/utils.py +0 -0
  29. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/ai_guardrails/status_command.py +0 -0
  30. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/ai_guardrails/uninstall_command.py +0 -0
  31. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/ai_remediation/__init__.py +0 -0
  32. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/ai_remediation/ai_remediation_command.py +0 -0
  33. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/ai_remediation/apply_fix.py +0 -0
  34. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/ai_remediation/print_remediation.py +0 -0
  35. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/auth/__init__.py +0 -0
  36. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/auth/auth_command.py +0 -0
  37. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/auth/auth_common.py +0 -0
  38. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/auth/auth_manager.py +0 -0
  39. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/auth/models.py +0 -0
  40. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/configure/__init__.py +0 -0
  41. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/configure/configure_command.py +0 -0
  42. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/configure/consts.py +0 -0
  43. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/configure/messages.py +0 -0
  44. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/configure/prompts.py +0 -0
  45. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/ignore/__init__.py +0 -0
  46. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/ignore/ignore_command.py +0 -0
  47. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/mcp/__init__.py +0 -0
  48. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/mcp/mcp_command.py +0 -0
  49. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/report/__init__.py +0 -0
  50. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/report/report_command.py +0 -0
  51. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/report/sbom/__init__.py +0 -0
  52. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/report/sbom/common.py +0 -0
  53. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/report/sbom/path/__init__.py +0 -0
  54. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/report/sbom/path/path_command.py +0 -0
  55. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/report/sbom/repository_url/__init__.py +0 -0
  56. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/report/sbom/repository_url/repository_url_command.py +0 -0
  57. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/report/sbom/sbom_command.py +0 -0
  58. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/report/sbom/sbom_report_file.py +0 -0
  59. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/report_import/__init__.py +0 -0
  60. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/report_import/report_import_command.py +0 -0
  61. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/report_import/sbom/__init__.py +0 -0
  62. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/report_import/sbom/sbom_command.py +0 -0
  63. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/sca_options.py +0 -0
  64. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/scan/__init__.py +0 -0
  65. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/scan/aggregation_report.py +0 -0
  66. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/scan/code_scanner.py +0 -0
  67. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/scan/commit_history/__init__.py +0 -0
  68. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/scan/commit_history/commit_history_command.py +0 -0
  69. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/scan/commit_range_scanner.py +0 -0
  70. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/scan/detection_excluder.py +0 -0
  71. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/scan/path/__init__.py +0 -0
  72. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/scan/path/path_command.py +0 -0
  73. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/scan/pre_commit/__init__.py +0 -0
  74. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/scan/pre_commit/pre_commit_command.py +0 -0
  75. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/scan/pre_push/__init__.py +0 -0
  76. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/scan/pre_push/pre_push_command.py +0 -0
  77. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/scan/pre_receive/__init__.py +0 -0
  78. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/scan/pre_receive/pre_receive_command.py +0 -0
  79. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/scan/remote_url_resolver.py +0 -0
  80. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/scan/repository/__init__.py +0 -0
  81. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/scan/repository/repository_command.py +0 -0
  82. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/scan/scan_ci/__init__.py +0 -0
  83. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/scan/scan_ci/ci_integrations.py +0 -0
  84. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/scan/scan_ci/scan_ci_command.py +0 -0
  85. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/scan/scan_command.py +0 -0
  86. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/scan/scan_parameters.py +0 -0
  87. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/scan/scan_result.py +0 -0
  88. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/status/__init__.py +0 -0
  89. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/status/get_cli_status.py +0 -0
  90. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/status/models.py +0 -0
  91. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/status/status_command.py +0 -0
  92. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/apps/status/version_command.py +0 -0
  93. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/cli_types.py +0 -0
  94. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/config.py +0 -0
  95. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/console.py +0 -0
  96. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/consts.py +0 -0
  97. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/exceptions/__init__.py +0 -0
  98. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/exceptions/custom_exceptions.py +0 -0
  99. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/exceptions/handle_ai_remediation_errors.py +0 -0
  100. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/exceptions/handle_auth_errors.py +0 -0
  101. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/exceptions/handle_errors.py +0 -0
  102. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/exceptions/handle_report_sbom_errors.py +0 -0
  103. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/exceptions/handle_scan_errors.py +0 -0
  104. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/files_collector/__init__.py +0 -0
  105. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/files_collector/commit_range_documents.py +0 -0
  106. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/files_collector/documents_walk_ignore.py +0 -0
  107. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/files_collector/file_excluder.py +0 -0
  108. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/files_collector/iac/__init__.py +0 -0
  109. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/files_collector/iac/tf_content_generator.py +0 -0
  110. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/files_collector/models/__init__.py +0 -0
  111. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/files_collector/models/in_memory_zip.py +0 -0
  112. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/files_collector/path_documents.py +0 -0
  113. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/files_collector/repository_documents.py +0 -0
  114. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/files_collector/sca/__init__.py +0 -0
  115. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/files_collector/sca/base_restore_dependencies.py +0 -0
  116. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/files_collector/sca/go/__init__.py +0 -0
  117. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/files_collector/sca/go/restore_go_dependencies.py +0 -0
  118. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/files_collector/sca/maven/__init__.py +0 -0
  119. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/files_collector/sca/maven/restore_gradle_dependencies.py +0 -0
  120. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/files_collector/sca/maven/restore_maven_dependencies.py +0 -0
  121. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/files_collector/sca/npm/__init__.py +0 -0
  122. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/files_collector/sca/npm/restore_deno_dependencies.py +0 -0
  123. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/files_collector/sca/npm/restore_npm_dependencies.py +0 -0
  124. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/files_collector/sca/npm/restore_pnpm_dependencies.py +0 -0
  125. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/files_collector/sca/npm/restore_yarn_dependencies.py +0 -0
  126. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/files_collector/sca/nuget/__init__.py +0 -0
  127. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/files_collector/sca/nuget/restore_nuget_dependencies.py +0 -0
  128. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/files_collector/sca/php/__init__.py +0 -0
  129. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/files_collector/sca/php/restore_composer_dependencies.py +0 -0
  130. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/files_collector/sca/python/__init__.py +0 -0
  131. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/files_collector/sca/python/restore_pipenv_dependencies.py +0 -0
  132. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/files_collector/sca/python/restore_poetry_dependencies.py +0 -0
  133. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/files_collector/sca/ruby/__init__.py +0 -0
  134. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/files_collector/sca/ruby/restore_ruby_dependencies.py +0 -0
  135. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/files_collector/sca/sbt/__init__.py +0 -0
  136. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/files_collector/sca/sbt/restore_sbt_dependencies.py +0 -0
  137. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/files_collector/sca/sca_file_collector.py +0 -0
  138. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/files_collector/walk_ignore.py +0 -0
  139. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/files_collector/zip_documents.py +0 -0
  140. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/logger.py +0 -0
  141. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/main.py +0 -0
  142. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/models.py +0 -0
  143. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/printers/__init__.py +0 -0
  144. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/printers/console_printer.py +0 -0
  145. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/printers/json_printer.py +0 -0
  146. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/printers/printer_base.py +0 -0
  147. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/printers/rich_printer.py +0 -0
  148. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/printers/tables/__init__.py +0 -0
  149. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/printers/tables/sca_table_printer.py +0 -0
  150. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/printers/tables/table.py +0 -0
  151. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/printers/tables/table_models.py +0 -0
  152. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/printers/tables/table_printer.py +0 -0
  153. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/printers/tables/table_printer_base.py +0 -0
  154. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/printers/text_printer.py +0 -0
  155. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/printers/utils/__init__.py +0 -0
  156. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/printers/utils/code_snippet_syntax.py +0 -0
  157. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/printers/utils/detection_data.py +0 -0
  158. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/printers/utils/detection_ordering/__init__.py +0 -0
  159. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/printers/utils/detection_ordering/common_ordering.py +0 -0
  160. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/printers/utils/detection_ordering/sca_ordering.py +0 -0
  161. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/printers/utils/rich_helpers.py +0 -0
  162. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/user_settings/__init__.py +0 -0
  163. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/user_settings/base_file_manager.py +0 -0
  164. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/user_settings/config_file_manager.py +0 -0
  165. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/user_settings/configuration_manager.py +0 -0
  166. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/user_settings/credentials_manager.py +0 -0
  167. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/user_settings/jwt_creator.py +0 -0
  168. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/utils/__init__.py +0 -0
  169. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/utils/enum_utils.py +0 -0
  170. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/utils/get_api_client.py +0 -0
  171. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/utils/git_proxy.py +0 -0
  172. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/utils/ignore_utils.py +0 -0
  173. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/utils/jwt_utils.py +0 -0
  174. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/utils/progress_bar.py +0 -0
  175. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/utils/scan_batch.py +0 -0
  176. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/utils/scan_utils.py +0 -0
  177. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/utils/shell_executor.py +0 -0
  178. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/utils/task_timer.py +0 -0
  179. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/utils/url_utils.py +0 -0
  180. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/utils/version_checker.py +0 -0
  181. {cycode-3.11.1 → cycode-3.11.2}/cycode/cli/utils/yaml_utils.py +0 -0
  182. {cycode-3.11.1 → cycode-3.11.2}/cycode/config.py +0 -0
  183. {cycode-3.11.1 → cycode-3.11.2}/cycode/cyclient/__init__.py +0 -0
  184. {cycode-3.11.1 → cycode-3.11.2}/cycode/cyclient/ai_security_manager_client.py +0 -0
  185. {cycode-3.11.1 → cycode-3.11.2}/cycode/cyclient/ai_security_manager_service_config.py +0 -0
  186. {cycode-3.11.1 → cycode-3.11.2}/cycode/cyclient/auth_client.py +0 -0
  187. {cycode-3.11.1 → cycode-3.11.2}/cycode/cyclient/base_token_auth_client.py +0 -0
  188. {cycode-3.11.1 → cycode-3.11.2}/cycode/cyclient/client_creator.py +0 -0
  189. {cycode-3.11.1 → cycode-3.11.2}/cycode/cyclient/config.py +0 -0
  190. {cycode-3.11.1 → cycode-3.11.2}/cycode/cyclient/config_dev.py +0 -0
  191. {cycode-3.11.1 → cycode-3.11.2}/cycode/cyclient/cycode_client.py +0 -0
  192. {cycode-3.11.1 → cycode-3.11.2}/cycode/cyclient/cycode_client_base.py +0 -0
  193. {cycode-3.11.1 → cycode-3.11.2}/cycode/cyclient/cycode_dev_based_client.py +0 -0
  194. {cycode-3.11.1 → cycode-3.11.2}/cycode/cyclient/cycode_oidc_based_client.py +0 -0
  195. {cycode-3.11.1 → cycode-3.11.2}/cycode/cyclient/cycode_token_based_client.py +0 -0
  196. {cycode-3.11.1 → cycode-3.11.2}/cycode/cyclient/headers.py +0 -0
  197. {cycode-3.11.1 → cycode-3.11.2}/cycode/cyclient/import_sbom_client.py +0 -0
  198. {cycode-3.11.1 → cycode-3.11.2}/cycode/cyclient/logger.py +0 -0
  199. {cycode-3.11.1 → cycode-3.11.2}/cycode/cyclient/models.py +0 -0
  200. {cycode-3.11.1 → cycode-3.11.2}/cycode/cyclient/report_client.py +0 -0
  201. {cycode-3.11.1 → cycode-3.11.2}/cycode/cyclient/scan_client.py +0 -0
  202. {cycode-3.11.1 → cycode-3.11.2}/cycode/cyclient/scan_config_base.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cycode
3
- Version: 3.11.1
3
+ Version: 3.11.2
4
4
  Summary: Boost security in your dev lifecycle via SAST, SCA, Secrets & IaC scanning.
5
5
  License-Expression: MIT
6
6
  License-File: LICENCE
@@ -20,14 +20,13 @@ Classifier: Programming Language :: Python :: 3.11
20
20
  Classifier: Programming Language :: Python :: 3.12
21
21
  Classifier: Programming Language :: Python :: 3.13
22
22
  Classifier: Programming Language :: Python :: 3.14
23
- Requires-Dist: arrow (>=1.0.0,<1.4.0)
24
- Requires-Dist: binaryornot (>=0.4.4,<0.5.0)
23
+ Requires-Dist: arrow (>=1.0.0,<1.5.0)
25
24
  Requires-Dist: click (>=8.1.0,<8.2.0)
26
25
  Requires-Dist: colorama (>=0.4.3,<0.5.0)
27
26
  Requires-Dist: gitpython (>=3.1.30,<3.2.0)
28
27
  Requires-Dist: marshmallow (>=3.15.0,<4.0.0)
29
28
  Requires-Dist: mcp (>=1.9.3,<2.0.0) ; python_version >= "3.10"
30
- Requires-Dist: patch-ng (==1.18.1)
29
+ Requires-Dist: patch-ng (==1.19.0)
31
30
  Requires-Dist: pathvalidate (>=3.3.1,<4.0.0)
32
31
  Requires-Dist: pydantic (>=2.11.5,<3.0.0)
33
32
  Requires-Dist: pyjwt (>=2.8.0,<3.0)
@@ -0,0 +1 @@
1
+ __version__ = '3.11.2' # DON'T TOUCH. Placeholder. Will be filled automatically on poetry build from Git Tag
@@ -0,0 +1,72 @@
1
+ _CONTROL_CHARS = b'\n\r\t\f\b'
2
+ _PRINTABLE_ASCII = _CONTROL_CHARS + bytes(range(32, 127))
3
+ _PRINTABLE_HIGH_ASCII = bytes(range(127, 256))
4
+
5
+ # BOM signatures for encodings that legitimately contain null bytes
6
+ _BOM_ENCODINGS = (
7
+ (b'\xff\xfe\x00\x00', 'utf-32-le'),
8
+ (b'\x00\x00\xfe\xff', 'utf-32-be'),
9
+ (b'\xff\xfe', 'utf-16-le'),
10
+ (b'\xfe\xff', 'utf-16-be'),
11
+ )
12
+
13
+
14
+ def _has_bom_encoding(bytes_to_check: bytes) -> bool:
15
+ """Check if bytes start with a BOM and can be decoded as that encoding."""
16
+ for bom, encoding in _BOM_ENCODINGS:
17
+ if bytes_to_check.startswith(bom):
18
+ try:
19
+ bytes_to_check.decode(encoding)
20
+ return True
21
+ except (UnicodeDecodeError, LookupError):
22
+ pass
23
+ return False
24
+
25
+
26
+ def _is_decodable_as_utf8(bytes_to_check: bytes) -> bool:
27
+ """Try to decode bytes as UTF-8."""
28
+ try:
29
+ bytes_to_check.decode('utf-8')
30
+ return True
31
+ except UnicodeDecodeError:
32
+ return False
33
+
34
+
35
+ def is_binary_string(bytes_to_check: bytes) -> bool:
36
+ """Check if a chunk of bytes appears to be binary content.
37
+
38
+ Uses a simplified version of the Perl detection algorithm, matching
39
+ the structure of binaryornot's is_binary_string.
40
+ """
41
+ if not bytes_to_check:
42
+ return False
43
+
44
+ # Binary if control chars are > 30% of the string
45
+ low_chars = bytes_to_check.translate(None, _PRINTABLE_ASCII)
46
+ nontext_ratio1 = len(low_chars) / len(bytes_to_check)
47
+
48
+ # Binary if high ASCII chars are < 5% of the string
49
+ high_chars = bytes_to_check.translate(None, _PRINTABLE_HIGH_ASCII)
50
+ nontext_ratio2 = len(high_chars) / len(bytes_to_check)
51
+
52
+ is_likely_binary = (nontext_ratio1 > 0.3 and nontext_ratio2 < 0.05) or (
53
+ nontext_ratio1 > 0.8 and nontext_ratio2 > 0.8
54
+ )
55
+
56
+ # BOM-marked UTF-16/32 files legitimately contain null bytes.
57
+ # Check this first so they aren't misdetected as binary.
58
+ if _has_bom_encoding(bytes_to_check):
59
+ return False
60
+
61
+ has_null_or_xff = b'\x00' in bytes_to_check or b'\xff' in bytes_to_check
62
+
63
+ if is_likely_binary:
64
+ # Only let UTF-8 rescue data that doesn't contain null bytes.
65
+ # Null bytes are valid UTF-8 but almost never appear in real text files,
66
+ # whereas binary formats (e.g. .DS_Store) are full of them.
67
+ if has_null_or_xff:
68
+ return True
69
+ return not _is_decodable_as_utf8(bytes_to_check)
70
+
71
+ # Null bytes or 0xff in otherwise normal-looking data indicate binary
72
+ return bool(has_null_or_xff)
@@ -4,9 +4,9 @@ from functools import cache
4
4
  from typing import TYPE_CHECKING, AnyStr, Optional, Union
5
5
 
6
6
  import typer
7
- from binaryornot.helpers import is_binary_string
8
7
 
9
8
  from cycode.cli.logger import logger
9
+ from cycode.cli.utils.binary_utils import is_binary_string
10
10
 
11
11
  if TYPE_CHECKING:
12
12
  from os import PathLike
@@ -5,9 +5,8 @@ import re
5
5
  import string
6
6
  from sys import getsizeof
7
7
 
8
- from binaryornot.check import is_binary_string
9
-
10
8
  from cycode.cli.consts import SCA_SHORTCUT_DEPENDENCY_PATHS
9
+ from cycode.cli.utils.binary_utils import is_binary_string
11
10
 
12
11
 
13
12
  def obfuscate_text(text: str) -> str:
@@ -31,8 +31,6 @@ logging.getLogger('urllib3').setLevel(logging.WARNING)
31
31
  logging.getLogger('werkzeug').setLevel(logging.WARNING)
32
32
  logging.getLogger('schedule').setLevel(logging.WARNING)
33
33
  logging.getLogger('kubernetes').setLevel(logging.WARNING)
34
- logging.getLogger('binaryornot').setLevel(logging.WARNING)
35
- logging.getLogger('chardet').setLevel(logging.WARNING)
36
34
  logging.getLogger('git.cmd').setLevel(logging.WARNING)
37
35
  logging.getLogger('git.util').setLevel(logging.WARNING)
38
36
 
@@ -21,7 +21,7 @@ classifiers = [
21
21
  "Programming Language :: Python :: 3.14",
22
22
  ]
23
23
  dynamic = ["dependencies"]
24
- version = "3.11.1"
24
+ version = "3.11.2"
25
25
 
26
26
  [project.scripts]
27
27
  cycode = "cycode.cli.app:app"
@@ -38,13 +38,12 @@ colorama = ">=0.4.3,<0.5.0"
38
38
  pyyaml = ">=6.0,<7.0"
39
39
  marshmallow = ">=3.15.0,<4.0.0"
40
40
  gitpython = ">=3.1.30,<3.2.0"
41
- arrow = ">=1.0.0,<1.4.0"
42
- binaryornot = ">=0.4.4,<0.5.0"
41
+ arrow = ">=1.0.0,<1.5.0"
43
42
  requests = ">=2.32.4,<3.0"
44
43
  urllib3 = ">=2.4.0,<3.0.0"
45
44
  pyjwt = ">=2.8.0,<3.0"
46
45
  rich = ">=13.9.4, <14"
47
- patch-ng = "1.18.1"
46
+ patch-ng = "1.19.0"
48
47
  typer = "^0.15.3"
49
48
  tenacity = ">=9.0.0,<9.1.0"
50
49
  mcp = { version = ">=1.9.3,<2.0.0", markers = "python_version >= '3.10'" }
@@ -56,12 +55,12 @@ mock = ">=4.0.3,<4.1.0"
56
55
  pytest = ">=7.3.1,<7.4.0"
57
56
  pytest-mock = ">=3.10.0,<3.11.0"
58
57
  coverage = ">=7.2.3,<7.3.0"
59
- responses = ">=0.23.1,<0.24.0"
60
- pyfakefs = ">=5.7.2,<5.8.0"
58
+ responses = ">=0.23.1,<0.27.0"
59
+ pyfakefs = ">=5.7.2,<5.11.0"
61
60
 
62
61
  [tool.poetry.group.executable.dependencies]
63
62
  pyinstaller = {version=">=6.0.0,<7.0.0", python=">=3.9,<3.15"}
64
- dunamai = ">=1.18.0,<1.22.0"
63
+ dunamai = ">=1.18.0,<1.27.0"
65
64
 
66
65
  [tool.poetry.group.dev.dependencies]
67
66
  ruff = "0.11.7"
@@ -1 +0,0 @@
1
- __version__ = '3.11.1' # DON'T TOUCH. Placeholder. Will be filled automatically on poetry build from Git Tag
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes