No fortress, purely open ground. OpenManus is Coming.
This report summarizes scanner evidence for FoundationAgents/OpenManus, a Python project with 58,614 GitHub stars. SynthScan examined 25,123 lines of code across 136 source files, recording 320 pattern matches distributed across 16 syntactic categories. The legacy adjusted pattern signal is 21.6 (Elevated pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 149 finding(s).
Are imports declared and package/API names verified? 49 finding(s).
Are wrappers, guards, and repeated structures necessary? 155 finding(s).
Which changes need focused human review? 320 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 320 distinct pattern matches across 16 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. 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 configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | run_mcp.py | 108 | except Exception as e: | CODE |
| LOW | run_flow.py | 47 | except Exception as e: | CODE |
| LOW | app/config.py | 170 | except Exception as e: | CODE |
| LOW | app/llm.py | 477 | except Exception: | CODE |
| LOW | app/llm.py | 633 | except Exception as e: | CODE |
| LOW | app/llm.py | 764 | except Exception as e: | CODE |
| LOW | app/logger.py | 41 | except Exception as e: | CODE |
| LOW | app/bedrock.py | 44 | except Exception as e: | CODE |
| MEDIUM | app/bedrock.py | 45 | print(f"Error initializing Bedrock client: {e}") | CODE |
| LOW | app/agent/toolcall.py | 59 | except Exception as e: | CODE |
| LOW | app/agent/toolcall.py | 122 | except Exception as e: | CODE |
| LOW | app/agent/toolcall.py | 213 | except Exception as e: | CODE |
| LOW | app/agent/toolcall.py | 247 | except Exception as e: | CODE |
| LOW | app/agent/sandbox_agent.py | 109 | except Exception as e: | CODE |
| LOW | app/agent/sandbox_agent.py | 134 | except Exception as e: | CODE |
| LOW | app/agent/sandbox_agent.py | 184 | except Exception as e: | CODE |
| LOW | app/agent/browser.py | 39 | except Exception as e: | CODE |
| LOW | app/agent/base.py | 78 | except Exception as e: | CODE |
| LOW | app/agent/manus.py | 98 | except Exception as e: | CODE |
| LOW | app/agent/manus.py | 126 | except Exception as e: | CODE |
| LOW | app/sandbox/core/terminal.py | 113 | except Exception as e: | CODE |
| LOW | app/sandbox/core/terminal.py | 215 | except Exception as e: | CODE |
| LOW | app/sandbox/core/sandbox.py | 101 | except Exception as e: | CODE |
| LOW | app/sandbox/core/sandbox.py | 195 | except Exception as e: | CODE |
| LOW | app/sandbox/core/sandbox.py | 229 | except Exception as e: | CODE |
| LOW | app/sandbox/core/sandbox.py | 312 | except Exception as e: | CODE |
| LOW | app/sandbox/core/sandbox.py | 369 | except Exception: | CODE |
| LOW | app/sandbox/core/sandbox.py | 374 | except Exception as e: | CODE |
| LOW⚡ | app/sandbox/core/sandbox.py | 432 | except Exception as e: | CODE |
| LOW⚡ | app/sandbox/core/sandbox.py | 440 | except Exception as e: | CODE |
| LOW⚡ | app/sandbox/core/sandbox.py | 445 | except Exception as e: | CODE |
| LOW⚡ | app/sandbox/core/sandbox.py | 450 | except Exception as e: | CODE |
| LOW | app/sandbox/core/manager.py | 153 | except Exception as e: | CODE |
| LOW | app/sandbox/core/manager.py | 181 | except Exception as e: | CODE |
| LOW | app/sandbox/core/manager.py | 203 | except Exception as e: | CODE |
| LOW | app/sandbox/core/manager.py | 275 | except Exception as e: | CODE |
| LOW | app/sandbox/core/manager.py | 289 | except Exception as e: | CODE |
| LOW⚡ | app/daytona/sandbox.py | 68 | except Exception as e: | CODE |
| LOW⚡ | app/daytona/sandbox.py | 75 | except Exception as e: | CODE |
| LOW | app/daytona/sandbox.py | 97 | except Exception as e: | CODE |
| LOW | app/daytona/sandbox.py | 163 | except Exception as e: | CODE |
| LOW | app/daytona/tool_base.py | 96 | except Exception as e: | CODE |
| LOW | app/daytona/tool_base.py | 113 | except Exception as e: | CODE |
| LOW | app/tool/mcp.py | 45 | except Exception as e: | CODE |
| LOW | app/tool/mcp.py | 216 | except Exception as e: | CODE |
| LOW | app/tool/python_execute.py | 33 | except Exception as e: | CODE |
| LOW | app/tool/crawl4ai.py | 202 | except Exception as e: | CODE |
| LOW | app/tool/crawl4ai.py | 255 | except Exception as e: | CODE |
| LOW | app/tool/crawl4ai.py | 268 | except Exception: | CODE |
| LOW | app/tool/file_operators.py | 51 | except Exception as e: | CODE |
| LOW | app/tool/file_operators.py | 58 | except Exception as e: | CODE |
| LOW⚡ | app/tool/file_operators.py | 112 | except Exception as e: | CODE |
| LOW⚡ | app/tool/file_operators.py | 120 | except Exception as e: | CODE |
| LOW | app/tool/file_operators.py | 157 | except Exception as exc: | CODE |
| LOW | app/tool/web_search.py | 151 | except Exception as e: | CODE |
| LOW | app/tool/computer_use_tool.py | 221 | except Exception as e: | CODE |
| LOW | app/tool/computer_use_tool.py | 470 | except Exception as e: | CODE |
| LOW | app/tool/chart_visualization/data_visualization.py | 211 | except Exception as e: | CODE |
| LOW | app/tool/chart_visualization/data_visualization.py | 262 | except Exception as e: | CODE |
| LOW⚡ | app/tool/search/bing_search.py | 123 | except Exception: | CODE |
| 48 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | app/llm.py | 270 | Format messages for LLM by converting them to OpenAI message format. Args: messages: List | STRING |
| HIGH | app/llm.py | 368 | Send a prompt to the LLM and get the response. Args: messages: List of conversation messag | STRING |
| HIGH | app/llm.py | 496 | Send a prompt with images to the LLM and get the response. Args: messages: List of convers | STRING |
| HIGH | app/llm.py | 654 | Ask LLM using functions/tools and return the response. Args: messages: List of conversatio | STRING |
| HIGH | app/agent/base.py | 60 | Context manager for safe agent state transitions. Args: new_state: The state to transition to durin | STRING |
| HIGH | app/agent/base.py | 117 | Execute the agent's main loop asynchronously. Args: request: Optional initial user request to proce | STRING |
| HIGH | app/sandbox/client.py | 111 | Runs command in sandbox. Args: command: Command to execute. timeout: Execution timeout | STRING |
| HIGH | app/sandbox/client.py | 156 | Reads file from container. Args: path: File path in container. Returns: File c | STRING |
| HIGH | app/sandbox/core/terminal.py | 140 | Executes a command and returns cleaned output. Args: command: Shell command to execute. | STRING |
| HIGH | app/sandbox/core/terminal.py | 219 | Sanitizes the command string to prevent shell injection. Args: command: Raw command string. | STRING |
| HIGH | app/sandbox/core/terminal.py | 317 | Runs a command in the container with timeout. Args: cmd: Shell command to execute. time | STRING |
| HIGH | app/sandbox/core/sandbox.py | 141 | Runs a command in the sandbox. Args: cmd: Command to execute. timeout: Timeout in secon | STRING |
| HIGH | app/sandbox/core/sandbox.py | 167 | Reads a file from the container. Args: path: File path. Returns: File contents | STRING |
| HIGH | app/sandbox/core/sandbox.py | 233 | Safely resolves container path, preventing path traversal. Args: path: Original path. Retu | STRING |
| HIGH | app/sandbox/core/sandbox.py | 398 | Reads file content from a tar stream. Args: tar_stream: Tar file stream. Returns: | STRING |
| HIGH | app/sandbox/core/manager.py | 119 | Creates a new sandbox instance. Args: config: Sandbox configuration. volume_bindings: V | STRING |
| HIGH | app/sandbox/core/manager.py | 160 | Gets a sandbox instance. Args: sandbox_id: Sandbox ID. Returns: DockerSandbox: | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | config/config.example-daytona.toml | 5 | api_key = "YOUR_API_KEY" # Your API key | CODE |
| HIGH | config/config.example-daytona.toml | 38 | api_key = "YOUR_API_KEY" # Your API key for vision model | CODE |
| HIGH | config/config.example.toml | 5 | api_key = "YOUR_API_KEY" # Your API key | CODE |
| HIGH | config/config.example.toml | 46 | api_key = "YOUR_API_KEY" # Your API key for vision model | CODE |
| HIGH | config/config.example-model-google.toml | 5 | api_key = "YOUR_API_KEY" # Your API key | CODE |
| HIGH | config/config.example-model-google.toml | 14 | api_key = "YOUR_API_KEY" # Your API key for vision model | CODE |
| HIGH | config/config.example-model-anthropic.toml | 5 | api_key = "YOUR_API_KEY" # Your API key | CODE |
| HIGH | config/config.example-model-anthropic.toml | 14 | api_key = "YOUR_API_KEY" # Your API key for vision model | CODE |
| HIGH | config/config.example-model-azure.toml | 6 | api_key = "YOUR_API_KEY" # Your API key | CODE |
| HIGH | config/config.example-model-azure.toml | 16 | api_key = "YOUR_API_KEY" # Your API key for vision model | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | app/llm.py | 387 | # Check if the model supports images | COMMENT |
| LOW | app/llm.py | 400 | # Check if token limits are exceeded | COMMENT |
| LOW | app/llm.py | 680 | # Check if the model supports images | COMMENT |
| LOW | app/llm.py | 701 | # Check if token limits are exceeded | COMMENT |
| LOW | app/llm.py | 736 | # Check if response is valid | COMMENT |
| LOW | app/agent/toolcall.py | 60 | # Check if this is a RetryError containing TokenLimitExceeded | COMMENT |
| LOW | app/agent/toolcall.py | 194 | # Check if result is a ToolResult with base64_image | COMMENT |
| LOW | app/agent/mcp.py | 78 | # Set available_tools to our MCP instance | COMMENT |
| LOW | app/sandbox/core/sandbox.py | 189 | # Read file content from tar stream | COMMENT |
| LOW | app/sandbox/core/sandbox.py | 224 | # Write file | COMMENT |
| LOW | app/daytona/sandbox.py | 53 | # Check if sandbox needs to be started | COMMENT |
| LOW | app/tool/str_replace_editor.py | 170 | # Check if path is absolute | COMMENT |
| LOW | app/tool/str_replace_editor.py | 181 | # Check if path is a directory | COMMENT |
| LOW | app/tool/str_replace_editor.py | 188 | # Check if file exists for create command | COMMENT |
| LOW | app/tool/str_replace_editor.py | 241 | # Read file content | COMMENT |
| LOW | app/tool/str_replace_editor.py | 292 | # Read file content and expand tabs | COMMENT |
| LOW | app/tool/str_replace_editor.py | 297 | # Check if old_str is unique in the file | COMMENT |
| LOW⚡ | app/tool/sandbox/sb_shell_tool.py | 160 | # Check if tmux session already exists | COMMENT |
| LOW⚡ | app/tool/sandbox/sb_shell_tool.py | 303 | # Check if session exists | COMMENT |
| LOW | app/tool/sandbox/sb_shell_tool.py | 188 | # Check if session still exists (command might have exited) | COMMENT |
| LOW | app/tool/sandbox/sb_shell_tool.py | 265 | # Check if session exists | COMMENT |
| LOW | app/tool/sandbox/sb_files_tool.py | 224 | # Write the file content | COMMENT |
| LOW | app/tool/sandbox/sb_files_tool.py | 230 | # Check if index.html was created and add 8080 server info (only in root workspace) | COMMENT |
| LOW | app/tool/sandbox/sb_files_tool.py | 317 | # Check if index.html was rewritten and add 8080 server info (only in root workspace) | COMMENT |
| LOW | app/flow/planning.py | 73 | # Set executor_keys to all agent keys if not specified | COMMENT |
| LOW | app/flow/planning.py | 127 | # Check if agent wants to terminate | COMMENT |
| LOW | tests/sandbox/test_sandbox.py | 79 | # Write files | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | app/tool/sandbox/sb_shell_tool.py | 162 | f"tmux has-session -t {session_name} 2>/dev/null || echo 'not_exists'" | CODE |
| HIGH⚡ | app/tool/sandbox/sb_shell_tool.py | 305 | f"tmux has-session -t {session_name} 2>/dev/null || echo 'not_exists'" | CODE |
| HIGH | app/tool/sandbox/sb_shell_tool.py | 190 | f"tmux has-session -t {session_name} 2>/dev/null || echo 'ended'" | CODE |
| HIGH | app/tool/sandbox/sb_shell_tool.py | 267 | f"tmux has-session -t {session_name} 2>/dev/null || echo 'not_exists'" | CODE |
| HIGH | app/tool/sandbox/sb_shell_tool.py | 329 | "tmux list-sessions 2>/dev/null || echo 'No sessions'" | CODE |
| HIGH | app/tool/sandbox/sb_shell_tool.py | 417 | await self._execute_raw_command("tmux kill-server 2>/dev/null || true") | CODE |
| HIGH | tests/sandbox/test_sandbox.py | 115 | await sandbox.terminal.run_command("apt update && apt install curl -y") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | app/mcp/server.py | 41 | # Define the async function to be registered | COMMENT |
| MEDIUM | app/daytona/sandbox.py | 139 | # Create the sandbox | COMMENT |
| MEDIUM | app/tool/planning.py | 144 | # Create a new plan with initialized step statuses | COMMENT |
| MEDIUM | app/tool/str_replace_editor.py | 325 | # Create a snippet of the edited section | COMMENT |
| MEDIUM | app/tool/str_replace_editor.py | 369 | # Create a snippet for preview | COMMENT |
| MEDIUM⚡ | app/tool/search/bing_search.py | 115 | # Create a SearchItem object | COMMENT |
| MEDIUM⚡ | app/tool/sandbox/sb_shell_tool.py | 167 | # Create a new tmux session | COMMENT |
| MEDIUM | app/flow/planning.py | 162 | # Create a system message for plan creation | COMMENT |
| MEDIUM | app/flow/planning.py | 165 | # Create a user message with the request | COMMENT |
| MEDIUM | app/flow/planning.py | 283 | # Create a prompt for the agent to execute the current step | COMMENT |
| MEDIUM | app/flow/planning.py | 410 | # Create a summary using the flow's LLM directly | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | app/agent/__init__.py | 1 | CODE | |
| LOW | app/agent/__init__.py | 2 | CODE | |
| LOW | app/agent/__init__.py | 3 | CODE | |
| LOW | app/agent/__init__.py | 4 | CODE | |
| LOW | app/agent/__init__.py | 5 | CODE | |
| LOW | app/agent/__init__.py | 6 | CODE | |
| LOW | app/agent/browser.py | 13 | CODE | |
| LOW | app/sandbox/__init__.py | 7 | CODE | |
| LOW | app/sandbox/__init__.py | 7 | CODE | |
| LOW | app/sandbox/__init__.py | 7 | CODE | |
| LOW | app/sandbox/__init__.py | 12 | CODE | |
| LOW | app/sandbox/__init__.py | 12 | CODE | |
| LOW | app/sandbox/__init__.py | 12 | CODE | |
| LOW | app/sandbox/__init__.py | 17 | CODE | |
| LOW | app/sandbox/__init__.py | 18 | CODE | |
| LOW | app/tool/__init__.py | 1 | CODE | |
| LOW | app/tool/__init__.py | 2 | CODE | |
| LOW | app/tool/__init__.py | 3 | CODE | |
| LOW | app/tool/__init__.py | 4 | CODE | |
| LOW | app/tool/__init__.py | 5 | CODE | |
| LOW | app/tool/__init__.py | 6 | CODE | |
| LOW | app/tool/__init__.py | 7 | CODE | |
| LOW | app/tool/__init__.py | 8 | CODE | |
| LOW | app/tool/__init__.py | 9 | CODE | |
| LOW | app/tool/chart_visualization/__init__.py | 1 | CODE | |
| LOW | app/tool/chart_visualization/__init__.py | 2 | CODE | |
| LOW | app/tool/chart_visualization/__init__.py | 3 | CODE | |
| LOW | app/tool/search/__init__.py | 1 | CODE | |
| LOW | app/tool/search/__init__.py | 2 | CODE | |
| LOW | app/tool/search/__init__.py | 3 | CODE | |
| LOW | app/tool/search/__init__.py | 4 | CODE | |
| LOW | app/tool/search/__init__.py | 5 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | app/llm.py | 95 | def _calculate_high_detail_tokens(self, width: int, height: int) -> int: | CODE |
| LOW | app/bedrock.py | 60 | def _convert_openai_tools_to_bedrock_format(self, tools): | CODE |
| LOW | app/bedrock.py | 86 | def _convert_openai_messages_to_bedrock_format(self, messages): | CODE |
| LOW | app/bedrock.py | 134 | def _convert_bedrock_response_to_openai_format(self, bedrock_response): | CODE |
| LOW⚡ | app/daytona/sandbox.py | 80 | def start_supervisord_session(sandbox: Sandbox): | CODE |
| LOW | app/tool/mcp.py | 118 | async def _initialize_and_list_tools( | CODE |
| LOW⚡ | app/tool/file_operators.py | 102 | async def _ensure_sandbox_initialized(self): | CODE |
| LOW | app/tool/web_search.py | 329 | async def _fetch_content_for_results( | CODE |
| LOW | app/tool/web_search.py | 352 | async def _fetch_single_result_content(self, result: SearchResult) -> SearchResult: | CODE |
| LOW | app/tool/web_search.py | 390 | async def _perform_search_with_engine( | CODE |
| LOW | app/flow/planning.py | 348 | def _generate_plan_text_from_storage(self) -> str: | CODE |
| LOW | tests/tools/test_browser_use_mcp.py | 67 | async def test_mcp_preserves_server_instructions_and_native_tool_names(): | CODE |
| LOW | tests/tools/test_browser_use_mcp.py | 78 | async def test_mcp_forwards_text_and_screenshot_content(): | CODE |
| LOW | tests/tools/test_browser_use_mcp.py | 101 | async def test_tool_images_follow_the_tool_result_as_user_messages(): | CODE |
| LOW | tests/tools/test_browser_use_mcp.py | 120 | async def test_manus_enables_cli_mcp_by_default(monkeypatch): | CODE |
| LOW | tests/sandbox/test_sandbox_manager.py | 86 | async def test_get_nonexistent_sandbox(manager): | CODE |
| LOW | tests/sandbox/test_sandbox_manager.py | 104 | async def test_idle_sandbox_cleanup(manager): | CODE |
| LOW | tests/sandbox/test_docker_terminal.py | 48 | async def test_basic_command_execution(self, terminal): | CODE |
| LOW | tests/sandbox/test_docker_terminal.py | 54 | async def test_environment_variables(self, terminal): | CODE |
| LOW | tests/sandbox/test_sandbox.py | 31 | async def test_sandbox_working_directory(sandbox): | CODE |
| LOW | tests/sandbox/test_sandbox.py | 38 | async def test_sandbox_file_operations(sandbox): | CODE |
| LOW | tests/sandbox/test_sandbox.py | 50 | async def test_sandbox_python_execution(sandbox): | CODE |
| LOW | tests/sandbox/test_sandbox.py | 70 | async def test_sandbox_file_persistence(sandbox): | STRING |
| LOW | tests/sandbox/test_sandbox.py | 90 | async def test_sandbox_python_environment(sandbox): | CODE |
| LOW | tests/sandbox/test_sandbox.py | 109 | async def test_sandbox_network_access(sandbox): | STRING |
| LOW | tests/sandbox/test_sandbox.py | 141 | async def test_sandbox_error_handling(): | CODE |
| LOW | tests/sandbox/test_client.py | 45 | async def test_local_command_execution(local_client: LocalSandboxClient): | CODE |
| LOW | tests/sandbox/test_client.py | 57 | async def test_local_file_operations(local_client: LocalSandboxClient, temp_dir: Path): | CODE |
| LOW | tests/sandbox/test_client.py | 81 | async def test_local_volume_binding(local_client: LocalSandboxClient, temp_dir: Path): | CODE |
| LOW | tests/sandbox/test_client.py | 96 | async def test_local_error_handling(local_client: LocalSandboxClient): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | app/sandbox/core/terminal.py | 89 | except: | CODE |
| HIGH | app/sandbox/core/terminal.py | 95 | except: | CODE |
| HIGH | app/sandbox/core/terminal.py | 108 | except: | CODE |
| HIGH | app/sandbox/core/manager.py | 216 | except (asyncio.CancelledError, asyncio.TimeoutError): | CODE |
| HIGH | app/tool/file_operators.py | 89 | except ProcessLookupError: | CODE |
| HIGH | app/tool/sandbox/sb_shell_tool.py | 254 | except: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | app/llm.py | 118 | CODE | |
| LOW | app/llm.py | 267 | CODE | |
| LOW | app/llm.py | 361 | CODE | |
| LOW | app/llm.py | 488 | CODE | |
| LOW | app/llm.py | 644 | CODE | |
| LOW | app/bedrock.py | 86 | CODE | |
| LOW | app/agent/sandbox_agent.py | 113 | CODE | |
| LOW | app/agent/manus.py | 83 | CODE | |
| LOW | app/mcp/server.py | 98 | CODE | |
| LOW | app/sandbox/core/terminal.py | 75 | CODE | |
| LOW | app/sandbox/core/terminal.py | 139 | CODE | |
| LOW | app/sandbox/core/terminal.py | 162 | CODE | |
| LOW | app/sandbox/core/sandbox.py | 255 | CODE | |
| LOW | app/sandbox/core/sandbox.py | 315 | CODE | |
| LOW | app/sandbox/core/manager.py | 244 | CODE | |
| LOW | app/tool/mcp.py | 184 | CODE | |
| LOW | app/tool/planning.py | 72 | CODE | |
| LOW | app/tool/crawl4ai.py | 65 | CODE | |
| LOW | app/tool/str_replace_editor.py | 114 | CODE | |
| LOW | app/tool/computer_use_tool.py | 225 | CODE | |
| LOW | app/tool/search/bing_search.py | 77 | CODE | |
| LOW | app/tool/search/baidu_search.py | 9 | CODE | |
| LOW | app/tool/search/duckduckgo_search.py | 9 | CODE | |
| LOW | app/tool/sandbox/sb_shell_tool.py | 138 | CODE | |
| LOW | app/tool/sandbox/sb_shell_tool.py | 322 | CODE | |
| LOW | app/tool/sandbox/sb_shell_tool.py | 357 | CODE | |
| LOW | app/tool/sandbox/sb_vision_tool.py | 107 | CODE | |
| LOW | app/tool/sandbox/sb_browser_tool.py | 138 | CODE | |
| LOW | app/tool/sandbox/sb_browser_tool.py | 195 | CODE | |
| LOW | app/tool/sandbox/sb_browser_tool.py | 278 | CODE | |
| LOW | app/tool/sandbox/sb_files_tool.py | 137 | CODE | |
| LOW | app/flow/planning.py | 136 | CODE | |
| LOW | app/flow/planning.py | 213 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | app/tool/base.py | 21 | COMMENT | |
| LOW | app/tool/base.py | 101 | underscore_attrs_are_private = False | COMMENT |
| LOW | app/tool/chart_visualization/tsconfig.json | 1 | { | COMMENT |
| LOW | app/tool/chart_visualization/tsconfig.json | 21 | // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when t | COMMENT |
| LOW | app/tool/chart_visualization/tsconfig.json | 41 | // "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Require | COMMENT |
| LOW | app/tool/chart_visualization/tsconfig.json | 61 | // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript | COMMENT |
| LOW | app/tool/chart_visualization/tsconfig.json | 81 | "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables | COMMENT |
| LOW | config/config.example-daytona.toml | 1 | # Global LLM configuration | COMMENT |
| LOW | config/config.example-daytona.toml | 21 | # api_key = "AZURE API KEY" | COMMENT |
| LOW | config/config.example-daytona.toml | 41 | COMMENT | |
| LOW | config/config.example-daytona.toml | 61 | # Connect to a browser instance via WebSocket | COMMENT |
| LOW | config/config.example-daytona.toml | 81 | #max_retries = 3 | COMMENT |
| LOW | config/config.example-daytona.toml | 101 | #daytona_server_url = "https://app.daytona.io/api" | COMMENT |
| LOW | config/config.example.toml | 1 | # Global LLM configuration | COMMENT |
| LOW | config/config.example.toml | 21 | # api_key = "AZURE API KEY" | COMMENT |
| LOW | config/config.example.toml | 41 | COMMENT | |
| LOW | config/config.example.toml | 61 | #headless = false | COMMENT |
| LOW | config/config.example.toml | 81 | # [search] | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | app/llm.py | 97 | # Step 1: Scale to fit in MAX_SIZE x MAX_SIZE square | COMMENT |
| LOW⚡ | app/llm.py | 103 | # Step 2: Scale so shortest side is HIGH_DETAIL_TARGET_SHORT_SIDE | COMMENT |
| LOW⚡ | app/llm.py | 108 | # Step 3: Count number of 512px tiles | COMMENT |
| LOW⚡ | app/llm.py | 113 | # Step 4: Calculate final token count | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | app/llm.py | 97 | # Step 1: Scale to fit in MAX_SIZE x MAX_SIZE square | COMMENT |
| LOW⚡ | app/llm.py | 103 | # Step 2: Scale so shortest side is HIGH_DETAIL_TARGET_SHORT_SIDE | COMMENT |
| LOW⚡ | app/llm.py | 108 | # Step 3: Count number of 512px tiles | COMMENT |
| LOW⚡ | app/llm.py | 113 | # Step 4: Calculate final token count | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | app/llm.py | 238 | def update_token_count(self, input_tokens: int, completion_tokens: int = 0) -> None: | CODE |
| LOW | app/agent/__init__.py | 9 | __all__ = [ | CODE |
| LOW | app/sandbox/__init__.py | 21 | __all__ = [ | CODE |
| LOW | app/tool/__init__.py | 12 | __all__ = [ | CODE |
| LOW | app/tool/chart_visualization/__init__.py | 6 | __all__ = ["DataVisualization", "VisualizationPrepare", "NormalPythonExecute"] | CODE |
| LOW | app/tool/search/__init__.py | 8 | __all__ = [ | CODE |
| LOW | protocol/a2a/app/agent_executor.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | protocol/a2a/app/main.py | 24 | logger = logging.getLogger(__name__) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | app/sandbox/core/terminal.py | 204 | CODE | |
| LOW | app/tool/computer_use_tool.py | 225 | CODE | |
| LOW | app/tool/sandbox/sb_browser_tool.py | 278 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | app/agent/toolcall.py | 175 | """Execute a single tool call with robust error handling""" | STRING |
| LOW | app/tool/sandbox/sb_shell_tool.py | 237 | # For non-blocking, just return immediately | COMMENT |