cycode 3.17.3.dev3__tar.gz → 3.17.3.dev5__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.17.3.dev3 → cycode-3.17.3.dev5}/PKG-INFO +1 -1
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/__init__.py +1 -1
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/ai_guardrails/ides/base.py +9 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/ai_guardrails/ides/claude_code.py +10 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/ai_guardrails/scan/handlers.py +6 -1
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/ai_guardrails/scan/scan_command.py +8 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/file_excluder.py +2 -2
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/pyproject.toml +1 -1
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/LICENCE +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/README.md +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/__main__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/app.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/activation_manager.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/ai_guardrails/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/ai_guardrails/command_utils.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/ai_guardrails/consts.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/ai_guardrails/hooks_manager.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/ai_guardrails/ides/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/ai_guardrails/ides/_plugin_utils.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/ai_guardrails/ides/codex.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/ai_guardrails/ides/copilot.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/ai_guardrails/ides/cursor.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/ai_guardrails/install_command.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/ai_guardrails/scan/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/ai_guardrails/scan/consts.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/ai_guardrails/scan/payload.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/ai_guardrails/scan/policy.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/ai_guardrails/scan/types.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/ai_guardrails/scan/utils.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/ai_guardrails/session_start_command.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/ai_guardrails/status_command.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/ai_guardrails/uninstall_command.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/ai_remediation/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/ai_remediation/ai_remediation_command.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/ai_remediation/apply_fix.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/ai_remediation/print_remediation.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/api/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/api/api_command.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/api/openapi_spec.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/auth/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/auth/auth_command.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/auth/auth_common.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/auth/auth_manager.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/auth/models.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/configure/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/configure/configure_command.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/configure/consts.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/configure/messages.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/configure/prompts.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/ignore/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/ignore/ignore_command.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/mcp/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/mcp/mcp_command.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/report/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/report/report_command.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/report/sbom/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/report/sbom/common.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/report/sbom/path/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/report/sbom/path/path_command.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/report/sbom/repository_url/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/report/sbom/repository_url/repository_url_command.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/report/sbom/sbom_command.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/report/sbom/sbom_report_file.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/report_import/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/report_import/report_import_command.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/report_import/sbom/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/report_import/sbom/sbom_command.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/sca_options.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/scan/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/scan/aggregation_report.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/scan/code_scanner.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/scan/commit_history/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/scan/commit_history/commit_history_command.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/scan/commit_range_scanner.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/scan/detection_excluder.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/scan/path/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/scan/path/path_command.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/scan/pre_commit/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/scan/pre_commit/pre_commit_command.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/scan/pre_push/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/scan/pre_push/pre_push_command.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/scan/pre_receive/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/scan/pre_receive/pre_receive_command.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/scan/remote_url_resolver.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/scan/repository/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/scan/repository/repository_command.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/scan/scan_ci/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/scan/scan_ci/ci_integrations.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/scan/scan_ci/scan_ci_command.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/scan/scan_command.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/scan/scan_parameters.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/scan/scan_result.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/status/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/status/get_cli_status.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/status/models.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/status/status_command.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/status/version_command.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/cli_types.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/config.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/console.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/consts.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/exceptions/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/exceptions/custom_exceptions.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/exceptions/handle_ai_remediation_errors.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/exceptions/handle_auth_errors.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/exceptions/handle_errors.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/exceptions/handle_report_sbom_errors.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/exceptions/handle_scan_errors.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/commit_range_documents.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/documents_walk_ignore.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/iac/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/iac/tf_content_generator.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/models/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/models/in_memory_zip.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/path_documents.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/repository_documents.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/sca/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/sca/base_restore_dependencies.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/sca/go/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/sca/go/restore_go_dependencies.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/sca/maven/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/sca/maven/restore_gradle_dependencies.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/sca/maven/restore_maven_dependencies.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/sca/npm/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/sca/npm/restore_bun_dependencies.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/sca/npm/restore_deno_dependencies.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/sca/npm/restore_npm_dependencies.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/sca/npm/restore_pnpm_dependencies.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/sca/npm/restore_yarn_dependencies.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/sca/nuget/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/sca/nuget/restore_nuget_dependencies.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/sca/php/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/sca/php/restore_composer_dependencies.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/sca/python/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/sca/python/restore_pipenv_dependencies.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/sca/python/restore_poetry_dependencies.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/sca/python/restore_uv_dependencies.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/sca/ruby/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/sca/ruby/restore_ruby_dependencies.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/sca/sbt/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/sca/sbt/restore_sbt_dependencies.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/sca/sca_file_collector.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/walk_ignore.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/zip_documents.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/logger.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/main.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/models.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/printers/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/printers/console_printer.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/printers/json_printer.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/printers/printer_base.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/printers/rich_printer.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/printers/tables/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/printers/tables/sca_table_printer.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/printers/tables/table.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/printers/tables/table_models.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/printers/tables/table_printer.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/printers/tables/table_printer_base.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/printers/text_printer.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/printers/utils/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/printers/utils/code_snippet_syntax.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/printers/utils/detection_data.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/printers/utils/detection_ordering/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/printers/utils/detection_ordering/common_ordering.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/printers/utils/detection_ordering/sca_ordering.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/printers/utils/rich_helpers.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/user_settings/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/user_settings/base_file_manager.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/user_settings/config_file_manager.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/user_settings/configuration_manager.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/user_settings/credentials_manager.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/user_settings/jwt_creator.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/utils/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/utils/binary_utils.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/utils/enum_utils.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/utils/get_api_client.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/utils/git_proxy.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/utils/host_info.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/utils/ignore_utils.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/utils/jwt_utils.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/utils/path_utils.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/utils/progress_bar.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/utils/scan_batch.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/utils/scan_utils.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/utils/shell_executor.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/utils/string_utils.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/utils/task_timer.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/utils/url_utils.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/utils/version_checker.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/utils/yaml_utils.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/config.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cyclient/__init__.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cyclient/ai_security_manager_client.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cyclient/ai_security_manager_service_config.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cyclient/auth_client.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cyclient/base_token_auth_client.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cyclient/cli_activation_client.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cyclient/client_creator.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cyclient/config.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cyclient/config_dev.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cyclient/cycode_client.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cyclient/cycode_client_base.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cyclient/cycode_dev_based_client.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cyclient/cycode_oidc_based_client.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cyclient/cycode_token_based_client.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cyclient/headers.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cyclient/import_sbom_client.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cyclient/logger.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cyclient/models.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cyclient/report_client.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cyclient/scan_client.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cyclient/scan_config_base.py +0 -0
- {cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/logger.py +0 -0
|
@@ -5,4 +5,4 @@ import time as _time
|
|
|
5
5
|
# end-to-end scan duration from the moment the user actually triggered it.
|
|
6
6
|
_BOOT_WALL: float = _time.time()
|
|
7
7
|
|
|
8
|
-
__version__ = '3.17.3.
|
|
8
|
+
__version__ = '3.17.3.dev5' # DON'T TOUCH. Placeholder. Will be filled automatically on poetry build from Git Tag
|
|
@@ -157,6 +157,15 @@ class IDE(ABC):
|
|
|
157
157
|
event (e.g. Cursor reading Claude Code hooks from ~/.claude/settings.json).
|
|
158
158
|
"""
|
|
159
159
|
|
|
160
|
+
def is_synthetic_prompt(self, raw_payload: dict) -> bool:
|
|
161
|
+
"""Return True when a prompt event carries IDE/harness-generated content
|
|
162
|
+
rather than text the user typed.
|
|
163
|
+
|
|
164
|
+
Synthetic prompts are skipped without scanning or telemetry.
|
|
165
|
+
Default: False. Override for IDEs that inject synthetic user turns.
|
|
166
|
+
"""
|
|
167
|
+
return False
|
|
168
|
+
|
|
160
169
|
@abstractmethod
|
|
161
170
|
def parse_hook_payload(self, raw_payload: dict) -> AIHookPayload:
|
|
162
171
|
"""Normalize a raw stdin payload into the canonical ``AIHookPayload``."""
|
|
@@ -22,6 +22,10 @@ logger = get_logger('AI Guardrails Claude Code')
|
|
|
22
22
|
|
|
23
23
|
_CLAUDE_CODE_EVENT_NAMES = frozenset({'UserPromptSubmit', 'PreToolUse'})
|
|
24
24
|
|
|
25
|
+
# When a fork/subagent completes, the harness injects its result into the parent
|
|
26
|
+
# session as a synthetic user turn, which fires UserPromptSubmit.
|
|
27
|
+
_SYNTHETIC_PROMPT_PREFIXES = ('<task-notification>',)
|
|
28
|
+
|
|
25
29
|
_USER_HOOKS_DIR = Path.home() / '.claude'
|
|
26
30
|
_HOOKS_FILE_NAME = 'settings.json'
|
|
27
31
|
_REPO_SUBDIR = '.claude'
|
|
@@ -284,6 +288,12 @@ class ClaudeCode(IDE):
|
|
|
284
288
|
# processed as Claude Code events.
|
|
285
289
|
return raw_payload.get('hook_event_name', '') in _CLAUDE_CODE_EVENT_NAMES and 'transcript_path' in raw_payload
|
|
286
290
|
|
|
291
|
+
def is_synthetic_prompt(self, raw_payload: dict) -> bool:
|
|
292
|
+
if raw_payload.get('hook_event_name') != 'UserPromptSubmit':
|
|
293
|
+
return False
|
|
294
|
+
prompt = raw_payload.get('prompt') or ''
|
|
295
|
+
return prompt.lstrip().startswith(_SYNTHETIC_PROMPT_PREFIXES)
|
|
296
|
+
|
|
287
297
|
def parse_hook_payload(self, raw_payload: dict) -> AIHookPayload:
|
|
288
298
|
hook_event_name = raw_payload.get('hook_event_name', '')
|
|
289
299
|
tool_name = raw_payload.get('tool_name', '')
|
|
@@ -26,6 +26,7 @@ from cycode.cli.apps.ai_guardrails.scan.utils import is_denied_path, truncate_ut
|
|
|
26
26
|
from cycode.cli.apps.scan.code_scanner import _get_scan_documents_thread_func
|
|
27
27
|
from cycode.cli.apps.scan.scan_parameters import get_scan_parameters
|
|
28
28
|
from cycode.cli.cli_types import ScanTypeOption, SeverityOption
|
|
29
|
+
from cycode.cli.files_collector.file_excluder import is_path_configured_in_exclusions
|
|
29
30
|
from cycode.cli.models import Document
|
|
30
31
|
from cycode.cli.utils.progress_bar import DummyProgressBar, ScanProgressBarSection
|
|
31
32
|
from cycode.cli.utils.scan_utils import build_violation_summary
|
|
@@ -337,7 +338,7 @@ def _perform_scan(
|
|
|
337
338
|
|
|
338
339
|
scan_id = local_scan_result.scan_id
|
|
339
340
|
|
|
340
|
-
if local_scan_result.
|
|
341
|
+
if local_scan_result.issue_detected:
|
|
341
342
|
violation_summary = build_violation_summary([local_scan_result])
|
|
342
343
|
return violation_summary, scan_id
|
|
343
344
|
|
|
@@ -360,6 +361,10 @@ def _scan_path_for_secrets(ctx: typer.Context, file_path: str, policy: dict) ->
|
|
|
360
361
|
if not file_path or not os.path.isfile(file_path):
|
|
361
362
|
return None, None
|
|
362
363
|
|
|
364
|
+
if is_path_configured_in_exclusions(str(ScanTypeOption.SECRET), os.path.abspath(file_path)):
|
|
365
|
+
logger.debug('Skipping scan; the path is in the ignore paths list, %s', {'file_path': file_path})
|
|
366
|
+
return None, None
|
|
367
|
+
|
|
363
368
|
max_bytes = get_policy_value(policy, 'secrets', 'max_bytes', default=200000)
|
|
364
369
|
|
|
365
370
|
with open(file_path, encoding='utf-8', errors='replace') as f:
|
{cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/ai_guardrails/scan/scan_command.py
RENAMED
|
@@ -116,6 +116,14 @@ def scan_command(
|
|
|
116
116
|
output_json(ide_integration.build_hook_response(HookDecision.allow(AiHookEventType.PROMPT)))
|
|
117
117
|
return
|
|
118
118
|
|
|
119
|
+
# Fork/subagent completions arrive as synthetic user turns (e.g. Claude Code's
|
|
120
|
+
# <task-notification>); they are agent-generated, not user prompts - skip before
|
|
121
|
+
# parse_hook_payload, which reads the transcript and IDE config from disk.
|
|
122
|
+
if ide_integration.is_synthetic_prompt(payload):
|
|
123
|
+
logger.debug('Synthetic prompt detected, skipping scan')
|
|
124
|
+
output_json(ide_integration.build_hook_response(HookDecision.allow(AiHookEventType.PROMPT)))
|
|
125
|
+
return
|
|
126
|
+
|
|
119
127
|
unified_payload = ide_integration.parse_hook_payload(payload)
|
|
120
128
|
event_name = unified_payload.event_name
|
|
121
129
|
logger.debug(
|
|
@@ -25,7 +25,7 @@ def _is_subpath_of_cycode_configuration_folder(filename: str) -> bool:
|
|
|
25
25
|
)
|
|
26
26
|
|
|
27
27
|
|
|
28
|
-
def
|
|
28
|
+
def is_path_configured_in_exclusions(scan_type: str, file_path: str) -> bool:
|
|
29
29
|
exclusions_by_path = configuration_manager.get_exclusions_by_scan_type(scan_type).get(
|
|
30
30
|
consts.EXCLUSIONS_BY_PATH_SECTION_NAME, []
|
|
31
31
|
)
|
|
@@ -106,7 +106,7 @@ class Excluder:
|
|
|
106
106
|
)
|
|
107
107
|
return False
|
|
108
108
|
|
|
109
|
-
if
|
|
109
|
+
if is_path_configured_in_exclusions(scan_type, filename):
|
|
110
110
|
logger.debug(
|
|
111
111
|
'The document is irrelevant because its path is in the ignore paths list, %s', {'filename': filename}
|
|
112
112
|
)
|
|
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.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/ai_guardrails/ides/_plugin_utils.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
|
{cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/ai_guardrails/session_start_command.py
RENAMED
|
File without changes
|
|
File without changes
|
{cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/ai_guardrails/uninstall_command.py
RENAMED
|
File without changes
|
|
File without changes
|
{cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/ai_remediation/ai_remediation_command.py
RENAMED
|
File without changes
|
|
File without changes
|
{cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/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.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/report_import/report_import_command.py
RENAMED
|
File without changes
|
|
File without changes
|
{cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/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.17.3.dev3 → cycode-3.17.3.dev5}/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.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/apps/scan/pre_receive/pre_receive_command.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/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.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/exceptions/handle_ai_remediation_errors.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/exceptions/handle_report_sbom_errors.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/commit_range_documents.py
RENAMED
|
File without changes
|
{cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/documents_walk_ignore.py
RENAMED
|
File without changes
|
|
File without changes
|
{cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/iac/tf_content_generator.py
RENAMED
|
File without changes
|
|
File without changes
|
{cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/cycode/cli/files_collector/models/in_memory_zip.py
RENAMED
|
File without changes
|
|
File without changes
|
{cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/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
|
|
File without changes
|
|
File without changes
|
{cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/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.17.3.dev3 → cycode-3.17.3.dev5}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cycode-3.17.3.dev3 → cycode-3.17.3.dev5}/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
|
|
File without changes
|
|
File without changes
|