cycode 3.11.1.dev1__tar.gz → 3.11.2.dev2__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.
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/PKG-INFO +1 -2
- cycode-3.11.2.dev2/cycode/__init__.py +1 -0
- cycode-3.11.2.dev2/cycode/cli/utils/binary_utils.py +72 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/utils/path_utils.py +1 -1
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/utils/string_utils.py +1 -2
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/logger.py +0 -2
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/pyproject.toml +1 -2
- cycode-3.11.1.dev1/cycode/__init__.py +0 -1
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/LICENCE +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/README.md +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/__main__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/app.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/ai_guardrails/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/ai_guardrails/command_utils.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/ai_guardrails/consts.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/ai_guardrails/hooks_manager.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/ai_guardrails/install_command.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/ai_guardrails/scan/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/ai_guardrails/scan/consts.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/ai_guardrails/scan/handlers.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/ai_guardrails/scan/payload.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/ai_guardrails/scan/policy.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/ai_guardrails/scan/response_builders.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/ai_guardrails/scan/scan_command.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/ai_guardrails/scan/types.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/ai_guardrails/scan/utils.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/ai_guardrails/status_command.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/ai_guardrails/uninstall_command.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/ai_remediation/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/ai_remediation/ai_remediation_command.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/ai_remediation/apply_fix.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/ai_remediation/print_remediation.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/auth/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/auth/auth_command.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/auth/auth_common.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/auth/auth_manager.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/auth/models.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/configure/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/configure/configure_command.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/configure/consts.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/configure/messages.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/configure/prompts.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/ignore/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/ignore/ignore_command.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/mcp/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/mcp/mcp_command.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/report/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/report/report_command.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/report/sbom/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/report/sbom/common.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/report/sbom/path/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/report/sbom/path/path_command.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/report/sbom/repository_url/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/report/sbom/repository_url/repository_url_command.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/report/sbom/sbom_command.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/report/sbom/sbom_report_file.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/report_import/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/report_import/report_import_command.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/report_import/sbom/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/report_import/sbom/sbom_command.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/sca_options.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/scan/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/scan/aggregation_report.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/scan/code_scanner.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/scan/commit_history/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/scan/commit_history/commit_history_command.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/scan/commit_range_scanner.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/scan/detection_excluder.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/scan/path/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/scan/path/path_command.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/scan/pre_commit/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/scan/pre_commit/pre_commit_command.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/scan/pre_push/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/scan/pre_push/pre_push_command.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/scan/pre_receive/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/scan/pre_receive/pre_receive_command.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/scan/remote_url_resolver.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/scan/repository/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/scan/repository/repository_command.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/scan/scan_ci/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/scan/scan_ci/ci_integrations.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/scan/scan_ci/scan_ci_command.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/scan/scan_command.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/scan/scan_parameters.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/scan/scan_result.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/status/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/status/get_cli_status.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/status/models.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/status/status_command.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/status/version_command.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/cli_types.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/config.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/console.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/consts.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/exceptions/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/exceptions/custom_exceptions.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/exceptions/handle_ai_remediation_errors.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/exceptions/handle_auth_errors.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/exceptions/handle_errors.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/exceptions/handle_report_sbom_errors.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/exceptions/handle_scan_errors.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/commit_range_documents.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/documents_walk_ignore.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/file_excluder.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/iac/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/iac/tf_content_generator.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/models/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/models/in_memory_zip.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/path_documents.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/repository_documents.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/sca/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/sca/base_restore_dependencies.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/sca/go/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/sca/go/restore_go_dependencies.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/sca/maven/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/sca/maven/restore_gradle_dependencies.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/sca/maven/restore_maven_dependencies.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/sca/npm/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/sca/npm/restore_deno_dependencies.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/sca/npm/restore_npm_dependencies.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/sca/npm/restore_pnpm_dependencies.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/sca/npm/restore_yarn_dependencies.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/sca/nuget/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/sca/nuget/restore_nuget_dependencies.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/sca/php/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/sca/php/restore_composer_dependencies.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/sca/python/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/sca/python/restore_pipenv_dependencies.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/sca/python/restore_poetry_dependencies.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/sca/ruby/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/sca/ruby/restore_ruby_dependencies.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/sca/sbt/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/sca/sbt/restore_sbt_dependencies.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/sca/sca_file_collector.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/walk_ignore.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/zip_documents.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/logger.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/main.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/models.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/printers/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/printers/console_printer.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/printers/json_printer.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/printers/printer_base.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/printers/rich_printer.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/printers/tables/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/printers/tables/sca_table_printer.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/printers/tables/table.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/printers/tables/table_models.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/printers/tables/table_printer.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/printers/tables/table_printer_base.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/printers/text_printer.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/printers/utils/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/printers/utils/code_snippet_syntax.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/printers/utils/detection_data.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/printers/utils/detection_ordering/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/printers/utils/detection_ordering/common_ordering.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/printers/utils/detection_ordering/sca_ordering.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/printers/utils/rich_helpers.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/user_settings/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/user_settings/base_file_manager.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/user_settings/config_file_manager.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/user_settings/configuration_manager.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/user_settings/credentials_manager.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/user_settings/jwt_creator.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/utils/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/utils/enum_utils.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/utils/get_api_client.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/utils/git_proxy.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/utils/ignore_utils.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/utils/jwt_utils.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/utils/progress_bar.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/utils/scan_batch.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/utils/scan_utils.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/utils/shell_executor.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/utils/task_timer.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/utils/url_utils.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/utils/version_checker.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/utils/yaml_utils.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/config.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cyclient/__init__.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cyclient/ai_security_manager_client.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cyclient/ai_security_manager_service_config.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cyclient/auth_client.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cyclient/base_token_auth_client.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cyclient/client_creator.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cyclient/config.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cyclient/config_dev.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cyclient/cycode_client.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cyclient/cycode_client_base.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cyclient/cycode_dev_based_client.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cyclient/cycode_oidc_based_client.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cyclient/cycode_token_based_client.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cyclient/headers.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cyclient/import_sbom_client.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cyclient/logger.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cyclient/models.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cyclient/report_client.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cyclient/scan_client.py +0 -0
- {cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/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.
|
|
3
|
+
Version: 3.11.2.dev2
|
|
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
|
|
@@ -21,7 +21,6 @@ Classifier: Programming Language :: Python :: 3.12
|
|
|
21
21
|
Classifier: Programming Language :: Python :: 3.13
|
|
22
22
|
Classifier: Programming Language :: Python :: 3.14
|
|
23
23
|
Requires-Dist: arrow (>=1.0.0,<1.4.0)
|
|
24
|
-
Requires-Dist: binaryornot (>=0.4.4,<0.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)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = '3.11.2.dev2' # 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.
|
|
24
|
+
version = "3.11.2.dev2"
|
|
25
25
|
|
|
26
26
|
[project.scripts]
|
|
27
27
|
cycode = "cycode.cli.app:app"
|
|
@@ -39,7 +39,6 @@ pyyaml = ">=6.0,<7.0"
|
|
|
39
39
|
marshmallow = ">=3.15.0,<4.0.0"
|
|
40
40
|
gitpython = ">=3.1.30,<3.2.0"
|
|
41
41
|
arrow = ">=1.0.0,<1.4.0"
|
|
42
|
-
binaryornot = ">=0.4.4,<0.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"
|
|
@@ -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
|
|
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
|
{cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/ai_guardrails/scan/response_builders.py
RENAMED
|
File without changes
|
{cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/ai_guardrails/scan/scan_command.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/ai_guardrails/uninstall_command.py
RENAMED
|
File without changes
|
|
File without changes
|
{cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/ai_remediation/ai_remediation_command.py
RENAMED
|
File without changes
|
|
File without changes
|
{cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/ai_remediation/print_remediation.py
RENAMED
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/report/sbom/repository_url/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/report_import/report_import_command.py
RENAMED
|
File without changes
|
|
File without changes
|
{cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/report_import/sbom/sbom_command.py
RENAMED
|
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
|
{cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/scan/pre_commit/pre_commit_command.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/scan/pre_receive/pre_receive_command.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/apps/scan/repository/repository_command.py
RENAMED
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/exceptions/handle_ai_remediation_errors.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/exceptions/handle_report_sbom_errors.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/commit_range_documents.py
RENAMED
|
File without changes
|
{cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/documents_walk_ignore.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/iac/tf_content_generator.py
RENAMED
|
File without changes
|
|
File without changes
|
{cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/models/in_memory_zip.py
RENAMED
|
File without changes
|
|
File without changes
|
{cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/repository_documents.py
RENAMED
|
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
|
|
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
|
{cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/files_collector/sca/sca_file_collector.py
RENAMED
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cli/printers/utils/detection_ordering/__init__.py
RENAMED
|
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
|
|
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
|
|
File without changes
|
{cycode-3.11.1.dev1 → cycode-3.11.2.dev2}/cycode/cyclient/ai_security_manager_service_config.py
RENAMED
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|