cycode 3.11.1.dev1__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.dev1 → 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.dev1 → cycode-3.11.2}/cycode/cli/utils/path_utils.py +1 -1
  5. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/utils/string_utils.py +1 -2
  6. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/logger.py +0 -2
  7. {cycode-3.11.1.dev1 → cycode-3.11.2}/pyproject.toml +6 -7
  8. cycode-3.11.1.dev1/cycode/__init__.py +0 -1
  9. {cycode-3.11.1.dev1 → cycode-3.11.2}/LICENCE +0 -0
  10. {cycode-3.11.1.dev1 → cycode-3.11.2}/README.md +0 -0
  11. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/__main__.py +0 -0
  12. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/__init__.py +0 -0
  13. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/app.py +0 -0
  14. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/__init__.py +0 -0
  15. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/ai_guardrails/__init__.py +0 -0
  16. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/ai_guardrails/command_utils.py +0 -0
  17. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/ai_guardrails/consts.py +0 -0
  18. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/ai_guardrails/hooks_manager.py +0 -0
  19. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/ai_guardrails/install_command.py +0 -0
  20. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/ai_guardrails/scan/__init__.py +0 -0
  21. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/ai_guardrails/scan/consts.py +0 -0
  22. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/ai_guardrails/scan/handlers.py +0 -0
  23. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/ai_guardrails/scan/payload.py +0 -0
  24. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/ai_guardrails/scan/policy.py +0 -0
  25. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/ai_guardrails/scan/response_builders.py +0 -0
  26. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/ai_guardrails/scan/scan_command.py +0 -0
  27. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/ai_guardrails/scan/types.py +0 -0
  28. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/ai_guardrails/scan/utils.py +0 -0
  29. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/ai_guardrails/status_command.py +0 -0
  30. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/ai_guardrails/uninstall_command.py +0 -0
  31. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/ai_remediation/__init__.py +0 -0
  32. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/ai_remediation/ai_remediation_command.py +0 -0
  33. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/ai_remediation/apply_fix.py +0 -0
  34. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/ai_remediation/print_remediation.py +0 -0
  35. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/auth/__init__.py +0 -0
  36. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/auth/auth_command.py +0 -0
  37. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/auth/auth_common.py +0 -0
  38. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/auth/auth_manager.py +0 -0
  39. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/auth/models.py +0 -0
  40. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/configure/__init__.py +0 -0
  41. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/configure/configure_command.py +0 -0
  42. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/configure/consts.py +0 -0
  43. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/configure/messages.py +0 -0
  44. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/configure/prompts.py +0 -0
  45. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/ignore/__init__.py +0 -0
  46. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/ignore/ignore_command.py +0 -0
  47. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/mcp/__init__.py +0 -0
  48. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/mcp/mcp_command.py +0 -0
  49. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/report/__init__.py +0 -0
  50. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/report/report_command.py +0 -0
  51. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/report/sbom/__init__.py +0 -0
  52. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/report/sbom/common.py +0 -0
  53. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/report/sbom/path/__init__.py +0 -0
  54. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/report/sbom/path/path_command.py +0 -0
  55. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/report/sbom/repository_url/__init__.py +0 -0
  56. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/report/sbom/repository_url/repository_url_command.py +0 -0
  57. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/report/sbom/sbom_command.py +0 -0
  58. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/report/sbom/sbom_report_file.py +0 -0
  59. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/report_import/__init__.py +0 -0
  60. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/report_import/report_import_command.py +0 -0
  61. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/report_import/sbom/__init__.py +0 -0
  62. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/report_import/sbom/sbom_command.py +0 -0
  63. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/sca_options.py +0 -0
  64. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/scan/__init__.py +0 -0
  65. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/scan/aggregation_report.py +0 -0
  66. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/scan/code_scanner.py +0 -0
  67. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/scan/commit_history/__init__.py +0 -0
  68. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/scan/commit_history/commit_history_command.py +0 -0
  69. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/scan/commit_range_scanner.py +0 -0
  70. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/scan/detection_excluder.py +0 -0
  71. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/scan/path/__init__.py +0 -0
  72. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/scan/path/path_command.py +0 -0
  73. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/scan/pre_commit/__init__.py +0 -0
  74. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/scan/pre_commit/pre_commit_command.py +0 -0
  75. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/scan/pre_push/__init__.py +0 -0
  76. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/scan/pre_push/pre_push_command.py +0 -0
  77. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/scan/pre_receive/__init__.py +0 -0
  78. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/scan/pre_receive/pre_receive_command.py +0 -0
  79. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/scan/remote_url_resolver.py +0 -0
  80. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/scan/repository/__init__.py +0 -0
  81. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/scan/repository/repository_command.py +0 -0
  82. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/scan/scan_ci/__init__.py +0 -0
  83. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/scan/scan_ci/ci_integrations.py +0 -0
  84. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/scan/scan_ci/scan_ci_command.py +0 -0
  85. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/scan/scan_command.py +0 -0
  86. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/scan/scan_parameters.py +0 -0
  87. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/scan/scan_result.py +0 -0
  88. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/status/__init__.py +0 -0
  89. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/status/get_cli_status.py +0 -0
  90. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/status/models.py +0 -0
  91. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/status/status_command.py +0 -0
  92. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/apps/status/version_command.py +0 -0
  93. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/cli_types.py +0 -0
  94. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/config.py +0 -0
  95. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/console.py +0 -0
  96. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/consts.py +0 -0
  97. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/exceptions/__init__.py +0 -0
  98. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/exceptions/custom_exceptions.py +0 -0
  99. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/exceptions/handle_ai_remediation_errors.py +0 -0
  100. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/exceptions/handle_auth_errors.py +0 -0
  101. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/exceptions/handle_errors.py +0 -0
  102. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/exceptions/handle_report_sbom_errors.py +0 -0
  103. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/exceptions/handle_scan_errors.py +0 -0
  104. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/files_collector/__init__.py +0 -0
  105. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/files_collector/commit_range_documents.py +0 -0
  106. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/files_collector/documents_walk_ignore.py +0 -0
  107. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/files_collector/file_excluder.py +0 -0
  108. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/files_collector/iac/__init__.py +0 -0
  109. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/files_collector/iac/tf_content_generator.py +0 -0
  110. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/files_collector/models/__init__.py +0 -0
  111. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/files_collector/models/in_memory_zip.py +0 -0
  112. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/files_collector/path_documents.py +0 -0
  113. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/files_collector/repository_documents.py +0 -0
  114. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/files_collector/sca/__init__.py +0 -0
  115. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/files_collector/sca/base_restore_dependencies.py +0 -0
  116. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/files_collector/sca/go/__init__.py +0 -0
  117. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/files_collector/sca/go/restore_go_dependencies.py +0 -0
  118. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/files_collector/sca/maven/__init__.py +0 -0
  119. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/files_collector/sca/maven/restore_gradle_dependencies.py +0 -0
  120. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/files_collector/sca/maven/restore_maven_dependencies.py +0 -0
  121. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/files_collector/sca/npm/__init__.py +0 -0
  122. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/files_collector/sca/npm/restore_deno_dependencies.py +0 -0
  123. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/files_collector/sca/npm/restore_npm_dependencies.py +0 -0
  124. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/files_collector/sca/npm/restore_pnpm_dependencies.py +0 -0
  125. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/files_collector/sca/npm/restore_yarn_dependencies.py +0 -0
  126. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/files_collector/sca/nuget/__init__.py +0 -0
  127. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/files_collector/sca/nuget/restore_nuget_dependencies.py +0 -0
  128. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/files_collector/sca/php/__init__.py +0 -0
  129. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/files_collector/sca/php/restore_composer_dependencies.py +0 -0
  130. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/files_collector/sca/python/__init__.py +0 -0
  131. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/files_collector/sca/python/restore_pipenv_dependencies.py +0 -0
  132. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/files_collector/sca/python/restore_poetry_dependencies.py +0 -0
  133. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/files_collector/sca/ruby/__init__.py +0 -0
  134. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/files_collector/sca/ruby/restore_ruby_dependencies.py +0 -0
  135. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/files_collector/sca/sbt/__init__.py +0 -0
  136. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/files_collector/sca/sbt/restore_sbt_dependencies.py +0 -0
  137. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/files_collector/sca/sca_file_collector.py +0 -0
  138. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/files_collector/walk_ignore.py +0 -0
  139. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/files_collector/zip_documents.py +0 -0
  140. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/logger.py +0 -0
  141. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/main.py +0 -0
  142. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/models.py +0 -0
  143. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/printers/__init__.py +0 -0
  144. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/printers/console_printer.py +0 -0
  145. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/printers/json_printer.py +0 -0
  146. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/printers/printer_base.py +0 -0
  147. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/printers/rich_printer.py +0 -0
  148. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/printers/tables/__init__.py +0 -0
  149. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/printers/tables/sca_table_printer.py +0 -0
  150. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/printers/tables/table.py +0 -0
  151. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/printers/tables/table_models.py +0 -0
  152. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/printers/tables/table_printer.py +0 -0
  153. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/printers/tables/table_printer_base.py +0 -0
  154. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/printers/text_printer.py +0 -0
  155. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/printers/utils/__init__.py +0 -0
  156. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/printers/utils/code_snippet_syntax.py +0 -0
  157. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/printers/utils/detection_data.py +0 -0
  158. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/printers/utils/detection_ordering/__init__.py +0 -0
  159. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/printers/utils/detection_ordering/common_ordering.py +0 -0
  160. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/printers/utils/detection_ordering/sca_ordering.py +0 -0
  161. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/printers/utils/rich_helpers.py +0 -0
  162. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/user_settings/__init__.py +0 -0
  163. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/user_settings/base_file_manager.py +0 -0
  164. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/user_settings/config_file_manager.py +0 -0
  165. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/user_settings/configuration_manager.py +0 -0
  166. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/user_settings/credentials_manager.py +0 -0
  167. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/user_settings/jwt_creator.py +0 -0
  168. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/utils/__init__.py +0 -0
  169. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/utils/enum_utils.py +0 -0
  170. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/utils/get_api_client.py +0 -0
  171. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/utils/git_proxy.py +0 -0
  172. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/utils/ignore_utils.py +0 -0
  173. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/utils/jwt_utils.py +0 -0
  174. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/utils/progress_bar.py +0 -0
  175. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/utils/scan_batch.py +0 -0
  176. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/utils/scan_utils.py +0 -0
  177. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/utils/shell_executor.py +0 -0
  178. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/utils/task_timer.py +0 -0
  179. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/utils/url_utils.py +0 -0
  180. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/utils/version_checker.py +0 -0
  181. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cli/utils/yaml_utils.py +0 -0
  182. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/config.py +0 -0
  183. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cyclient/__init__.py +0 -0
  184. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cyclient/ai_security_manager_client.py +0 -0
  185. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cyclient/ai_security_manager_service_config.py +0 -0
  186. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cyclient/auth_client.py +0 -0
  187. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cyclient/base_token_auth_client.py +0 -0
  188. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cyclient/client_creator.py +0 -0
  189. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cyclient/config.py +0 -0
  190. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cyclient/config_dev.py +0 -0
  191. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cyclient/cycode_client.py +0 -0
  192. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cyclient/cycode_client_base.py +0 -0
  193. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cyclient/cycode_dev_based_client.py +0 -0
  194. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cyclient/cycode_oidc_based_client.py +0 -0
  195. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cyclient/cycode_token_based_client.py +0 -0
  196. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cyclient/headers.py +0 -0
  197. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cyclient/import_sbom_client.py +0 -0
  198. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cyclient/logger.py +0 -0
  199. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cyclient/models.py +0 -0
  200. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cyclient/report_client.py +0 -0
  201. {cycode-3.11.1.dev1 → cycode-3.11.2}/cycode/cyclient/scan_client.py +0 -0
  202. {cycode-3.11.1.dev1 → 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.dev1
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.dev1"
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.dev1' # 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