Secure, Fast, and Extensible Sandbox runtime for AI agents.
This report presents the forensic synthetic code analysis of opensandbox-group/OpenSandbox, a Python project with 12,003 GitHub stars. SynthScan v2.0 examined 361,285 lines of code across 1750 source files, recording 5651 pattern matches distributed across 23 syntactic categories. The overall adjusted score of 22.7 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 5651 distinct pattern matches across 23 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …python/tests/test_code_service_adapter_sync_headers.py | 22 | def test_sync_adapter_merges_endpoint_headers_into_both_clients() -> None: | CODE |
| LOW | …python/tests/test_code_service_adapter_sync_headers.py | 37 | def test_sync_adapter_endpoint_headers_override_connection_headers() -> None: | CODE |
| LOW | …er/python/tests/test_code_service_adapter_streaming.py | 81 | def test_code_execution_converter_includes_context() -> None: | CODE |
| LOW | …er/python/tests/test_code_service_adapter_streaming.py | 90 | async def test_run_code_streaming_happy_path_updates_execution() -> None: | CODE |
| LOW | …er/python/tests/test_code_service_adapter_streaming.py | 101 | async def test_run_code_streaming_merges_endpoint_headers() -> None: | CODE |
| LOW | …er/python/tests/test_code_service_adapter_streaming.py | 125 | async def test_run_code_can_accept_language_string_without_context() -> None: | CODE |
| LOW | …er/python/tests/test_code_service_adapter_streaming.py | 136 | async def test_run_code_rejects_blank_code() -> None: | CODE |
| LOW | …er/python/tests/test_code_service_adapter_streaming.py | 146 | async def test_run_code_rejects_mismatched_language_and_context() -> None: | CODE |
| LOW | …ython/tests/test_code_service_adapter_openapi_calls.py | 32 | async def test_create_context_uses_openapi_and_converts(monkeypatch: pytest.MonkeyPatch) -> None: | CODE |
| LOW | …ython/tests/test_code_service_adapter_openapi_calls.py | 54 | async def test_interrupt_calls_openapi(monkeypatch: pytest.MonkeyPatch) -> None: | CODE |
| LOW | …de-interpreter/python/tests/test_adapter_eager_init.py | 24 | async def test_code_service_eager_init_and_client_available() -> None: | CODE |
| LOW | …de-interpreter/python/tests/test_adapter_eager_init.py | 34 | async def test_code_service_eager_init_merges_endpoint_headers() -> None: | CODE |
| LOW | …n/tests/test_code_interpreter_create_and_delegation.py | 53 | async def test_create_requires_sandbox() -> None: | CODE |
| LOW | …n/tests/test_code_interpreter_create_and_delegation.py | 59 | async def test_create_wires_code_service_and_delegates_properties() -> None: | CODE |
| LOW | …interpreter/python/src/code_interpreter/models/code.py | 62 | def language_must_not_be_empty(cls, v: str) -> str: | CODE |
| LOW | …preter/python/src/code_interpreter/models/code_sync.py | 38 | def language_must_not_be_empty(cls, v: str) -> str: | CODE |
| LOW | …preter/python/src/code_interpreter/adapters/factory.py | 48 | def create_code_execution_service(self, endpoint: SandboxEndpoint) -> Codes: | CODE |
| LOW | …rpreter/adapters/converter/code_execution_converter.py | 95 | def from_api_code_context_dict(api_context: dict[str, Any]) -> CodeContext: | CODE |
| LOW | …r/python/src/code_interpreter/sync/adapters/factory.py | 44 | def create_code_execution_service(self, endpoint: SandboxEndpoint) -> CodesSync: | CODE |
| LOW | …preter/javascript/src/factory/defaultAdapterFactory.ts | 41 | export function createDefaultAdapterFactory(): AdapterFactory { | CODE |
| LOW | …ndbox/python/tests/test_filesystem_upload_transport.py | 60 | async def test_async_write_files_direct_execd_uses_chunked_upload() -> None: | CODE |
| LOW | …ndbox/python/tests/test_filesystem_upload_transport.py | 82 | async def test_async_write_files_direct_execd_rewinds_seekable_streams() -> None: | CODE |
| LOW | …ndbox/python/tests/test_filesystem_upload_transport.py | 101 | async def test_async_write_files_direct_execd_escapes_filename_header() -> None: | CODE |
| LOW | …ndbox/python/tests/test_filesystem_upload_transport.py | 118 | async def test_async_write_files_server_proxy_uses_content_length_and_preserves_charset() -> None: | CODE |
| LOW | …ndbox/python/tests/test_filesystem_upload_transport.py | 142 | async def test_async_write_files_direct_execd_encodes_strings_with_entry_encoding() -> None: | CODE |
| LOW | …ndbox/python/tests/test_filesystem_upload_transport.py | 161 | def test_sync_write_files_direct_execd_uses_chunked_upload() -> None: | CODE |
| LOW | …ndbox/python/tests/test_filesystem_upload_transport.py | 182 | def test_sync_write_files_direct_execd_rewinds_seekable_streams() -> None: | CODE |
| LOW | …ndbox/python/tests/test_filesystem_upload_transport.py | 200 | def test_sync_write_files_direct_execd_escapes_filename_header() -> None: | CODE |
| LOW | …ndbox/python/tests/test_filesystem_upload_transport.py | 216 | def test_sync_write_files_server_proxy_uses_content_length_and_preserves_charset() -> None: | CODE |
| LOW | …box/python/tests/test_converters_and_error_handling.py | 59 | def test_parse_sandbox_error_from_json_bytes() -> None: | CODE |
| LOW | …box/python/tests/test_converters_and_error_handling.py | 66 | def test_parse_sandbox_error_from_plain_text_string() -> None: | CODE |
| LOW | …box/python/tests/test_converters_and_error_handling.py | 81 | def test_handle_api_error_raises_with_parsed_message() -> None: | CODE |
| LOW | …box/python/tests/test_converters_and_error_handling.py | 99 | def test_handle_api_error_noop_on_success() -> None: | CODE |
| LOW | …box/python/tests/test_converters_and_error_handling.py | 107 | def test_require_parsed_includes_request_id_on_invalid_payload() -> None: | CODE |
| LOW | …box/python/tests/test_converters_and_error_handling.py | 118 | def test_exception_converter_maps_common_types() -> None: | CODE |
| LOW | …box/python/tests/test_converters_and_error_handling.py | 126 | def test_exception_converter_maps_generated_unexpected_status_to_api_exception() -> ( | CODE |
| LOW | …box/python/tests/test_converters_and_error_handling.py | 139 | def test_exception_converter_maps_httpx_status_error_to_api_exception() -> None: | CODE |
| LOW | …box/python/tests/test_converters_and_error_handling.py | 154 | def test_execution_converter_to_api_run_command_request() -> None: | CODE |
| LOW | …box/python/tests/test_converters_and_error_handling.py | 203 | def test_run_command_opts_validates_gid_requires_uid() -> None: | CODE |
| LOW | …box/python/tests/test_converters_and_error_handling.py | 208 | def test_filesystem_and_metrics_converters() -> None: | CODE |
| LOW | …box/python/tests/test_converters_and_error_handling.py | 236 | def test_sandbox_model_converter_to_api_create_request_and_renew_tz() -> None: | CODE |
| LOW | …box/python/tests/test_converters_and_error_handling.py | 270 | def test_platform_spec_accepts_windows() -> None: | CODE |
| LOW | …box/python/tests/test_converters_and_error_handling.py | 276 | def test_sandbox_model_converter_preserves_null_timeout_for_manual_cleanup() -> None: | CODE |
| LOW | …box/python/tests/test_converters_and_error_handling.py | 294 | def test_sandbox_model_converter_snapshot_restore_request() -> None: | CODE |
| LOW | …box/python/tests/test_converters_and_error_handling.py | 315 | def test_sandbox_model_converter_maps_platform_from_create_response() -> None: | CODE |
| LOW | …box/python/tests/test_converters_and_error_handling.py | 344 | def test_sandbox_model_converter_preserves_missing_metadata_default() -> None: | CODE |
| LOW | …box/python/tests/test_converters_and_error_handling.py | 360 | def test_sandbox_model_converter_supports_windows_platform_request() -> None: | CODE |
| LOW⚡ | …python/tests/test_connection_config_env_and_timeout.py | 23 | def test_get_api_key_from_env(monkeypatch: pytest.MonkeyPatch) -> None: | CODE |
| LOW⚡ | …python/tests/test_connection_config_env_and_timeout.py | 29 | def test_get_domain_from_env_and_default(monkeypatch: pytest.MonkeyPatch) -> None: | CODE |
| LOW⚡ | …python/tests/test_connection_config_env_and_timeout.py | 39 | def test_timeout_must_be_positive() -> None: | CODE |
| LOW⚡ | sdks/sandbox/python/tests/test_pool_config.py | 72 | def test_default_acquire_min_remaining_ttl_scales_for_short_idle_timeout() -> None: | CODE |
| LOW⚡ | sdks/sandbox/python/tests/test_pool_config.py | 79 | def test_negative_acquire_min_remaining_ttl_rejected() -> None: | CODE |
| LOW⚡ | sdks/sandbox/python/tests/test_pool_config.py | 86 | def test_explicit_acquire_min_remaining_ttl_at_or_above_idle_timeout_rejected() -> None: | CODE |
| LOW | sdks/sandbox/python/tests/test_pool_config.py | 97 | def test_async_explicit_acquire_min_remaining_ttl_at_or_above_idle_timeout_rejected() -> ( | CODE |
| LOW⚡ | sdks/sandbox/python/tests/test_pool_config.py | 108 | def test_acquire_min_remaining_ttl_just_below_idle_timeout_accepted() -> None: | CODE |
| LOW⚡ | sdks/sandbox/python/tests/test_pool_config.py | 118 | def test_zero_acquire_min_remaining_ttl_opts_out() -> None: | CODE |
| LOW⚡ | sdks/sandbox/python/tests/test_pool_config.py | 127 | def test_sync_pool_config_positional_owner_id_stays_compatible() -> None: | CODE |
| LOW | sdks/sandbox/python/tests/test_pool_config.py | 143 | def test_async_pool_config_positional_owner_id_stays_compatible() -> None: | CODE |
| LOW | sdks/sandbox/python/tests/test_pool_config.py | 159 | def test_pool_facade_sandbox_creator_is_appended_after_factories() -> None: | CODE |
| LOW | sdks/sandbox/python/tests/test_pool_config.py | 175 | def test_sync_pool_config_keeps_sandbox_creator() -> None: | CODE |
| 1819 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | CONTRIBUTING.md | 269 | Create a new sandbox instance. Args: image: Container image specification timeout: Sandbox timeout | STRING |
| HIGH | …preter/python/src/code_interpreter/code_interpreter.py | 174 | Creates a CodeInterpreter from an existing Sandbox instance. This factory method handles the creation | STRING |
| HIGH | …r/python/src/code_interpreter/sync/code_interpreter.py | 151 | Create a CodeInterpreterSync from an existing SandboxSync instance (blocking). Args: sandb | STRING |
| HIGH | …hon/src/code_interpreter/sync/adapters/code_adapter.py | 240 | Execute code within the specified context using SSE streaming (sync). Args: code: Source c | STRING |
| HIGH | …eter/python/src/code_interpreter/sync/services/code.py | 59 | Create a new execution context for code interpretation (blocking). An execution context maintains stat | STRING |
| HIGH | …eter/python/src/code_interpreter/sync/services/code.py | 118 | Execute code within the specified context (blocking). This method runs the provided code string in the | STRING |
| HIGH | …terpreter/python/src/code_interpreter/services/code.py | 75 | Creates a new execution context for code interpretation. An execution context maintains the state of v | STRING |
| HIGH | …terpreter/python/src/code_interpreter/services/code.py | 162 | Executes code within the specified context. This method runs the provided code string in the language | STRING |
| HIGH | sdks/mcp/sandbox/python/src/opensandbox_mcp/server.py | 146 | Create a sandbox and store it in the MCP server session. This allocates a new sandbox instance using the OpenSa | STRING |
| HIGH | sdks/sandbox/python/src/opensandbox/sandbox.py | 213 | Get a specific network endpoint for this sandbox. Args: port: The port number to get the e | STRING |
| HIGH | sdks/sandbox/python/src/opensandbox/sandbox.py | 230 | Get a signed endpoint URL with an OSEP-0011 route token. Args: port: The port number to ge | STRING |
| HIGH | sdks/sandbox/python/src/opensandbox/sandbox.py | 278 | Renew the sandbox expiration time to delay automatic termination. The new expiration time will be set | STRING |
| HIGH | sdks/sandbox/python/src/opensandbox/sandbox.py | 529 | Create a new sandbox instance with the specified configuration. Args: image: Container ima | STRING |
| HIGH | sdks/sandbox/python/src/opensandbox/sandbox.py | 671 | Connect to an existing sandbox instance by ID. Args: sandbox_id: ID of the existing sandbo | STRING |
| HIGH | sdks/sandbox/python/src/opensandbox/manager.py | 134 | List sandboxes with filtering options. Args: filter: Filter criteria for sandbox listing | STRING |
| HIGH | sdks/sandbox/python/src/opensandbox/manager.py | 149 | Get information for a single sandbox by its ID. Args: sandbox_id: Sandbox ID to retrieve i | STRING |
| HIGH | …/python/src/opensandbox/adapters/filesystem_adapter.py | 169 | Read file content as bytes with support for range and line-based requests. Args: path: Path to the | STRING |
| HIGH | …box/python/src/opensandbox/adapters/metrics_adapter.py | 98 | Retrieve current resource usage metrics for a sandbox. Args: sandbox_id: The unique identifier of t | STRING |
| HIGH | …i/egress/api/credential_vault/post_credential_vault.py | 94 | Create a sandbox-local Credential Vault Create the initial sandbox-local Credential Vault revision and activate it | STRING |
| HIGH | …i/egress/api/credential_vault/post_credential_vault.py | 129 | Create a sandbox-local Credential Vault Create the initial sandbox-local Credential Vault revision and activate it | STRING |
| HIGH | …i/egress/api/credential_vault/post_credential_vault.py | 159 | Create a sandbox-local Credential Vault Create the initial sandbox-local Credential Vault revision and activate it | STRING |
| HIGH | …i/egress/api/credential_vault/post_credential_vault.py | 192 | Create a sandbox-local Credential Vault Create the initial sandbox-local Credential Vault revision and activate it | STRING |
| HIGH | …al_vault/get_credential_vault_bindings_binding_name.py | 80 | Get sanitized metadata for one binding Args: binding_name (str): Raises: errors.UnexpectedStat | STRING |
| HIGH | …al_vault/get_credential_vault_bindings_binding_name.py | 109 | Get sanitized metadata for one binding Args: binding_name (str): Raises: errors.UnexpectedStat | STRING |
| HIGH | …al_vault/get_credential_vault_bindings_binding_name.py | 133 | Get sanitized metadata for one binding Args: binding_name (str): Raises: errors.UnexpectedStat | STRING |
| HIGH | …al_vault/get_credential_vault_bindings_binding_name.py | 160 | Get sanitized metadata for one binding Args: binding_name (str): Raises: errors.UnexpectedStat | STRING |
| HIGH | …lt/get_credential_vault_credentials_credential_name.py | 80 | Get sanitized metadata for one credential Args: credential_name (str): Raises: errors.Unexpect | STRING |
| HIGH | …lt/get_credential_vault_credentials_credential_name.py | 109 | Get sanitized metadata for one credential Args: credential_name (str): Raises: errors.Unexpect | STRING |
| HIGH | …lt/get_credential_vault_credentials_credential_name.py | 133 | Get sanitized metadata for one credential Args: credential_name (str): Raises: errors.Unexpect | STRING |
| HIGH | …lt/get_credential_vault_credentials_credential_name.py | 160 | Get sanitized metadata for one credential Args: credential_name (str): Raises: errors.Unexpect | STRING |
| HIGH | …/egress/api/credential_vault/patch_credential_vault.py | 98 | Atomically mutate sandbox-local credentials and bindings Args: body (CredentialVaultMutationRequest): | STRING |
| HIGH | …/egress/api/credential_vault/patch_credential_vault.py | 127 | Atomically mutate sandbox-local credentials and bindings Args: body (CredentialVaultMutationRequest): | STRING |
| HIGH | …/egress/api/credential_vault/patch_credential_vault.py | 151 | Atomically mutate sandbox-local credentials and bindings Args: body (CredentialVaultMutationRequest): | STRING |
| HIGH | …/egress/api/credential_vault/patch_credential_vault.py | 178 | Atomically mutate sandbox-local credentials and bindings Args: body (CredentialVaultMutationRequest): | STRING |
| HIGH | …src/opensandbox/api/egress/api/policy/delete_policy.py | 89 | Delete egress rules Remove specific egress rules from the currently enforced policy by target. - Accepts a li | STRING |
| HIGH | …src/opensandbox/api/egress/api/policy/delete_policy.py | 124 | Delete egress rules Remove specific egress rules from the currently enforced policy by target. - Accepts a li | STRING |
| HIGH | …src/opensandbox/api/egress/api/policy/delete_policy.py | 154 | Delete egress rules Remove specific egress rules from the currently enforced policy by target. - Accepts a li | STRING |
| HIGH | …src/opensandbox/api/egress/api/policy/delete_policy.py | 187 | Delete egress rules Remove specific egress rules from the currently enforced policy by target. - Accepts a li | STRING |
| HIGH | …/src/opensandbox/api/egress/api/policy/patch_policy.py | 93 | Patch egress rules Merge incoming egress rules with the currently enforced policy. This endpoint uses merge s | STRING |
| HIGH | …/src/opensandbox/api/egress/api/policy/patch_policy.py | 129 | Patch egress rules Merge incoming egress rules with the currently enforced policy. This endpoint uses merge s | STRING |
| HIGH | …/src/opensandbox/api/egress/api/policy/patch_policy.py | 160 | Patch egress rules Merge incoming egress rules with the currently enforced policy. This endpoint uses merge s | STRING |
| HIGH | …/src/opensandbox/api/egress/api/policy/patch_policy.py | 194 | Patch egress rules Merge incoming egress rules with the currently enforced policy. This endpoint uses merge s | STRING |
| HIGH | …i/execd/api/isolated_execution/isolated_remove_dirs.py | 85 | Remove directories Args: session_id (UUID): path (list[str]): Raises: errors.Unexpecte | STRING |
| HIGH | …i/execd/api/isolated_execution/isolated_remove_dirs.py | 117 | Remove directories Args: session_id (UUID): path (list[str]): Raises: errors.Unexpecte | STRING |
| HIGH | …i/execd/api/isolated_execution/isolated_remove_dirs.py | 144 | Remove directories Args: session_id (UUID): path (list[str]): Raises: errors.Unexpecte | STRING |
| HIGH | …i/execd/api/isolated_execution/isolated_remove_dirs.py | 174 | Remove directories Args: session_id (UUID): path (list[str]): Raises: errors.Unexpecte | STRING |
| HIGH | …ecd/api/isolated_execution/isolated_replace_content.py | 99 | Replace file content Args: session_id (UUID): verbose (bool | Unset): body (IsolatedReplace | STRING |
| HIGH | …ecd/api/isolated_execution/isolated_replace_content.py | 134 | Replace file content Args: session_id (UUID): verbose (bool | Unset): body (IsolatedReplace | STRING |
| HIGH | …ecd/api/isolated_execution/isolated_replace_content.py | 164 | Replace file content Args: session_id (UUID): verbose (bool | Unset): body (IsolatedReplace | STRING |
| HIGH | …ecd/api/isolated_execution/isolated_replace_content.py | 197 | Replace file content Args: session_id (UUID): verbose (bool | Unset): body (IsolatedReplace | STRING |
| HIGH | …i/execd/api/isolated_execution/get_isolated_session.py | 84 | Get isolated session state Args: session_id (UUID): Raises: errors.UnexpectedStatus: If the se | STRING |
| HIGH | …i/execd/api/isolated_execution/get_isolated_session.py | 113 | Get isolated session state Args: session_id (UUID): Raises: errors.UnexpectedStatus: If the se | STRING |
| HIGH | …i/execd/api/isolated_execution/get_isolated_session.py | 137 | Get isolated session state Args: session_id (UUID): Raises: errors.UnexpectedStatus: If the se | STRING |
| HIGH | …i/execd/api/isolated_execution/get_isolated_session.py | 164 | Get isolated session state Args: session_id (UUID): Raises: errors.UnexpectedStatus: If the se | STRING |
| HIGH | …api/execd/api/isolated_execution/isolated_make_dirs.py | 84 | Create directories Args: session_id (UUID): body (IsolatedMakeDirsBody): Raises: error | STRING |
| HIGH | …api/execd/api/isolated_execution/isolated_make_dirs.py | 116 | Create directories Args: session_id (UUID): body (IsolatedMakeDirsBody): Raises: error | STRING |
| HIGH | …api/execd/api/isolated_execution/isolated_make_dirs.py | 143 | Create directories Args: session_id (UUID): body (IsolatedMakeDirsBody): Raises: error | STRING |
| HIGH | …api/execd/api/isolated_execution/isolated_make_dirs.py | 173 | Create directories Args: session_id (UUID): body (IsolatedMakeDirsBody): Raises: error | STRING |
| HIGH | …xecd/api/isolated_execution/isolated_list_directory.py | 108 | List directory contents Args: session_id (UUID): path (str): depth (int | Unset): Default: | STRING |
| HIGH | …xecd/api/isolated_execution/isolated_list_directory.py | 143 | List directory contents Args: session_id (UUID): path (str): depth (int | Unset): Default: | STRING |
| 287 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .pre-commit-config.yaml | 21 | # entry: gofmt | COMMENT |
| LOW | sandboxes/code-interpreter/build.sh | 1 | #!/bin/bash | COMMENT |
| LOW | sandboxes/code-interpreter/scripts/code-interpreter.sh | 1 | #!/bin/bash | COMMENT |
| LOW | …boxes/code-interpreter/scripts/code-interpreter-env.sh | 1 | #!/bin/bash | COMMENT |
| LOW | …es/code-interpreter/scripts/jupyter_notebook_config.py | 1 | # Copyright 2025 Alibaba Group Holding Ltd. | COMMENT |
| LOW | sdks/code-interpreter/python/pyproject.toml | 1 | # Copyright 2025 Alibaba Group Holding Ltd. | COMMENT |
| LOW | …python/tests/test_code_service_adapter_sync_headers.py | 1 | # | COMMENT |
| LOW | …er/python/tests/test_code_service_adapter_streaming.py | 1 | # | COMMENT |
| LOW | …ython/tests/test_code_service_adapter_openapi_calls.py | 1 | # | COMMENT |
| LOW | …de-interpreter/python/tests/test_adapter_eager_init.py | 1 | # | COMMENT |
| LOW | …n/tests/test_code_interpreter_create_and_delegation.py | 1 | # | COMMENT |
| LOW | …preter/python/src/code_interpreter/code_interpreter.py | 1 | # | COMMENT |
| LOW | …de-interpreter/python/src/code_interpreter/__init__.py | 1 | # | COMMENT |
| LOW | …interpreter/python/src/code_interpreter/models/code.py | 1 | # | COMMENT |
| LOW | …rpreter/python/src/code_interpreter/models/__init__.py | 1 | # | COMMENT |
| LOW | …preter/python/src/code_interpreter/models/code_sync.py | 1 | # | COMMENT |
| LOW | …r/python/src/code_interpreter/adapters/code_adapter.py | 1 | # | COMMENT |
| LOW | …reter/python/src/code_interpreter/adapters/__init__.py | 1 | # | COMMENT |
| LOW | …preter/python/src/code_interpreter/adapters/factory.py | 1 | # | COMMENT |
| LOW | …rpreter/adapters/converter/code_execution_converter.py | 1 | # | COMMENT |
| LOW | …on/src/code_interpreter/adapters/converter/__init__.py | 1 | # | COMMENT |
| LOW | …r/python/src/code_interpreter/sync/code_interpreter.py | 1 | # | COMMENT |
| LOW | …terpreter/python/src/code_interpreter/sync/__init__.py | 1 | # | COMMENT |
| LOW | …hon/src/code_interpreter/sync/adapters/code_adapter.py | 1 | # | COMMENT |
| LOW | …/python/src/code_interpreter/sync/adapters/__init__.py | 1 | # | COMMENT |
| LOW | …r/python/src/code_interpreter/sync/adapters/factory.py | 1 | # | COMMENT |
| LOW | …eter/python/src/code_interpreter/sync/services/code.py | 1 | # | COMMENT |
| LOW | …/python/src/code_interpreter/sync/services/__init__.py | 1 | # | COMMENT |
| LOW | …terpreter/python/src/code_interpreter/services/code.py | 1 | # | COMMENT |
| LOW | …reter/python/src/code_interpreter/services/__init__.py | 1 | # | COMMENT |
| LOW | …nSandbox.CodeInterpreter.Tests/CodeInterpreterTests.cs | 1 | // Copyright 2026 Alibaba Group Holding Ltd. | COMMENT |
| LOW | …tests/OpenSandbox.CodeInterpreter.Tests/ModelsTests.cs | 1 | // Copyright 2026 Alibaba Group Holding Ltd. | COMMENT |
| LOW | …OpenSandbox.CodeInterpreter.Tests/CodesAdapterTests.cs | 1 | // Copyright 2026 Alibaba Group Holding Ltd. | COMMENT |
| LOW | …ests/OpenSandbox.CodeInterpreter.Tests/FactoryTests.cs | 1 | // Copyright 2026 Alibaba Group Holding Ltd. | COMMENT |
| LOW | …arp/src/OpenSandbox.CodeInterpreter/CodeInterpreter.cs | 1 | // Copyright 2026 Alibaba Group Holding Ltd. | COMMENT |
| LOW | …arp/src/OpenSandbox.CodeInterpreter/CodeInterpreter.cs | 41 | /// <summary> | COMMENT |
| LOW | …arp/src/OpenSandbox.CodeInterpreter/CodeInterpreter.cs | 61 | /// </summary> | COMMENT |
| LOW | …p/src/OpenSandbox.CodeInterpreter/Models/CodeModels.cs | 1 | // Copyright 2026 Alibaba Group Holding Ltd. | COMMENT |
| LOW | …p/src/OpenSandbox.CodeInterpreter/Models/CodeModels.cs | 21 | /// </summary> | COMMENT |
| LOW | …p/src/OpenSandbox.CodeInterpreter/Models/CodeModels.cs | 41 | /// </summary> | COMMENT |
| LOW | …p/src/OpenSandbox.CodeInterpreter/Models/CodeModels.cs | 61 | /// Gets or sets the context ID. | COMMENT |
| LOW | …p/src/OpenSandbox.CodeInterpreter/Models/CodeModels.cs | 101 | /// <summary> | COMMENT |
| LOW | …c/OpenSandbox.CodeInterpreter/Adapters/CodesAdapter.cs | 1 | // Copyright 2026 Alibaba Group Holding Ltd. | COMMENT |
| LOW | …eInterpreter/Factory/ICodeInterpreterAdapterFactory.cs | 1 | // Copyright 2026 Alibaba Group Holding Ltd. | COMMENT |
| LOW | …eInterpreter/Factory/ICodeInterpreterAdapterFactory.cs | 21 | COMMENT | |
| LOW | …eInterpreter/Factory/ICodeInterpreterAdapterFactory.cs | 41 | COMMENT | |
| LOW | …preter/Factory/DefaultCodeInterpreterAdapterFactory.cs | 1 | // Copyright 2026 Alibaba Group Holding Ltd. | COMMENT |
| LOW | …arp/src/OpenSandbox.CodeInterpreter/Services/ICodes.cs | 1 | // Copyright 2026 Alibaba Group Holding Ltd. | COMMENT |
| LOW | …arp/src/OpenSandbox.CodeInterpreter/Services/ICodes.cs | 21 | /// <summary> | COMMENT |
| LOW | …arp/src/OpenSandbox.CodeInterpreter/Services/ICodes.cs | 41 | /// <returns>The context.</returns> | COMMENT |
| LOW | …arp/src/OpenSandbox.CodeInterpreter/Services/ICodes.cs | 61 | /// <exception cref="InvalidArgumentException">Thrown when <paramref name="contextId"/> is null or empty.</exception | COMMENT |
| LOW | …arp/src/OpenSandbox.CodeInterpreter/Services/ICodes.cs | 81 | /// <exception cref="InvalidArgumentException">Thrown when required request fields are missing.</exception> | COMMENT |
| LOW | sdks/code-interpreter/javascript/tsup.config.ts | 1 | // Copyright 2026 Alibaba Group Holding Ltd. | COMMENT |
| LOW | sdks/code-interpreter/javascript/src/interpreter.ts | 1 | // Copyright 2026 Alibaba Group Holding Ltd. | COMMENT |
| LOW | sdks/code-interpreter/javascript/src/index.ts | 1 | // Copyright 2026 Alibaba Group Holding Ltd. | COMMENT |
| LOW | sdks/code-interpreter/javascript/src/models.ts | 1 | // Copyright 2026 Alibaba Group Holding Ltd. | COMMENT |
| LOW | …de-interpreter/javascript/src/adapters/openapiError.ts | 1 | // Copyright 2026 Alibaba Group Holding Ltd. | COMMENT |
| LOW | …de-interpreter/javascript/src/adapters/codesAdapter.ts | 1 | // Copyright 2026 Alibaba Group Holding Ltd. | COMMENT |
| LOW | sdks/code-interpreter/javascript/src/adapters/sse.ts | 1 | // Copyright 2026 Alibaba Group Holding Ltd. | COMMENT |
| LOW | …preter/javascript/src/factory/defaultAdapterFactory.ts | 1 | // Copyright 2026 Alibaba Group Holding Ltd. | COMMENT |
| 1426 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | sdks/sandbox/python/tests/test_models_stability.py | 187 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | sdks/sandbox/python/tests/test_models_stability.py | 189 | # ============================================================================ | COMMENT |
| MEDIUM | sdks/sandbox/python/tests/test_models_stability.py | 358 | # ============================================================================ | COMMENT |
| MEDIUM | sdks/sandbox/python/tests/test_models_stability.py | 360 | # ============================================================================ | COMMENT |
| MEDIUM | sdks/sandbox/python/src/opensandbox/models/sandboxes.py | 346 | # ============================================================================ | COMMENT |
| MEDIUM | sdks/sandbox/python/src/opensandbox/models/sandboxes.py | 348 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/python/tests/test_isolated_session_e2e.py | 214 | # ── RW mode: run-based file tests ───────────────────────────────── | COMMENT |
| MEDIUM⚡ | tests/python/tests/test_isolated_session_e2e.py | 432 | # ── Overlay mode tests ──────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | tests/python/tests/test_isolated_session_e2e.py | 641 | # ── Bind mount tests (explicit source->dest binds) ───────────────── | COMMENT |
| MEDIUM | tests/python/tests/test_isolated_session_e2e.py | 87 | # ── Helpers ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/python/tests/test_isolated_session_e2e.py | 100 | # ── Core session tests ──────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/python/tests/test_isolated_session_e2e.py | 248 | # ── RW mode: filesystem API tests ───────────────────────────────── | COMMENT |
| MEDIUM | tests/python/tests/test_isolated_session_e2e.py | 371 | # ── RO mode tests ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/python/tests/test_isolated_session_e2e.py | 596 | # ── run_once / session convenience method tests ────────────────── | COMMENT |
| MEDIUM | …om/alibaba/opensandbox/e2e/IsolatedSessionE2ETest.java | 210 | // ── RW mode: filesystem API tests ─────────────────────────────── | COMMENT |
| MEDIUM | …om/alibaba/opensandbox/e2e/IsolatedSessionE2ETest.java | 396 | // ── RO mode tests ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | …om/alibaba/opensandbox/e2e/IsolatedSessionE2ETest.java | 476 | // ── Overlay mode tests ────────────────────────────────────────── | COMMENT |
| MEDIUM | …om/alibaba/opensandbox/e2e/IsolatedSessionE2ETest.java | 693 | // ── run_once / withSession convenience API tests ───────────────── | COMMENT |
| MEDIUM | …om/alibaba/opensandbox/e2e/IsolatedSessionE2ETest.java | 749 | // ── Bind mount tests (explicit source->dest binds) ───────────────── | COMMENT |
| MEDIUM | …csharp/OpenSandbox.E2ETests/IsolatedSessionE2ETests.cs | 180 | // ── RW mode: filesystem API tests ─────────────────────────────── | COMMENT |
| MEDIUM | …csharp/OpenSandbox.E2ETests/IsolatedSessionE2ETests.cs | 417 | // ── RO mode tests ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | …csharp/OpenSandbox.E2ETests/IsolatedSessionE2ETests.cs | 516 | // ── Overlay mode tests ────────────────────────────────────────── | COMMENT |
| MEDIUM | …csharp/OpenSandbox.E2ETests/IsolatedSessionE2ETests.cs | 793 | // ── RunOnceAsync / WithSessionAsync convenience API tests ──────── | COMMENT |
| MEDIUM | …csharp/OpenSandbox.E2ETests/IsolatedSessionE2ETests.cs | 843 | // ── Bind mount tests (explicit source->dest binds) ───────────────── | COMMENT |
| MEDIUM | …sts/javascript/tests/test_isolated_session_e2e.test.ts | 709 | // ── runOnce / withSession convenience API tests ────────────────── | COMMENT |
| MEDIUM⚡ | server/tests/test_signing.py | 34 | # ============================================================ | COMMENT |
| MEDIUM⚡ | server/tests/test_signing.py | 36 | # ============================================================ | COMMENT |
| MEDIUM⚡ | server/tests/test_signing.py | 74 | # ============================================================ | COMMENT |
| MEDIUM⚡ | server/tests/test_signing.py | 76 | # ============================================================ | COMMENT |
| MEDIUM⚡ | server/tests/test_signing.py | 127 | # ============================================================ | COMMENT |
| MEDIUM⚡ | server/tests/test_signing.py | 129 | # ============================================================ | COMMENT |
| MEDIUM⚡ | server/tests/test_signing.py | 234 | # ============================================================ | COMMENT |
| MEDIUM⚡ | server/tests/test_signing.py | 236 | # ============================================================ | COMMENT |
| MEDIUM | server/tests/test_signing.py | 164 | # ============================================================ | COMMENT |
| MEDIUM | server/tests/test_signing.py | 166 | # ============================================================ | COMMENT |
| MEDIUM⚡ | server/tests/test_ingress.py | 75 | # ============================================================ | COMMENT |
| MEDIUM⚡ | server/tests/test_ingress.py | 77 | # ============================================================ | COMMENT |
| MEDIUM | server/tests/test_config.py | 1139 | # ============================================================ | COMMENT |
| MEDIUM | server/tests/test_config.py | 1141 | # ============================================================ | COMMENT |
| MEDIUM⚡ | server/tests/k8s/test_provider_common.py | 25 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | server/tests/k8s/test_provider_common.py | 27 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | server/tests/k8s/test_provider_common.py | 89 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | server/tests/k8s/test_provider_common.py | 91 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | server/opensandbox_server/api/lifecycle.py | 60 | # ============================================================================ | COMMENT |
| MEDIUM | server/opensandbox_server/api/lifecycle.py | 62 | # ============================================================================ | COMMENT |
| MEDIUM | server/opensandbox_server/api/lifecycle.py | 266 | # ============================================================================ | COMMENT |
| MEDIUM | server/opensandbox_server/api/lifecycle.py | 268 | # ============================================================================ | COMMENT |
| MEDIUM | server/opensandbox_server/api/lifecycle.py | 384 | # ============================================================================ | COMMENT |
| MEDIUM | server/opensandbox_server/api/lifecycle.py | 386 | # ============================================================================ | COMMENT |
| MEDIUM | server/opensandbox_server/api/lifecycle.py | 498 | # ============================================================================ | COMMENT |
| MEDIUM | server/opensandbox_server/api/lifecycle.py | 500 | # ============================================================================ | COMMENT |
| MEDIUM | server/opensandbox_server/api/pool.py | 73 | # ============================================================================ | COMMENT |
| MEDIUM | server/opensandbox_server/api/pool.py | 75 | # ============================================================================ | COMMENT |
| MEDIUM | server/opensandbox_server/api/schema.py | 28 | # ============================================================================ | COMMENT |
| MEDIUM | server/opensandbox_server/api/schema.py | 30 | # ============================================================================ | COMMENT |
| MEDIUM | server/opensandbox_server/api/schema.py | 71 | # ============================================================================ | COMMENT |
| MEDIUM | server/opensandbox_server/api/schema.py | 73 | # ============================================================================ | COMMENT |
| MEDIUM | server/opensandbox_server/api/schema.py | 141 | # ============================================================================ | COMMENT |
| MEDIUM | server/opensandbox_server/api/schema.py | 143 | # ============================================================================ | COMMENT |
| MEDIUM | server/opensandbox_server/api/schema.py | 357 | # ============================================================================ | COMMENT |
| 133 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …er/python/tests/test_code_service_adapter_streaming.py | 16 | CODE | |
| LOW | …ython/tests/test_code_service_adapter_openapi_calls.py | 16 | CODE | |
| LOW | …de-interpreter/python/src/code_interpreter/__init__.py | 27 | CODE | |
| LOW | …de-interpreter/python/src/code_interpreter/__init__.py | 28 | CODE | |
| LOW | …de-interpreter/python/src/code_interpreter/__init__.py | 28 | CODE | |
| LOW | …de-interpreter/python/src/code_interpreter/__init__.py | 32 | CODE | |
| LOW | …rpreter/python/src/code_interpreter/models/__init__.py | 20 | CODE | |
| LOW | …rpreter/python/src/code_interpreter/models/__init__.py | 20 | CODE | |
| LOW | …reter/python/src/code_interpreter/adapters/__init__.py | 20 | CODE | |
| LOW | …reter/python/src/code_interpreter/adapters/__init__.py | 21 | CODE | |
| LOW | …reter/python/src/code_interpreter/adapters/__init__.py | 24 | CODE | |
| LOW | …on/src/code_interpreter/adapters/converter/__init__.py | 20 | CODE | |
| LOW | …terpreter/python/src/code_interpreter/sync/__init__.py | 16 | CODE | |
| LOW | …/python/src/code_interpreter/sync/adapters/__init__.py | 20 | CODE | |
| LOW | …/python/src/code_interpreter/sync/adapters/__init__.py | 21 | CODE | |
| LOW | …/python/src/code_interpreter/sync/services/__init__.py | 23 | CODE | |
| LOW | …reter/python/src/code_interpreter/services/__init__.py | 20 | CODE | |
| LOW | sdks/mcp/sandbox/python/src/opensandbox_mcp/server.py | 15 | CODE | |
| LOW | sdks/mcp/sandbox/python/src/opensandbox_mcp/__init__.py | 18 | CODE | |
| LOW | sdks/mcp/sandbox/python/src/opensandbox_mcp/__main__.py | 15 | CODE | |
| LOW | …ndbox/python/tests/test_filesystem_upload_transport.py | 16 | CODE | |
| LOW | …box/python/tests/test_converters_and_error_handling.py | 16 | CODE | |
| LOW | sdks/sandbox/python/tests/test_pool_config.py | 18 | CODE | |
| LOW | sdks/sandbox/python/tests/test_models_stability.py | 16 | CODE | |
| LOW | …/sandbox/python/tests/test_credential_vault_adapter.py | 16 | CODE | |
| LOW | sdks/sandbox/python/tests/test_pool_sync.py | 1 | CODE | |
| LOW | sdks/sandbox/python/tests/test_isolation_run_once.py | 18 | CODE | |
| LOW | sdks/sandbox/python/tests/test_redis_pool_store.py | 1 | CODE | |
| LOW | …python/tests/test_sandbox_service_adapter_lifecycle.py | 16 | CODE | |
| LOW | …python/tests/test_command_service_adapter_streaming.py | 16 | CODE | |
| LOW | …s/sandbox/python/tests/test_isolated_service_import.py | 25 | CODE | |
| LOW | …thon/tests/test_sandbox_manager_sync_business_logic.py | 16 | CODE | |
| LOW | …n/tests/test_sandbox_sync_service_adapter_lifecycle.py | 16 | CODE | |
| LOW | …ndbox/python/tests/test_sandbox_sync_business_logic.py | 16 | CODE | |
| LOW | …n/tests/test_sync_command_service_adapter_streaming.py | 16 | CODE | |
| LOW | sdks/sandbox/python/tests/test_pool_async.py | 1 | CODE | |
| LOW | …ks/sandbox/python/tests/test_async_redis_pool_store.py | 1 | CODE | |
| LOW | sdks/sandbox/python/tests/test_pool_manager.py | 1 | CODE | |
| LOW | sdks/sandbox/python/tests/test_pool_kill_discarded.py | 25 | CODE | |
| LOW | …ox/python/tests/test_sandbox_manager_business_logic.py | 16 | CODE | |
| LOW | …ndbox/python/tests/test_diagnostics_service_adapter.py | 16 | CODE | |
| LOW | …ks/sandbox/python/tests/test_sandbox_business_logic.py | 16 | CODE | |
| LOW | sdks/sandbox/python/tests/test_isolation_list.py | 18 | CODE | |
| LOW | sdks/sandbox/python/tests/test_sandbox_destroy.py | 16 | CODE | |
| LOW | sdks/sandbox/python/src/opensandbox/pool_redis.py | 21 | CODE | |
| LOW | sdks/sandbox/python/src/opensandbox/pool_redis.py | 22 | CODE | |
| LOW | sdks/sandbox/python/src/opensandbox/pool_manager.py | 18 | CODE | |
| LOW | …ndbox/python/src/opensandbox/async_redis_pool_store.py | 18 | CODE | |
| LOW | sdks/sandbox/python/src/opensandbox/pool_async.py | 18 | CODE | |
| LOW | sdks/sandbox/python/src/opensandbox/pool_async.py | 26 | CODE | |
| LOW | …ndbox/python/src/opensandbox/_async_pool_reconciler.py | 18 | CODE | |
| LOW | …ks/sandbox/python/src/opensandbox/_async_pool_store.py | 18 | CODE | |
| LOW | sdks/sandbox/python/src/opensandbox/__init__.py | 100 | CODE | |
| LOW | sdks/sandbox/python/src/opensandbox/__init__.py | 101 | CODE | |
| LOW | sdks/sandbox/python/src/opensandbox/__init__.py | 101 | CODE | |
| LOW | sdks/sandbox/python/src/opensandbox/__init__.py | 101 | CODE | |
| LOW | sdks/sandbox/python/src/opensandbox/__init__.py | 101 | CODE | |
| LOW | sdks/sandbox/python/src/opensandbox/__init__.py | 101 | CODE | |
| LOW | sdks/sandbox/python/src/opensandbox/__init__.py | 101 | CODE | |
| LOW | sdks/sandbox/python/src/opensandbox/__init__.py | 101 | CODE | |
| 565 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …preter/python/src/code_interpreter/code_interpreter.py | 215 | except Exception as e: | CODE |
| LOW | …r/python/src/code_interpreter/adapters/code_adapter.py | 185 | except Exception as e: | CODE |
| LOW | …r/python/src/code_interpreter/adapters/code_adapter.py | 204 | except Exception as e: | CODE |
| LOW | …r/python/src/code_interpreter/adapters/code_adapter.py | 222 | except Exception as e: | CODE |
| LOW | …r/python/src/code_interpreter/adapters/code_adapter.py | 236 | except Exception as e: | CODE |
| LOW | …r/python/src/code_interpreter/adapters/code_adapter.py | 252 | except Exception as e: | CODE |
| LOW | …r/python/src/code_interpreter/adapters/code_adapter.py | 334 | except Exception as e: | CODE |
| LOW | …r/python/src/code_interpreter/adapters/code_adapter.py | 340 | except Exception as e: | CODE |
| LOW | …r/python/src/code_interpreter/adapters/code_adapter.py | 361 | except Exception as e: | CODE |
| LOW | …r/python/src/code_interpreter/sync/code_interpreter.py | 175 | except Exception as e: | CODE |
| LOW | …hon/src/code_interpreter/sync/adapters/code_adapter.py | 159 | except Exception as e: | CODE |
| LOW | …hon/src/code_interpreter/sync/adapters/code_adapter.py | 179 | except Exception as e: | CODE |
| LOW | …hon/src/code_interpreter/sync/adapters/code_adapter.py | 200 | except Exception as e: | CODE |
| LOW | …hon/src/code_interpreter/sync/adapters/code_adapter.py | 213 | except Exception as e: | CODE |
| LOW | …hon/src/code_interpreter/sync/adapters/code_adapter.py | 228 | except Exception as e: | CODE |
| LOW | …hon/src/code_interpreter/sync/adapters/code_adapter.py | 309 | except Exception as e: | CODE |
| LOW | …hon/src/code_interpreter/sync/adapters/code_adapter.py | 314 | except Exception as e: | CODE |
| LOW | …hon/src/code_interpreter/sync/adapters/code_adapter.py | 332 | except Exception as e: | CODE |
| LOW | sdks/sandbox/python/README.md | 60 | except Exception as e: | CODE |
| MEDIUM | sdks/sandbox/python/README.md | 61 | print(f"Error: {e}") | CODE |
| LOW | sdks/sandbox/python/README.md | 287 | except Exception: | CODE |
| LOW | sdks/sandbox/python/tests/test_pool_store.py | 157 | except Exception as exc: | CODE |
| MEDIUM | sdks/sandbox/python/tests/test_pool_store.py | 147 | def worker() -> None: | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/pool_manager.py | 106 | except Exception as exc: | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/pool_manager.py | 119 | except Exception as exc: | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/pool_manager.py | 130 | except Exception as exc: | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/pool_manager.py | 216 | except Exception as exc: | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/pool_manager.py | 232 | except Exception as exc: | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/pool_manager.py | 243 | except Exception as exc: | CODE |
| LOW | …ndbox/python/src/opensandbox/async_redis_pool_store.py | 462 | except Exception as exc: | CODE |
| MEDIUM | sdks/sandbox/python/src/opensandbox/pool_async.py | 533 | def _raise_if_pool_namespace_destroyed(self) -> None: | CODE |
| MEDIUM | sdks/sandbox/python/src/opensandbox/pool_async.py | 745 | def _release_primary_lock_best_effort(self) -> None: | CODE |
| LOW⚡ | sdks/sandbox/python/src/opensandbox/pool_async.py | 538 | except Exception: | CODE |
| LOW⚡ | sdks/sandbox/python/src/opensandbox/pool_async.py | 547 | except Exception as exc: | CODE |
| LOW⚡ | sdks/sandbox/python/src/opensandbox/pool_async.py | 557 | except Exception as exc: | CODE |
| LOW⚡ | sdks/sandbox/python/src/opensandbox/pool_async.py | 750 | except Exception as exc: | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/pool_async.py | 161 | except Exception: | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/pool_async.py | 226 | except Exception as exc: | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/pool_async.py | 232 | except Exception: | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/pool_async.py | 283 | except Exception as exc: | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/pool_async.py | 395 | except Exception as exc: | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/pool_async.py | 417 | except Exception: | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/pool_async.py | 431 | except Exception: | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/pool_async.py | 633 | except Exception as exc: | CODE |
| LOW | …ndbox/python/src/opensandbox/_async_pool_reconciler.py | 126 | except Exception as exc: | CODE |
| LOW | …ndbox/python/src/opensandbox/_async_pool_reconciler.py | 131 | except Exception: | CODE |
| LOW | …ndbox/python/src/opensandbox/_async_pool_reconciler.py | 177 | except Exception as exc: | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/redis_pool_store.py | 538 | except Exception as exc: | STRING |
| LOW | sdks/sandbox/python/src/opensandbox/sandbox.py | 390 | except Exception as e: | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/sandbox.py | 425 | except Exception: | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/sandbox.py | 465 | except Exception as e: | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/sandbox.py | 643 | except Exception as cleanup_ex: | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/sandbox.py | 735 | except Exception as e: | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/sandbox.py | 812 | except Exception as e: | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/_pool_reconciler.py | 161 | except Exception as exc: | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/_pool_reconciler.py | 179 | except Exception as exc: | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/_pool_reconciler.py | 184 | except Exception: | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/_pool_reconciler.py | 224 | except Exception as exc: | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/manager.py | 297 | except Exception as e: | CODE |
| LOW | …ndbox/python/src/opensandbox/config/connection_sync.py | 122 | except Exception: | CODE |
| 379 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …r/python/src/code_interpreter/adapters/code_adapter.py | 0 | return the client for execd api (no auth required). | STRING |
| HIGH | …dbox/python/src/opensandbox/adapters/health_adapter.py | 0 | return the client for execd api (no auth required). | STRING |
| HIGH | …/python/src/opensandbox/adapters/filesystem_adapter.py | 0 | return the client for execd api (no auth required). | STRING |
| HIGH | …box/python/src/opensandbox/adapters/command_adapter.py | 0 | return the client for execd api (no auth required). | STRING |
| HIGH | …box/python/src/opensandbox/adapters/metrics_adapter.py | 0 | return the client for execd api (no auth required). | STRING |
| HIGH | sdks/sandbox/python/src/opensandbox/sandbox.py | 0 | provides access to the connection configuration (including shared transport). | STRING |
| HIGH | sdks/sandbox/python/src/opensandbox/manager.py | 0 | provides access to the connection configuration (including shared transport). | STRING |
| HIGH | sdks/sandbox/python/src/opensandbox/sync/sandbox.py | 0 | provides access to the connection configuration (including shared transport). | STRING |
| HIGH | sdks/sandbox/python/src/opensandbox/sync/manager.py | 0 | provides access to the connection configuration (including shared transport). | STRING |
| HIGH | …dbox/python/src/opensandbox/adapters/health_adapter.py | 0 | initialize the metrics service adapter. args: connection_config: connection configuration (shared transport, headers, ti | STRING |
| HIGH | …box/python/src/opensandbox/adapters/command_adapter.py | 0 | initialize the metrics service adapter. args: connection_config: connection configuration (shared transport, headers, ti | STRING |
| HIGH | …box/python/src/opensandbox/adapters/metrics_adapter.py | 0 | initialize the metrics service adapter. args: connection_config: connection configuration (shared transport, headers, ti | STRING |
| HIGH | …ks/sandbox/python/src/opensandbox/api/egress/client.py | 0 | a class for keeping track of data related to the api the following are accepted as keyword arguments and will be used to | STRING |
| HIGH | sdks/sandbox/python/src/opensandbox/api/execd/client.py | 0 | a class for keeping track of data related to the api the following are accepted as keyword arguments and will be used to | STRING |
| HIGH | …andbox/python/src/opensandbox/api/diagnostic/client.py | 0 | a class for keeping track of data related to the api the following are accepted as keyword arguments and will be used to | STRING |
| HIGH | …sandbox/python/src/opensandbox/api/lifecycle/client.py | 0 | a class for keeping track of data related to the api the following are accepted as keyword arguments and will be used to | STRING |
| HIGH | …ks/sandbox/python/src/opensandbox/api/egress/client.py | 0 | get a new client matching this one with additional headers | STRING |
| HIGH | sdks/sandbox/python/src/opensandbox/api/execd/client.py | 0 | get a new client matching this one with additional headers | STRING |
| HIGH | …andbox/python/src/opensandbox/api/diagnostic/client.py | 0 | get a new client matching this one with additional headers | STRING |
| HIGH | …sandbox/python/src/opensandbox/api/lifecycle/client.py | 0 | get a new client matching this one with additional headers | STRING |
| HIGH | …ks/sandbox/python/src/opensandbox/api/egress/client.py | 0 | get a new client matching this one with additional cookies | STRING |
| HIGH | sdks/sandbox/python/src/opensandbox/api/execd/client.py | 0 | get a new client matching this one with additional cookies | STRING |
| HIGH | …andbox/python/src/opensandbox/api/diagnostic/client.py | 0 | get a new client matching this one with additional cookies | STRING |
| HIGH | …sandbox/python/src/opensandbox/api/lifecycle/client.py | 0 | get a new client matching this one with additional cookies | STRING |
| HIGH | …ks/sandbox/python/src/opensandbox/api/egress/client.py | 0 | get a new client matching this one with a new timeout configuration | STRING |
| HIGH | sdks/sandbox/python/src/opensandbox/api/execd/client.py | 0 | get a new client matching this one with a new timeout configuration | STRING |
| HIGH | …andbox/python/src/opensandbox/api/diagnostic/client.py | 0 | get a new client matching this one with a new timeout configuration | STRING |
| HIGH | …sandbox/python/src/opensandbox/api/lifecycle/client.py | 0 | get a new client matching this one with a new timeout configuration | STRING |
| HIGH | …ks/sandbox/python/src/opensandbox/api/egress/client.py | 0 | manually set the underlying httpx.asyncclient **note**: this will override any other settings on the client, including c | STRING |
| HIGH | sdks/sandbox/python/src/opensandbox/api/execd/client.py | 0 | manually set the underlying httpx.asyncclient **note**: this will override any other settings on the client, including c | STRING |
| HIGH | …andbox/python/src/opensandbox/api/diagnostic/client.py | 0 | manually set the underlying httpx.asyncclient **note**: this will override any other settings on the client, including c | STRING |
| HIGH | …sandbox/python/src/opensandbox/api/lifecycle/client.py | 0 | manually set the underlying httpx.asyncclient **note**: this will override any other settings on the client, including c | STRING |
| HIGH | …ks/sandbox/python/src/opensandbox/api/egress/client.py | 0 | get the underlying httpx.client, constructing a new one if not previously set | STRING |
| HIGH | sdks/sandbox/python/src/opensandbox/api/execd/client.py | 0 | get the underlying httpx.client, constructing a new one if not previously set | STRING |
| HIGH | …andbox/python/src/opensandbox/api/diagnostic/client.py | 0 | get the underlying httpx.client, constructing a new one if not previously set | STRING |
| HIGH | …sandbox/python/src/opensandbox/api/lifecycle/client.py | 0 | get the underlying httpx.client, constructing a new one if not previously set | STRING |
| HIGH | …ks/sandbox/python/src/opensandbox/api/egress/client.py | 0 | enter a context manager for self.client—you cannot enter twice (see httpx docs) | STRING |
| HIGH | sdks/sandbox/python/src/opensandbox/api/execd/client.py | 0 | enter a context manager for self.client—you cannot enter twice (see httpx docs) | STRING |
| HIGH | …andbox/python/src/opensandbox/api/diagnostic/client.py | 0 | enter a context manager for self.client—you cannot enter twice (see httpx docs) | STRING |
| HIGH | …sandbox/python/src/opensandbox/api/lifecycle/client.py | 0 | enter a context manager for self.client—you cannot enter twice (see httpx docs) | STRING |
| HIGH | …ks/sandbox/python/src/opensandbox/api/egress/client.py | 0 | exit a context manager for internal httpx.client (see httpx docs) | STRING |
| HIGH | sdks/sandbox/python/src/opensandbox/api/execd/client.py | 0 | exit a context manager for internal httpx.client (see httpx docs) | STRING |
| HIGH | …andbox/python/src/opensandbox/api/diagnostic/client.py | 0 | exit a context manager for internal httpx.client (see httpx docs) | STRING |
| HIGH | …sandbox/python/src/opensandbox/api/lifecycle/client.py | 0 | exit a context manager for internal httpx.client (see httpx docs) | STRING |
| HIGH | …ks/sandbox/python/src/opensandbox/api/egress/client.py | 0 | get the underlying httpx.asyncclient, constructing a new one if not previously set | STRING |
| HIGH | sdks/sandbox/python/src/opensandbox/api/execd/client.py | 0 | get the underlying httpx.asyncclient, constructing a new one if not previously set | STRING |
| HIGH | …andbox/python/src/opensandbox/api/diagnostic/client.py | 0 | get the underlying httpx.asyncclient, constructing a new one if not previously set | STRING |
| HIGH | …sandbox/python/src/opensandbox/api/lifecycle/client.py | 0 | get the underlying httpx.asyncclient, constructing a new one if not previously set | STRING |
| HIGH | …ks/sandbox/python/src/opensandbox/api/egress/client.py | 0 | enter a context manager for underlying httpx.asyncclient—you cannot enter twice (see httpx docs) | STRING |
| HIGH | sdks/sandbox/python/src/opensandbox/api/execd/client.py | 0 | enter a context manager for underlying httpx.asyncclient—you cannot enter twice (see httpx docs) | STRING |
| HIGH | …andbox/python/src/opensandbox/api/diagnostic/client.py | 0 | enter a context manager for underlying httpx.asyncclient—you cannot enter twice (see httpx docs) | STRING |
| HIGH | …sandbox/python/src/opensandbox/api/lifecycle/client.py | 0 | enter a context manager for underlying httpx.asyncclient—you cannot enter twice (see httpx docs) | STRING |
| HIGH | …ks/sandbox/python/src/opensandbox/api/egress/client.py | 0 | exit a context manager for underlying httpx.asyncclient (see httpx docs) | STRING |
| HIGH | sdks/sandbox/python/src/opensandbox/api/execd/client.py | 0 | exit a context manager for underlying httpx.asyncclient (see httpx docs) | STRING |
| HIGH | …andbox/python/src/opensandbox/api/diagnostic/client.py | 0 | exit a context manager for underlying httpx.asyncclient (see httpx docs) | STRING |
| HIGH | …sandbox/python/src/opensandbox/api/lifecycle/client.py | 0 | exit a context manager for underlying httpx.asyncclient (see httpx docs) | STRING |
| HIGH | …ks/sandbox/python/src/opensandbox/api/egress/client.py | 0 | a client which has been authenticated for use on secured endpoints the following are accepted as keyword arguments and w | STRING |
| HIGH | sdks/sandbox/python/src/opensandbox/api/execd/client.py | 0 | a client which has been authenticated for use on secured endpoints the following are accepted as keyword arguments and w | STRING |
| HIGH | …andbox/python/src/opensandbox/api/diagnostic/client.py | 0 | a client which has been authenticated for use on secured endpoints the following are accepted as keyword arguments and w | STRING |
| HIGH | …sandbox/python/src/opensandbox/api/lifecycle/client.py | 0 | a client which has been authenticated for use on secured endpoints the following are accepted as keyword arguments and w | STRING |
| 16 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | README.md | 97 | osb config set connection.api_key <your-api-key> | CODE |
| HIGH | sdks/code-interpreter/python/README.md | 48 | api_key="your-api-key", | CODE |
| HIGH | sdks/code-interpreter/python/README.md | 109 | api_key="your-api-key", | CODE |
| HIGH | sdks/code-interpreter/csharp/README.md | 33 | ApiKey = "your-api-key" | CODE |
| HIGH | sdks/code-interpreter/javascript/README.md | 45 | apiKey: "your-api-key", | CODE |
| HIGH | sdks/sandbox/go/README.md | 35 | lc := opensandbox.NewLifecycleClient("http://localhost:8080/v1", "your-api-key") | CODE |
| HIGH | sdks/sandbox/python/README.md | 36 | api_key="your-api-key" | CODE |
| HIGH | sdks/sandbox/python/README.md | 80 | api_key="your-api-key", | CODE |
| HIGH | sdks/sandbox/python/src/opensandbox/__init__.py | 57 | api_key="your-api-key", | STRING |
| HIGH | sdks/sandbox/kotlin/README.md | 43 | .apiKey("your-api-key") | CODE |
| HIGH | sdks/sandbox/kotlin/code-interpreter/README.md | 54 | .apiKey("your-api-key") | CODE |
| HIGH | …main/kotlin/com/alibaba/opensandbox/sandbox/Sandbox.kt | 718 | * .apiKey("your-api-key") | COMMENT |
| HIGH | sdks/sandbox/csharp/README.md | 34 | ApiKey = "your-api-key", | CODE |
| HIGH | sdks/sandbox/javascript/README.md | 37 | apiKey: "your-api-key", | CODE |
| HIGH | specs/sandbox-lifecycle.yml | 30 | OPEN-SANDBOX-API-KEY: your-api-key | CODE |
| HIGH | specs/sandbox-lifecycle.yml | 35 | OPEN_SANDBOX_API_KEY=your-api-key | CODE |
| HIGH | specs/sandbox-lifecycle.yml | 689 | 1. HTTP Header: OPEN-SANDBOX-API-KEY: your-api-key | CODE |
| HIGH | specs/diagnostic-api.yml | 27 | OPEN-SANDBOX-API-KEY: your-api-key | CODE |
| HIGH | specs/diagnostic-api.yml | 32 | OPEN_SANDBOX_API_KEY=your-api-key | CODE |
| HIGH | specs/diagnostic-api.yml | 190 | 1. HTTP Header: OPEN-SANDBOX-API-KEY: your-api-key | CODE |
| HIGH | docs/sdks/kotlin.md | 49 | .apiKey("your-api-key") | CODE |
| HIGH | docs/sdks/go.md | 40 | lc := opensandbox.NewLifecycleClient("http://localhost:8080/v1", "your-api-key") | CODE |
| HIGH | docs/sdks/go.md | 121 | APIKey: "your-api-key", | CODE |
| HIGH | docs/sdks/python.md | 42 | api_key="your-api-key" | CODE |
| HIGH | docs/sdks/python.md | 86 | api_key="your-api-key", | CODE |
| HIGH | docs/sdks/csharp.md | 40 | ApiKey = "your-api-key", | CODE |
| HIGH | docs/sdks/javascript.md | 43 | apiKey: "your-api-key", | CODE |
| HIGH | docs/sdks/code-interpreter/kotlin.md | 58 | .apiKey("your-api-key") | CODE |
| HIGH | docs/sdks/code-interpreter/python.md | 52 | api_key="your-api-key", | CODE |
| HIGH | docs/sdks/code-interpreter/python.md | 113 | api_key="your-api-key", | CODE |
| HIGH | docs/sdks/code-interpreter/csharp.md | 37 | ApiKey = "your-api-key" | CODE |
| HIGH | docs/sdks/code-interpreter/javascript.md | 51 | apiKey: "your-api-key", | CODE |
| HIGH | docs/cli/index.md | 59 | osb config set connection.api_key <your-api-key> | CODE |
| HIGH | docs/cli/index.md | 388 | api_key = "your-api-key" | CODE |
| HIGH | docs/examples/docker-ossfs-volume-mount.md | 63 | export SANDBOX_API_KEY=your-api-key | CODE |
| HIGH | docs/examples/kubernetes-pvc-volume-mount.md | 99 | export OPEN_SANDBOX_API_KEY=your-api-key | CODE |
| HIGH | docs/examples/qwen-code.md | 36 | export API_KEY=your-api-key | CODE |
| HIGH | docs/api/index.md | 44 | - HTTP Header: `OPEN-SANDBOX-API-KEY: your-api-key` | CODE |
| HIGH | docs/api/index.md | 58 | - HTTP Header: `OPEN-SANDBOX-API-KEY: your-api-key` | CODE |
| HIGH | cli/README.md | 54 | osb config set connection.api_key <your-api-key> | CODE |
| HIGH | cli/README.md | 384 | api_key = "your-api-key" | CODE |
| HIGH | cli/src/opensandbox_cli/config.py | 48 | # api_key = "your-api-key" | COMMENT |
| HIGH | examples/kubernetes-pvc-volume-mount/main.py | 29 | export OPEN_SANDBOX_API_KEY=your-api-key | STRING |
| HIGH | oseps/0003-volume-and-volumebinding-support.md | 237 | client = AuthenticatedClient(base_url="https://api.opensandbox.io", token="YOUR_API_KEY") | CODE |
| HIGH | oseps/0003-volume-and-volumebinding-support.md | 297 | client = AuthenticatedClient(base_url="https://api.opensandbox.io", token="YOUR_API_KEY") | CODE |
| HIGH | oseps/0003-volume-and-volumebinding-support.md | 375 | client = AuthenticatedClient(base_url="https://api.opensandbox.io", token="YOUR_API_KEY") | CODE |
| HIGH | oseps/0003-volume-and-volumebinding-support.md | 462 | client = AuthenticatedClient(base_url="https://api.opensandbox.io", token="YOUR_API_KEY") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | sdks/sandbox/go/pool_reconciler.go | 134 | // Step 1: Try to acquire the primary lock. | COMMENT |
| LOW | sdks/sandbox/go/pool_reconciler.go | 146 | // Step 2: Reap expired idle entries. | COMMENT |
| LOW | sdks/sandbox/go/pool_reconciler.go | 166 | // Step 3: Snapshot counters and determine current state. | COMMENT |
| LOW | sdks/sandbox/go/pool_reconciler.go | 179 | // Step 4: If idle > maxIdle, shrink excess. | COMMENT |
| LOW | sdks/sandbox/go/pool_reconciler.go | 215 | // Step 5: If deficit > 0 and not in backoff, create sandboxes. | COMMENT |
| LOW | sdks/sandbox/kotlin/code-interpreter/README.md | 201 | // Step 1: Define variables | COMMENT |
| LOW | sdks/sandbox/kotlin/code-interpreter/README.md | 211 | // Step 2: Use variables from previous step | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e_sync.py | 458 | # Step 2: Write a file from inside the sandbox to the mounted path (read-write) | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e_sync.py | 464 | # Step 3: Verify the written file is readable | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e_sync.py | 476 | # Step 4: Verify the mount path is a proper directory | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e_sync.py | 541 | # Step 2: Verify writing is denied on read-only mount | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e_sync.py | 603 | # Step 2: Write a file from inside the sandbox to the named volume | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e_sync.py | 609 | # Step 3: Verify the written file is readable | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e_sync.py | 621 | # Step 4: Verify the mount path is a proper directory | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e_sync.py | 683 | # Step 2: Verify writing is denied on read-only mount | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e_sync.py | 746 | # Step 2: Verify we only see the subpath contents (not the full volume) | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e_sync.py | 754 | # Step 3: Write a file and verify (retry read-back for transient SSE drops) | COMMENT |
| LOW | tests/python/tests/test_sandbox_e2e_sync.py | 446 | # Step 1: Verify the host marker file is visible inside the sandbox | COMMENT |
| LOW | tests/python/tests/test_sandbox_e2e_sync.py | 529 | # Step 1: Verify the host marker file is readable | COMMENT |
| LOW | tests/python/tests/test_sandbox_e2e_sync.py | 591 | # Step 1: Verify the marker file seeded into the named volume is readable | COMMENT |
| LOW | tests/python/tests/test_sandbox_e2e_sync.py | 671 | # Step 1: Verify the marker file is readable | COMMENT |
| LOW | tests/python/tests/test_sandbox_e2e_sync.py | 734 | # Step 1: Verify the subpath marker file is readable | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e.py | 710 | # Step 2: Write a file from inside the sandbox to the mounted path (read-write) | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e.py | 717 | # Step 3: Verify the written file is readable | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e.py | 791 | # Step 2: Verify writing is denied on read-only mount | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e.py | 850 | # Step 2: Write a file from inside the sandbox to the named volume | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e.py | 857 | # Step 3: Verify the written file is readable | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e.py | 869 | # Step 4: Verify the mount path is a proper directory | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e.py | 927 | # Step 2: Verify writing is denied on read-only mount | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e.py | 987 | # Step 2: Verify we only see the subpath contents (not the full volume) | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e.py | 997 | # Step 3: Write a file and verify (retry read-back for transient SSE drops) | COMMENT |
| LOW | tests/python/tests/test_sandbox_e2e.py | 697 | # Step 1: Verify the host marker file is visible inside the sandbox | COMMENT |
| LOW | tests/python/tests/test_sandbox_e2e.py | 729 | # Step 4: Verify the mount path is a proper directory | COMMENT |
| LOW | tests/python/tests/test_sandbox_e2e.py | 779 | # Step 1: Verify the host marker file is readable | COMMENT |
| LOW | tests/python/tests/test_sandbox_e2e.py | 837 | # Step 1: Verify the marker file seeded into the named volume is readable | COMMENT |
| LOW | tests/python/tests/test_sandbox_e2e.py | 915 | # Step 1: Verify the marker file is readable on read-only mount | COMMENT |
| LOW | tests/python/tests/test_sandbox_e2e.py | 974 | # Step 1: Verify the subpath marker file is readable | COMMENT |
| LOW⚡ | …t/java/com/alibaba/opensandbox/e2e/SandboxE2ETest.java | 531 | // Step 1: Verify the host marker file is visible inside the sandbox | COMMENT |
| LOW⚡ | …t/java/com/alibaba/opensandbox/e2e/SandboxE2ETest.java | 539 | // Step 2: Write a file from inside the sandbox to the mounted path | COMMENT |
| LOW⚡ | …t/java/com/alibaba/opensandbox/e2e/SandboxE2ETest.java | 552 | // Step 3: Verify the written file is readable | COMMENT |
| LOW⚡ | …t/java/com/alibaba/opensandbox/e2e/SandboxE2ETest.java | 559 | // Step 4: Verify the mount path is a proper directory | COMMENT |
| LOW⚡ | …t/java/com/alibaba/opensandbox/e2e/SandboxE2ETest.java | 605 | // Step 1: Verify the host marker file is readable | COMMENT |
| LOW⚡ | …t/java/com/alibaba/opensandbox/e2e/SandboxE2ETest.java | 613 | // Step 2: Verify writing is denied on read-only mount | COMMENT |
| LOW⚡ | …t/java/com/alibaba/opensandbox/e2e/SandboxE2ETest.java | 662 | // Step 1: Verify the marker file seeded into the named volume is readable | COMMENT |
| LOW⚡ | …t/java/com/alibaba/opensandbox/e2e/SandboxE2ETest.java | 669 | // Step 2: Write a file from inside the sandbox to the named volume | COMMENT |
| LOW⚡ | …t/java/com/alibaba/opensandbox/e2e/SandboxE2ETest.java | 682 | // Step 3: Verify the written file is readable | COMMENT |
| LOW⚡ | …t/java/com/alibaba/opensandbox/e2e/SandboxE2ETest.java | 689 | // Step 4: Verify the mount path is a proper directory | COMMENT |
| LOW⚡ | …t/java/com/alibaba/opensandbox/e2e/SandboxE2ETest.java | 735 | // Step 1: Verify the marker file is readable | COMMENT |
| LOW⚡ | …t/java/com/alibaba/opensandbox/e2e/SandboxE2ETest.java | 742 | // Step 2: Verify writing is denied on read-only mount | COMMENT |
| LOW⚡ | …t/java/com/alibaba/opensandbox/e2e/SandboxE2ETest.java | 792 | // Step 1: Verify the subpath marker file is readable | COMMENT |
| LOW⚡ | …t/java/com/alibaba/opensandbox/e2e/SandboxE2ETest.java | 799 | // Step 2: Verify only subPath contents are visible (not the full volume) | COMMENT |
| LOW | …t/java/com/alibaba/opensandbox/e2e/SandboxE2ETest.java | 815 | // Step 3: Write a file and verify | COMMENT |
| LOW⚡ | tests/javascript/tests/test_sandbox_e2e.test.ts | 305 | // Step 2: Write a file from inside the sandbox to the mounted path | COMMENT |
| LOW⚡ | tests/javascript/tests/test_sandbox_e2e.test.ts | 311 | // Step 3: Verify the written file is readable | COMMENT |
| LOW⚡ | tests/javascript/tests/test_sandbox_e2e.test.ts | 447 | // Step 2: Write a file from inside the sandbox to the named volume | COMMENT |
| LOW⚡ | tests/javascript/tests/test_sandbox_e2e.test.ts | 453 | // Step 3: Verify the written file is readable | COMMENT |
| LOW⚡ | tests/javascript/tests/test_sandbox_e2e.test.ts | 590 | // Step 2: Verify only subPath contents are visible (not the full volume) | COMMENT |
| LOW⚡ | tests/javascript/tests/test_sandbox_e2e.test.ts | 599 | // Step 3: Write a file and verify (retry read-back for transient SSE drops) | COMMENT |
| LOW | tests/javascript/tests/test_sandbox_e2e.test.ts | 289 | // Step 1: Verify the host marker file is visible inside the sandbox | COMMENT |
| LOW | tests/javascript/tests/test_sandbox_e2e.test.ts | 327 | // Step 4: Verify the mount path is a proper directory | COMMENT |
| 55 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …preter/python/src/code_interpreter/code_interpreter.py | 36 | logger = logging.getLogger(__name__) | CODE |
| LOW | …de-interpreter/python/src/code_interpreter/__init__.py | 34 | __all__ = [ | CODE |
| LOW | …rpreter/python/src/code_interpreter/models/__init__.py | 25 | __all__ = [ | CODE |
| LOW | …r/python/src/code_interpreter/adapters/code_adapter.py | 51 | logger = logging.getLogger(__name__) | CODE |
| LOW | …reter/python/src/code_interpreter/adapters/__init__.py | 26 | __all__ = [ | CODE |
| LOW | …on/src/code_interpreter/adapters/converter/__init__.py | 24 | __all__ = [ | CODE |
| LOW | …r/python/src/code_interpreter/sync/code_interpreter.py | 33 | logger = logging.getLogger(__name__) | CODE |
| LOW | …terpreter/python/src/code_interpreter/sync/__init__.py | 18 | __all__ = ["CodeInterpreterSync"] | CODE |
| LOW | …hon/src/code_interpreter/sync/adapters/code_adapter.py | 46 | logger = logging.getLogger(__name__) | CODE |
| LOW | …/python/src/code_interpreter/sync/adapters/__init__.py | 23 | __all__ = [ | CODE |
| LOW | …/python/src/code_interpreter/sync/services/__init__.py | 25 | __all__ = [ | CODE |
| LOW | …reter/python/src/code_interpreter/services/__init__.py | 22 | __all__ = [ | CODE |
| LOW | sdks/mcp/sandbox/python/src/opensandbox_mcp/__init__.py | 25 | __all__ = ["create_server"] | CODE |
| LOW | sdks/sandbox/python/tests/test_pool_sync.py | 579 | def set_max_idle(self, pool_name: str, max_idle: int) -> None: | CODE |
| LOW | sdks/sandbox/python/tests/test_pool_async.py | 593 | async def set_max_idle(self, pool_name: str, max_idle: int) -> None: | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/pool_redis.py | 24 | __all__ = [ | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/pool_manager.py | 43 | logger = logging.getLogger(__name__) | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/pool_manager.py | 276 | __all__ = [ | CODE |
| LOW | …ndbox/python/src/opensandbox/async_redis_pool_store.py | 291 | async def set_max_idle(self, pool_name: str, max_idle: int) -> None: | CODE |
| LOW | …ndbox/python/src/opensandbox/async_redis_pool_store.py | 307 | async def set_idle_entry_ttl(self, pool_name: str, idle_ttl: timedelta) -> None: | CODE |
| LOW⚡ | sdks/sandbox/python/src/opensandbox/pool_async.py | 770 | __all__ = [ | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/pool_async.py | 55 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ndbox/python/src/opensandbox/_async_pool_reconciler.py | 34 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ks/sandbox/python/src/opensandbox/_async_pool_store.py | 180 | async def set_max_idle(self, pool_name: str, max_idle: int) -> None: | CODE |
| LOW | …ks/sandbox/python/src/opensandbox/_async_pool_store.py | 185 | async def set_idle_entry_ttl(self, pool_name: str, idle_ttl: timedelta) -> None: | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/__init__.py | 130 | __all__ = [ | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/redis_pool_store.py | 375 | def set_max_idle(self, pool_name: str, max_idle: int) -> None: | STRING |
| LOW | sdks/sandbox/python/src/opensandbox/redis_pool_store.py | 391 | def set_idle_entry_ttl(self, pool_name: str, idle_ttl: timedelta) -> None: | STRING |
| LOW | sdks/sandbox/python/src/opensandbox/sandbox.py | 63 | logger = logging.getLogger(__name__) | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/_pool_reconciler.py | 35 | logger = logging.getLogger(__name__) | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/pool.py | 52 | __all__ = [ | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/_pool_store.py | 184 | def set_max_idle(self, pool_name: str, max_idle: int) -> None: | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/_pool_store.py | 189 | def set_idle_entry_ttl(self, pool_name: str, idle_ttl: timedelta) -> None: | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/manager.py | 42 | logger = logging.getLogger(__name__) | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/pool_types.py | 219 | def set_max_idle(self, pool_name: str, max_idle: int) -> None: ... | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/pool_types.py | 221 | def set_idle_entry_ttl(self, pool_name: str, idle_ttl: timedelta) -> None: ... | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/pool_types.py | 261 | async def set_max_idle(self, pool_name: str, max_idle: int) -> None: ... | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/pool_types.py | 263 | async def set_idle_entry_ttl(self, pool_name: str, idle_ttl: timedelta) -> None: ... | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/config/__init__.py | 23 | __all__ = ["ConnectionConfig", "ConnectionConfigSync"] | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/models/__init__.py | 91 | __all__ = [ | CODE |
| LOW | …/sandbox/python/src/opensandbox/exceptions/__init__.py | 36 | __all__ = [ | CODE |
| LOW | …dbox/python/src/opensandbox/adapters/health_adapter.py | 31 | logger = logging.getLogger(__name__) | CODE |
| LOW | …x/python/src/opensandbox/adapters/sandboxes_adapter.py | 60 | logger = logging.getLogger(__name__) | CODE |
| LOW | …dbox/python/src/opensandbox/adapters/egress_adapter.py | 47 | logger = logging.getLogger(__name__) | CODE |
| LOW | …/python/src/opensandbox/adapters/filesystem_adapter.py | 58 | logger = logging.getLogger(__name__) | CODE |
| LOW | …/python/src/opensandbox/adapters/filesystem_adapter.py | 518 | async def set_permissions(self, entries: list[SetPermissionEntry]) -> None: | CODE |
| LOW | …python/src/opensandbox/adapters/diagnostics_adapter.py | 34 | logger = logging.getLogger(__name__) | CODE |
| LOW | …box/python/src/opensandbox/adapters/command_adapter.py | 57 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ks/sandbox/python/src/opensandbox/adapters/__init__.py | 30 | __all__ = [ | CODE |
| LOW | …ox/python/src/opensandbox/adapters/isolated_adapter.py | 53 | logger = logging.getLogger(__name__) | CODE |
| LOW | …rc/opensandbox/adapters/isolated_filesystem_adapter.py | 53 | logger = logging.getLogger(__name__) | CODE |
| LOW | …rc/opensandbox/adapters/isolated_filesystem_adapter.py | 305 | async def set_permissions(self, entries: list[SetPermissionEntry]) -> None: | CODE |
| LOW | …box/python/src/opensandbox/adapters/metrics_adapter.py | 40 | logger = logging.getLogger(__name__) | CODE |
| LOW | …src/opensandbox/adapters/converter/response_handler.py | 33 | logger = logging.getLogger(__name__) | CODE |
| LOW | …/opensandbox/adapters/converter/exception_converter.py | 54 | logger = logging.getLogger(__name__) | CODE |
| LOW | …/python/src/opensandbox/adapters/converter/__init__.py | 48 | __all__ = [ | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/api/egress/types.py | 70 | __all__ = ["UNSET", "File", "FileTypes", "RequestFiles", "Response", "Unset"] | CODE |
| LOW | …ks/sandbox/python/src/opensandbox/api/egress/errors.py | 32 | __all__ = ["UnexpectedStatus"] | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/api/execd/types.py | 70 | __all__ = ["UNSET", "File", "FileTypes", "RequestFiles", "Response", "Unset"] | CODE |
| LOW | sdks/sandbox/python/src/opensandbox/api/execd/errors.py | 32 | __all__ = ["UnexpectedStatus"] | CODE |
| 105 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | sdks/sandbox/go/pool_reconciler.go | 134 | // Step 1: Try to acquire the primary lock. | COMMENT |
| LOW | sdks/sandbox/go/pool_reconciler.go | 146 | // Step 2: Reap expired idle entries. | COMMENT |
| LOW | sdks/sandbox/go/pool_reconciler.go | 166 | // Step 3: Snapshot counters and determine current state. | COMMENT |
| LOW | sdks/sandbox/go/pool_reconciler.go | 179 | // Step 4: If idle > maxIdle, shrink excess. | COMMENT |
| LOW | sdks/sandbox/go/pool_reconciler.go | 215 | // Step 5: If deficit > 0 and not in backoff, create sandboxes. | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e_sync.py | 458 | # Step 2: Write a file from inside the sandbox to the mounted path (read-write) | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e_sync.py | 464 | # Step 3: Verify the written file is readable | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e_sync.py | 476 | # Step 4: Verify the mount path is a proper directory | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e_sync.py | 541 | # Step 2: Verify writing is denied on read-only mount | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e_sync.py | 603 | # Step 2: Write a file from inside the sandbox to the named volume | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e_sync.py | 609 | # Step 3: Verify the written file is readable | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e_sync.py | 621 | # Step 4: Verify the mount path is a proper directory | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e_sync.py | 683 | # Step 2: Verify writing is denied on read-only mount | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e_sync.py | 746 | # Step 2: Verify we only see the subpath contents (not the full volume) | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e_sync.py | 754 | # Step 3: Write a file and verify (retry read-back for transient SSE drops) | COMMENT |
| LOW | tests/python/tests/test_sandbox_e2e_sync.py | 446 | # Step 1: Verify the host marker file is visible inside the sandbox | COMMENT |
| LOW | tests/python/tests/test_sandbox_e2e_sync.py | 529 | # Step 1: Verify the host marker file is readable | COMMENT |
| LOW | tests/python/tests/test_sandbox_e2e_sync.py | 591 | # Step 1: Verify the marker file seeded into the named volume is readable | COMMENT |
| LOW | tests/python/tests/test_sandbox_e2e_sync.py | 671 | # Step 1: Verify the marker file is readable | COMMENT |
| LOW | tests/python/tests/test_sandbox_e2e_sync.py | 734 | # Step 1: Verify the subpath marker file is readable | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e.py | 710 | # Step 2: Write a file from inside the sandbox to the mounted path (read-write) | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e.py | 717 | # Step 3: Verify the written file is readable | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e.py | 791 | # Step 2: Verify writing is denied on read-only mount | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e.py | 850 | # Step 2: Write a file from inside the sandbox to the named volume | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e.py | 857 | # Step 3: Verify the written file is readable | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e.py | 869 | # Step 4: Verify the mount path is a proper directory | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e.py | 927 | # Step 2: Verify writing is denied on read-only mount | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e.py | 987 | # Step 2: Verify we only see the subpath contents (not the full volume) | COMMENT |
| LOW⚡ | tests/python/tests/test_sandbox_e2e.py | 997 | # Step 3: Write a file and verify (retry read-back for transient SSE drops) | COMMENT |
| LOW | tests/python/tests/test_sandbox_e2e.py | 697 | # Step 1: Verify the host marker file is visible inside the sandbox | COMMENT |
| LOW | tests/python/tests/test_sandbox_e2e.py | 729 | # Step 4: Verify the mount path is a proper directory | COMMENT |
| LOW | tests/python/tests/test_sandbox_e2e.py | 779 | # Step 1: Verify the host marker file is readable | COMMENT |
| LOW | tests/python/tests/test_sandbox_e2e.py | 837 | # Step 1: Verify the marker file seeded into the named volume is readable | COMMENT |
| LOW | tests/python/tests/test_sandbox_e2e.py | 915 | # Step 1: Verify the marker file is readable on read-only mount | COMMENT |
| LOW | tests/python/tests/test_sandbox_e2e.py | 974 | # Step 1: Verify the subpath marker file is readable | COMMENT |
| LOW⚡ | …t/java/com/alibaba/opensandbox/e2e/SandboxE2ETest.java | 531 | // Step 1: Verify the host marker file is visible inside the sandbox | COMMENT |
| LOW⚡ | …t/java/com/alibaba/opensandbox/e2e/SandboxE2ETest.java | 539 | // Step 2: Write a file from inside the sandbox to the mounted path | COMMENT |
| LOW⚡ | …t/java/com/alibaba/opensandbox/e2e/SandboxE2ETest.java | 552 | // Step 3: Verify the written file is readable | COMMENT |
| LOW⚡ | …t/java/com/alibaba/opensandbox/e2e/SandboxE2ETest.java | 559 | // Step 4: Verify the mount path is a proper directory | COMMENT |
| LOW⚡ | …t/java/com/alibaba/opensandbox/e2e/SandboxE2ETest.java | 605 | // Step 1: Verify the host marker file is readable | COMMENT |
| LOW⚡ | …t/java/com/alibaba/opensandbox/e2e/SandboxE2ETest.java | 613 | // Step 2: Verify writing is denied on read-only mount | COMMENT |
| LOW⚡ | …t/java/com/alibaba/opensandbox/e2e/SandboxE2ETest.java | 662 | // Step 1: Verify the marker file seeded into the named volume is readable | COMMENT |
| LOW⚡ | …t/java/com/alibaba/opensandbox/e2e/SandboxE2ETest.java | 669 | // Step 2: Write a file from inside the sandbox to the named volume | COMMENT |
| LOW⚡ | …t/java/com/alibaba/opensandbox/e2e/SandboxE2ETest.java | 682 | // Step 3: Verify the written file is readable | COMMENT |
| LOW⚡ | …t/java/com/alibaba/opensandbox/e2e/SandboxE2ETest.java | 689 | // Step 4: Verify the mount path is a proper directory | COMMENT |
| LOW⚡ | …t/java/com/alibaba/opensandbox/e2e/SandboxE2ETest.java | 735 | // Step 1: Verify the marker file is readable | COMMENT |
| LOW⚡ | …t/java/com/alibaba/opensandbox/e2e/SandboxE2ETest.java | 742 | // Step 2: Verify writing is denied on read-only mount | COMMENT |
| LOW⚡ | …t/java/com/alibaba/opensandbox/e2e/SandboxE2ETest.java | 792 | // Step 1: Verify the subpath marker file is readable | COMMENT |
| LOW⚡ | …t/java/com/alibaba/opensandbox/e2e/SandboxE2ETest.java | 799 | // Step 2: Verify only subPath contents are visible (not the full volume) | COMMENT |
| LOW | …t/java/com/alibaba/opensandbox/e2e/SandboxE2ETest.java | 815 | // Step 3: Write a file and verify | COMMENT |
| LOW⚡ | tests/javascript/tests/test_sandbox_e2e.test.ts | 305 | // Step 2: Write a file from inside the sandbox to the mounted path | COMMENT |
| LOW⚡ | tests/javascript/tests/test_sandbox_e2e.test.ts | 311 | // Step 3: Verify the written file is readable | COMMENT |
| LOW⚡ | tests/javascript/tests/test_sandbox_e2e.test.ts | 447 | // Step 2: Write a file from inside the sandbox to the named volume | COMMENT |
| LOW⚡ | tests/javascript/tests/test_sandbox_e2e.test.ts | 453 | // Step 3: Verify the written file is readable | COMMENT |
| LOW⚡ | tests/javascript/tests/test_sandbox_e2e.test.ts | 590 | // Step 2: Verify only subPath contents are visible (not the full volume) | COMMENT |
| LOW⚡ | tests/javascript/tests/test_sandbox_e2e.test.ts | 599 | // Step 3: Write a file and verify (retry read-back for transient SSE drops) | COMMENT |
| LOW | tests/javascript/tests/test_sandbox_e2e.test.ts | 289 | // Step 1: Verify the host marker file is visible inside the sandbox | COMMENT |
| LOW | tests/javascript/tests/test_sandbox_e2e.test.ts | 327 | // Step 4: Verify the mount path is a proper directory | COMMENT |
| LOW | tests/javascript/tests/test_sandbox_e2e.test.ts | 372 | // Step 1: Verify the host marker file is readable | COMMENT |
| LOW | tests/javascript/tests/test_sandbox_e2e.test.ts | 388 | // Step 2: Verify writing is denied on read-only mount | COMMENT |
| 29 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …python/tests/test_command_service_adapter_streaming.py | 84 | b'data: {"type":"error","error":{"ename":"CommandExecError","evalue":"fork/exec /usr/bin/bash: resource | CODE |
| HIGH | …n/tests/test_sync_command_service_adapter_streaming.py | 75 | b'data: {"type":"error","error":{"ename":"CommandExecError","evalue":"fork/exec /usr/bin/bash: resource | CODE |
| HIGH⚡ | tests/python/tests/test_isolated_session_e2e.py | 229 | await session.run("mkdir -p /tmp/subdir && echo nested > /tmp/subdir/file.txt") | CODE |
| HIGH⚡ | tests/python/tests/test_isolated_session_e2e.py | 230 | result = await session.run("cat /tmp/persist.txt && cat /tmp/subdir/file.txt") | CODE |
| HIGH⚡ | tests/python/tests/test_isolated_session_e2e.py | 442 | f"cat /tmp/{marker} 2>&1 || echo NOT_FOUND" | CODE |
| HIGH⚡ | tests/python/tests/test_isolated_session_e2e.py | 487 | host_check = await self.sandbox.commands.run(f"cat {path} 2>&1 || echo NOT_FOUND") | CODE |
| HIGH | tests/python/tests/test_isolated_session_e2e.py | 184 | "cat /tmp/isolated_test_file.txt 2>&1 || echo NOT_FOUND" | CODE |
| HIGH⚡ | server/tests/k8s/test_k8s_windows_profile.py | 141 | entrypoint=["/bin/sh", "-c", "patch && exec /run/entry.sh"], | CODE |
| HIGH⚡ | server/tests/k8s/test_k8s_windows_profile.py | 146 | assert main["command"] == ["/bin/sh", "-c", "patch && exec /run/entry.sh"] | CODE |
| HIGH | server/opensandbox_server/config.py | 461 | "Set to 0 to disable (TOML cannot express null). " | CODE |
| HIGH | server/opensandbox_server/api/schema.py | 419 | "When omitted or null, the sandbox will not auto-terminate and must be deleted explicitly. " | CODE |
| HIGH | server/opensandbox_server/services/signing.py | 23 | inner = BE32(len(secret)) || secret || BE32(len(canonical)) || canonical | STRING |
| HIGH | server/opensandbox_server/services/signing.py | 145 | ``inner = BE32(len(secret)) || secret || BE32(len(canonical)) || canonical`` | STRING |
| HIGH | …ver/opensandbox_server/services/k8s/provider_common.py | 128 | "chmod +x /opt/opensandbox/bwrap || true)" | CODE |
| HIGH | components/execd/tests/smoke_api.py | 54 | payload = {"command": "echo smoke-command && sleep 1", "background": True} | CODE |
| HIGH | components/execd/tests/smoke_api.py | 155 | "command": "sh -c 'echo long-run-start && sleep 20 && echo long-run-end'", | CODE |
| HIGH | examples/qwen-code/main.py | 115 | 'cd /tmp/qwen-code-example && qwen -p "Compute 1+1 and reply with only the final number."' | CODE |
| HIGH | examples/host-volume-mount/main.py | 171 | "touch /mnt/readonly/should-fail.txt 2>&1 || echo 'Write denied (expected)'" | CODE |
| HIGH | examples/docker-pvc-volume-mount/main.py | 198 | "touch /mnt/readonly/should-fail.txt 2>&1 || echo 'Write denied (expected)'" | CODE |
| HIGH | examples/docker-pvc-volume-mount/main.py | 312 | result = await sandbox.commands.run("test -f /mnt/training-data/marker.txt && echo FOUND || echo NOT-FOUND") | CODE |
| HIGH | examples/docker-pvc-volume-mount/main.py | 312 | result = await sandbox.commands.run("test -f /mnt/training-data/marker.txt && echo FOUND || echo NOT-FOUND") | CODE |
| HIGH | examples/rl-training/main.py | 113 | "apt-get update && apt-get install -y python3-pip", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …om/alibaba/opensandbox/sandbox/pool/SandboxPoolTest.kt | 249 | com.alibaba.opensandbox.sandbox.domain.pool.PoolConfig.builder() | CODE |
| CRITICAL | …om/alibaba/opensandbox/sandbox/pool/SandboxPoolTest.kt | 279 | com.alibaba.opensandbox.sandbox.domain.pool.PoolConfig.builder() | CODE |
| CRITICAL | …ox/infrastructure/adapters/service/SandboxesAdapter.kt | 79 | com.alibaba.opensandbox.sandbox.infrastructure.cache.EndpointCache( | CODE |
| CRITICAL | …ox/infrastructure/adapters/service/SandboxesAdapter.kt | 242 | name?.let { com.alibaba.opensandbox.sandbox.api.models.CreateSnapshotRequest(name = it) }, | CODE |
| CRITICAL | …ox/infrastructure/adapters/service/SandboxesAdapter.kt | 287 | val key = com.alibaba.opensandbox.sandbox.infrastructure.cache.EndpointCacheKey(sandboxId, port, useServerProxy) | CODE |
| CRITICAL | …tructure/adapters/service/IsolatedFilesystemAdapter.kt | 259 | com.alibaba.opensandbox.sandbox.api.models.execd.Permission( | CODE |
| CRITICAL | …x/infrastructure/adapters/service/FilesystemAdapter.kt | 265 | com.alibaba.opensandbox.sandbox.api.models.execd.Permission( | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …hon/src/code_interpreter/sync/adapters/code_adapter.py | 232 | CODE | |
| LOW | sdks/sandbox/python/tests/test_pool_store.py | 138 | CODE | |
| LOW | sdks/sandbox/python/tests/test_pool_store.py | 147 | CODE | |
| LOW | sdks/sandbox/python/src/opensandbox/pool_async.py | 167 | CODE | |
| LOW | sdks/sandbox/python/src/opensandbox/pool_async.py | 267 | CODE | |
| LOW | sdks/sandbox/python/src/opensandbox/pool_async.py | 403 | CODE | |
| LOW | sdks/sandbox/python/src/opensandbox/pool_async.py | 472 | CODE | |
| LOW | …ndbox/python/src/opensandbox/_async_pool_reconciler.py | 61 | CODE | |
| LOW | sdks/sandbox/python/src/opensandbox/_pool_reconciler.py | 111 | CODE | |
| LOW | …/python/src/opensandbox/adapters/filesystem_adapter.py | 274 | CODE | |
| LOW | …/python/src/opensandbox/adapters/filesystem_adapter.py | 329 | CODE | |
| LOW | …/python/src/opensandbox/adapters/filesystem_adapter.py | 341 | CODE | |
| LOW | …rc/opensandbox/adapters/isolated_filesystem_adapter.py | 183 | CODE | |
| LOW | …src/opensandbox/adapters/converter/response_handler.py | 101 | CODE | |
| LOW | …ndbox/adapters/converter/filesystem_model_converter.py | 74 | CODE | |
| LOW | …ndbox/adapters/converter/execution_event_dispatcher.py | 45 | CODE | |
| LOW | …rc/opensandbox/api/egress/models/credential_binding.py | 56 | CODE | |
| LOW | sdks/sandbox/python/src/opensandbox/sync/pool.py | 173 | CODE | |
| LOW | sdks/sandbox/python/src/opensandbox/sync/pool.py | 274 | CODE | |
| LOW | sdks/sandbox/python/src/opensandbox/sync/pool.py | 393 | CODE | |
| LOW | sdks/sandbox/python/src/opensandbox/sync/pool.py | 457 | CODE | |
| LOW | …on/src/opensandbox/sync/adapters/filesystem_adapter.py | 240 | CODE | |
| LOW | …on/src/opensandbox/sync/adapters/filesystem_adapter.py | 292 | CODE | |
| LOW | …on/src/opensandbox/sync/adapters/filesystem_adapter.py | 303 | CODE | |
| LOW | …thon/src/opensandbox/sync/adapters/isolated_adapter.py | 224 | CODE | |
| LOW | …ensandbox/sync/adapters/isolated_filesystem_adapter.py | 187 | CODE | |
| LOW | …/sync/adapters/converter/execution_event_dispatcher.py | 41 | CODE | |
| LOW | tests/python/tests/test_sandbox_pool_e2e_async.py | 849 | CODE | |
| LOW | tests/python/tests/test_sandbox_pool_e2e_sync.py | 905 | CODE | |
| LOW | tests/python/tests/test_code_interpreter_e2e.py | 116 | CODE | |
| LOW | tests/python/tests/test_code_interpreter_e2e.py | 172 | CODE | |
| LOW | tests/python/tests/test_code_interpreter_e2e.py | 303 | CODE | |
| LOW | tests/python/tests/test_code_interpreter_e2e.py | 139 | CODE | |
| LOW | tests/python/tests/test_code_interpreter_e2e_sync.py | 109 | CODE | |
| LOW | tests/python/tests/test_code_interpreter_e2e_sync.py | 165 | CODE | |
| LOW | tests/python/tests/test_code_interpreter_e2e_sync.py | 132 | CODE | |
| LOW | tests/python/tests/test_code_interpreter_e2e_sync.py | 935 | CODE | |
| LOW | tests/python/tests/test_sandbox_manager_e2e_sync.py | 54 | CODE | |
| LOW | server/tests/test_docker_service.py | 2553 | CODE | |
| LOW | server/tests/test_docker_service.py | 2718 | CODE | |
| LOW | server/opensandbox_server/config.py | 332 | CODE | |
| LOW | server/opensandbox_server/config.py | 965 | CODE | |
| LOW | server/opensandbox_server/api/proxy.py | 347 | CODE | |
| LOW | server/opensandbox_server/services/sandbox_service.py | 63 | CODE | |
| LOW | …er/opensandbox_server/services/docker/container_ops.py | 382 | CODE | |
| LOW | …r/opensandbox_server/services/docker/docker_service.py | 504 | CODE | |
| LOW | …/opensandbox_server/services/docker/windows_profile.py | 119 | CODE | |
| LOW | …/opensandbox_server/services/docker/windows_profile.py | 198 | CODE | |
| LOW | server/opensandbox_server/services/docker/volumes.py | 49 | CODE | |
| LOW | server/opensandbox_server/services/docker/volumes.py | 349 | CODE | |
| LOW | server/opensandbox_server/services/docker/runtime.py | 51 | CODE | |
| LOW | server/opensandbox_server/services/docker/networking.py | 383 | CODE | |
| LOW | server/opensandbox_server/services/docker/networking.py | 545 | CODE | |
| LOW | …ensandbox_server/services/docker/docker_diagnostics.py | 67 | CODE | |
| LOW | server/opensandbox_server/services/k8s/volume_helper.py | 51 | CODE | |
| LOW | …/opensandbox_server/services/k8s/kubernetes_service.py | 198 | CODE | |
| LOW | …/opensandbox_server/services/k8s/kubernetes_service.py | 407 | CODE | |
| LOW | …/opensandbox_server/services/k8s/kubernetes_service.py | 718 | CODE | |
| LOW | …/opensandbox_server/services/k8s/kubernetes_service.py | 1385 | CODE | |
| LOW | …ver/opensandbox_server/services/k8s/windows_profile.py | 64 | CODE | |
| 16 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | server/opensandbox_server/api/lifecycle.py | 302 | # Delegate to the service layer for pause orchestration | COMMENT |
| MEDIUM | server/opensandbox_server/api/lifecycle.py | 339 | # Delegate to the service layer for resume orchestration | COMMENT |
| MEDIUM | kubernetes/cmd/controller/main.go | 49 | // +kubebuilder:scaffold:imports | COMMENT |
| MEDIUM | kubernetes/cmd/controller/main.go | 136 | // +kubebuilder:scaffold:scheme | COMMENT |
| MEDIUM | kubernetes/cmd/controller/main.go | 468 | // +kubebuilder:scaffold:builder | COMMENT |
| MEDIUM | kubernetes/config/crd/kustomization.yaml | 8 | # +kubebuilder:scaffold:crdkustomizeresource | COMMENT |
| MEDIUM | kubernetes/config/crd/kustomization.yaml | 13 | # +kubebuilder:scaffold:crdkustomizewebhookpatch | COMMENT |
| MEDIUM⚡ | kubernetes/config/default/kustomization.yaml | 225 | # targets: # Do not remove or uncomment the following scaffold marker; required to generate code for target CRD. | COMMENT |
| MEDIUM⚡ | kubernetes/config/default/kustomization.yaml | 226 | # +kubebuilder:scaffold:crdkustomizecainjectionns | COMMENT |
| MEDIUM⚡ | kubernetes/config/default/kustomization.yaml | 233 | # targets: # Do not remove or uncomment the following scaffold marker; required to generate code for target CRD. | COMMENT |
| MEDIUM⚡ | kubernetes/config/default/kustomization.yaml | 234 | # +kubebuilder:scaffold:crdkustomizecainjectionname | COMMENT |
| MEDIUM | kubernetes/config/samples/kustomization.yaml | 6 | # +kubebuilder:scaffold:manifestskustomizesamples | COMMENT |
| MEDIUM | kubernetes/config/scorecard/kustomization.yaml | 18 | # +kubebuilder:scaffold:patches | COMMENT |
| MEDIUM | kubernetes/internal/controller/suite_test.go | 39 | // +kubebuilder:scaffold:imports | COMMENT |
| MEDIUM | kubernetes/internal/controller/suite_test.go | 70 | // +kubebuilder:scaffold:scheme | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | sdks/sandbox/go/credential_vault_test.go | 61 | "placeholder": "__api_token__", | CODE |
| LOW | sdks/sandbox/go/types.go | 340 | Placeholder string `json:"placeholder"` | CODE |
| LOW | …ensandbox/api/egress/models/credential_substitution.py | 62 | "placeholder": placeholder, | CODE |
| LOW | …ensandbox/api/egress/models/credential_substitution.py | 74 | placeholder = d.pop("placeholder") | CODE |
| LOW | …x/infrastructure/adapters/service/EgressAdapterTest.kt | 206 | assertEquals("__api_token__", substitution["placeholder"]!!.jsonPrimitive.content) | CODE |
| LOW | …ndbox/infrastructure/adapters/service/EgressAdapter.kt | 370 | put("placeholder", JsonPrimitive(placeholder)) | CODE |
| LOW | …OpenSandbox.Tests/EgressAdapterCredentialVaultTests.cs | 89 | root.GetProperty("bindings")[0].GetProperty("auth").GetProperty("substitutions")[0].GetProperty("placeholder").G | CODE |
| LOW | sdks/sandbox/csharp/src/OpenSandbox/Models/Sandboxes.cs | 251 | [JsonPropertyName("placeholder")] | CODE |
| LOW | tests/python/tests/test_credential_vault_e2e.py | 156 | "placeholder": "__query_secret__", | CODE |
| LOW | tests/python/tests/test_credential_vault_e2e.py | 170 | "placeholder": "__path_secret__", | CODE |
| LOW | tests/python/tests/test_credential_vault_e2e.py | 184 | "placeholder": "__body_secret__", | CODE |
| LOW | docs/guides/credential-vault.md | 149 | "placeholder": "__client_secret__", | CODE |
| LOW⚡ | docs/guides/credential-vault.md | 206 | "placeholder": "__tenant_id__", | CODE |
| LOW⚡ | docs/guides/credential-vault.md | 211 | "placeholder": "__api_key__", | CODE |
| LOW⚡ | docs/guides/credential-vault.md | 216 | "placeholder": "__client_secret__", | CODE |
| LOW | docs/guides/credential-vault.md | 305 | "ANTHROPIC_API_KEY": "fake-key-inside-sandbox", | CODE |
| LOW | docs/examples/openclaw.md | 25 | | `OPENCLAW_TOKEN` | `dummy-token-for-sandbox` | Gateway authentication token | | CODE |
| LOW | docs/examples/openclaw.md | 92 | - Token: `OPENCLAW_GATEWAY_TOKEN` (default: `dummy-token-for-sandbox`) | CODE |
| LOW | docs/examples/aks-kata.md | 221 | # Expected: fake-key-inside-sandbox | COMMENT |
| LOW | components/egress/mitmscripts/system.py | 371 | placeholder = substitution.get("placeholder") | CODE |
| LOW⚡ | components/egress/tests/test_mitmscripts_system.py | 274 | "placeholder": "__query_secret__", | CODE |
| LOW⚡ | components/egress/tests/test_mitmscripts_system.py | 279 | "placeholder": "__tenant_id__", | CODE |
| LOW⚡ | components/egress/tests/test_mitmscripts_system.py | 284 | "placeholder": "__body_secret__", | CODE |
| LOW⚡ | components/egress/tests/test_mitmscripts_system.py | 289 | "placeholder": "__form_secret__", | CODE |
| LOW | components/egress/tests/test_mitmscripts_system.py | 389 | "placeholder": "__a__", | CODE |
| LOW | components/egress/tests/test_mitmscripts_system.py | 394 | "placeholder": "__b__", | CODE |
| LOW | components/egress/tests/test_mitmscripts_system.py | 431 | "placeholder": "__header_secret__", | CODE |
| LOW | components/egress/tests/test_mitmscripts_system.py | 480 | "placeholder": "__tenant_id__", | CODE |
| LOW | components/egress/tests/test_mitmscripts_system.py | 515 | "placeholder": "__tenant_id__", | CODE |
| LOW | components/egress/pkg/credentialvault/vault.go | 142 | Placeholder string `json:"placeholder"` | CODE |
| LOW | components/egress/pkg/credentialvault/vault.go | 199 | Placeholder string `json:"placeholder"` | CODE |
| LOW | examples/openclaw/main.py | 30 | DEFAULT_TOKEN = os.getenv("OPENCLAW_TOKEN", "dummy-token-for-sandbox") | CODE |
| LOW | examples/aks-kata/main.py | 209 | "AZURE_OPENAI_API_KEY": "fake-key-inside-sandbox", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | sdks/sandbox/python/src/opensandbox/sync/sandbox.py | 97 | # Create a sandbox (blocking) | STRING |
| MEDIUM⚡ | tests/python/tests/test_isolated_session_e2e.py | 652 | # Create the source dir and the destination mount point (bwrap binds | COMMENT |
| MEDIUM | server/tests/test_docker_service.py | 3428 | # Create the subPath directory | COMMENT |
| MEDIUM | server/tests/test_docker_service.py | 3474 | # Create a symlink within the allowed path that points to / | COMMENT |
| MEDIUM⚡ | server/tests/k8s/test_provider_factory.py | 128 | # Create a custom provider class | STRING |
| MEDIUM | …/opensandbox_server/services/k8s/kubernetes_service.py | 819 | # Create the workload CR. Three failure modes drive PVC cleanup: | COMMENT |
| MEDIUM | kubernetes/config/crd/kustomizeconfig.yaml | 1 | # This file is for teaching kustomize how to substitute name and namespace reference in CRD | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | sdks/mcp/sandbox/python/src/opensandbox_mcp/server.py | 129 | CODE | |
| LOW | sdks/sandbox/python/src/opensandbox/pool_async.py | 63 | CODE | |
| LOW | sdks/sandbox/python/src/opensandbox/sandbox.py | 506 | CODE | |
| LOW | sdks/sandbox/python/src/opensandbox/sync/sandbox.py | 491 | CODE | |
| LOW | sdks/sandbox/python/src/opensandbox/sync/pool.py | 62 | CODE | |
| LOW | tests/python/tests/test_sandbox_pool_e2e_sync.py | 803 | CODE | |
| LOW | server/tests/k8s/test_pool_service.py | 29 | CODE | |
| LOW | server/opensandbox_server/middleware/auth.py | 136 | CODE | |
| LOW | server/opensandbox_server/middleware/auth.py | 153 | CODE | |
| LOW | …nsandbox_server/services/k8s/agent_sandbox_provider.py | 123 | CODE | |
| LOW | …nsandbox_server/services/k8s/agent_sandbox_provider.py | 246 | CODE | |
| LOW | …ensandbox_server/services/k8s/batchsandbox_provider.py | 103 | CODE | |
| LOW | …r/opensandbox_server/services/k8s/workload_provider.py | 36 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | docs/guides/secure-container.md | 38 | OpenSandbox is designed to execute untrusted code generated by AI models (Claude, GPT-4, Gemini, etc.). Secure runtimes | CODE |
| HIGH | oseps/0004-secure-container-runtime.md | 47 | OpenSandbox is designed to execute untrusted code generated by AI models (such as Claude, GPT-4, Gemini). While standard | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | sdks/sandbox/python/scripts/generate_api.py | 336 | # Check if openapi-python-client is available | COMMENT |
| LOW | tests/python/tests/test_code_interpreter_e2e.py | 244 | # Check if it's a retryable network error | COMMENT |
| LOW | examples/kubernetes-pvc-volume-mount/main.py | 106 | # Read the file written by the previous sandbox | COMMENT |
| LOW | oseps/init-osep.sh | 176 | # Check if destination exists | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ndbox/python/tests/test_filesystem_upload_transport.py | 49 | def handle_request(self, request: httpx.Request) -> httpx.Response: | CODE |
| LOW | …/sandbox/python/tests/test_credential_vault_adapter.py | 80 | def handle_request(self, request: httpx.Request) -> httpx.Response: | CODE |
| LOW | sdks/sandbox/python/tests/test_pool_sync.py | 585 | def handle_request(self, request: httpx.Request) -> httpx.Response: | CODE |
| LOW | …thon/tests/test_sandbox_manager_sync_business_logic.py | 113 | def handle_request(self, request: httpx.Request) -> httpx.Response: # pragma: no cover | CODE |
| LOW | …n/tests/test_sync_command_service_adapter_streaming.py | 29 | def handle_request(self, request: httpx.Request) -> httpx.Response: | CODE |
| LOW | sdks/sandbox/python/tests/test_pool_manager.py | 168 | def handle_request(self, request: Any) -> Any: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | components/execd/bootstrap.sh | 299 | # Usage: | COMMENT |
| LOW | components/execd/tests/sigterm_forward.sh | 21 | # Usage: | COMMENT |
| LOW | components/execd/tests/smoke_bwrap.sh | 6 | # Usage: | COMMENT |
| LOW | components/execd/configs/isolation.example.toml | 3 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | server/tests/k8s/test_kubernetes_service.py | 1284 | # must catch this for ALL PVC mounts, not just create-if-not-exists. | COMMENT |