Fully Local Manus AI. No APIs, No $200 monthly bills. Enjoy an autonomous agent that thinks, browses the web, and code for the sole cost of electricity.
This report summarizes scanner evidence for Fosowl/agenticSeek, a Python project with 27,467 GitHub stars. SynthScan examined 47,475 lines of code across 135 source files, recording 466 pattern matches distributed across 16 syntactic categories. The legacy adjusted pattern signal is 16.3 (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? 214 finding(s).
Are imports declared and package/API names verified? 125 finding(s).
Are wrappers, guards, and repeated structures necessary? 300 finding(s).
Which changes need focused human review? 466 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 466 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⚡ | tests/test_safe_mode.py | 42 | def test_safe_mode_enabled_when_configured_true(self): | CODE |
| LOW⚡ | tests/test_safe_mode.py | 46 | def test_safe_mode_disabled_when_configured_false(self): | CODE |
| LOW⚡ | tests/test_safe_mode.py | 50 | def test_safe_mode_defaults_false_when_key_absent(self): | CODE |
| LOW⚡ | tests/test_safety.py | 27 | def test_allows_word_containing_git(self): | CODE |
| LOW⚡ | tests/test_safety.py | 30 | def test_allows_word_containing_tee(self): | CODE |
| LOW⚡ | tests/test_safety.py | 33 | def test_allows_word_containing_kill(self): | CODE |
| LOW⚡ | tests/test_safety.py | 36 | def test_allows_word_containing_rm(self): | CODE |
| LOW⚡ | tests/test_safety.py | 39 | def test_allows_word_containing_dd(self): | CODE |
| LOW⚡ | tests/test_safety.py | 42 | def test_handles_unparseable_quotes(self): | CODE |
| LOW⚡ | tests/test_safety.py | 45 | def test_blocks_absolute_path_rm(self): | CODE |
| LOW⚡ | tests/test_safety.py | 48 | def test_blocks_relative_path_rm(self): | CODE |
| LOW⚡ | tests/test_safety.py | 51 | def test_blocks_absolute_path_git(self): | CODE |
| LOW⚡ | tests/test_safety.py | 54 | def test_blocks_absolute_path_dd(self): | CODE |
| LOW | tests/test_browser_agent_parsing.py | 48 | def test_extract_links_no_links(self): | STRING |
| LOW | tests/test_browser_agent_parsing.py | 53 | def test_extract_links_single_link(self): | CODE |
| LOW | tests/test_browser_agent_parsing.py | 72 | def test_extract_form_checkbox(self): | CODE |
| LOW | tests/test_browser_agent_parsing.py | 94 | def test_clean_links_with_slash(self): | CODE |
| LOW⚡ | tests/test_browser_agent_parsing.py | 110 | def test_parse_answer_extracts_links(self): | STRING |
| LOW⚡ | tests/test_browser_agent_parsing.py | 117 | def test_parse_answer_no_notes(self): | CODE |
| LOW⚡ | tests/test_browser_agent_parsing.py | 124 | def test_select_link_unvisited(self): | CODE |
| LOW⚡ | tests/test_browser_agent_parsing.py | 132 | def test_select_link_all_visited(self): | CODE |
| LOW | tests/test_browser_agent_parsing.py | 145 | def test_jsonify_search_results(self): | CODE |
| LOW⚡ | tests/test_browser_agent_parsing.py | 160 | def test_jsonify_search_results_empty(self): | CODE |
| LOW⚡ | tests/test_browser_agent_parsing.py | 165 | def test_jsonify_search_results_partial(self): | CODE |
| LOW⚡ | tests/test_browser_agent_parsing.py | 174 | def test_stringify_search_results(self): | CODE |
| LOW | tests/test_browser_agent_parsing.py | 196 | def test_select_unvisited_all_new(self): | CODE |
| LOW | tests/test_browser_agent_parsing.py | 211 | async def test_form_update_prompt_is_sent_to_llm(self): | CODE |
| LOW⚡ | tests/test_browser_identity.py | 26 | def test_identity_is_persisted_and_reused(self): | CODE |
| LOW⚡ | tests/test_browser_identity.py | 35 | def test_chrome_major_change_repicks_identity(self): | CODE |
| LOW⚡ | tests/test_browser_identity.py | 42 | def test_accept_lang_is_valid(self): | CODE |
| LOW⚡ | tests/test_browser_identity.py | 54 | def test_ua_matches_platform_and_version(self): | CODE |
| LOW⚡ | tests/test_browser_identity.py | 63 | def test_window_size_fits_screen(self): | CODE |
| LOW⚡ | tests/test_browser_identity.py | 70 | def test_cdp_metadata_consistent(self): | CODE |
| LOW | tests/test_browser_identity.py | 93 | def test_persona_matches_host_os(self): | CODE |
| LOW | tests/test_browser_identity.py | 105 | def test_corrupt_state_does_not_crash(self): | CODE |
| LOW⚡ | tests/test_crx_utils.py | 25 | def test_extracts_real_crx_with_manifest(self): | CODE |
| LOW⚡ | tests/test_crx_utils.py | 34 | def test_extraction_is_cached(self): | CODE |
| LOW⚡ | tests/test_crx_utils.py | 42 | def test_missing_file_returns_none(self): | CODE |
| LOW⚡ | tests/test_crx_utils.py | 45 | def test_garbage_returns_none(self): | CODE |
| LOW | tests/test_crx_utils.py | 58 | def test_default_dir_under_browser_profile(self): | CODE |
| LOW⚡ | tests/test_interpreters.py | 31 | def test_multiline_block_preserves_newlines(self): | CODE |
| LOW⚡ | tests/test_interpreters.py | 38 | def test_shebang_block_still_executes(self): | CODE |
| LOW⚡ | tests/test_interpreters.py | 44 | def test_commands_run_in_work_dir(self): | CODE |
| LOW⚡ | tests/test_interpreters.py | 51 | def test_unsafe_command_message_names_the_command(self): | CODE |
| LOW⚡ | tests/test_interpreters.py | 59 | def test_unsafe_command_anywhere_aborts_whole_batch(self): | CODE |
| LOW⚡ | tests/test_interpreters.py | 69 | def test_timeout_kills_long_running_command(self): | CODE |
| LOW⚡ | tests/test_interpreters.py | 76 | def test_failing_command_reports_return_code(self): | CODE |
| LOW⚡ | tests/test_interpreters.py | 84 | def test_output_has_no_stray_none(self): | CODE |
| LOW⚡ | tests/test_interpreters.py | 90 | def test_exception_reports_failure(self): | CODE |
| LOW⚡ | tests/test_interpreters.py | 97 | def test_timeout_kills_infinite_loop(self): | CODE |
| LOW⚡ | tests/test_interpreters.py | 104 | def test_code_runs_in_work_dir(self): | CODE |
| LOW⚡ | tests/test_interpreters.py | 109 | def test_clean_output_is_not_flagged_as_failure(self): | CODE |
| LOW⚡ | tests/test_interpreters.py | 113 | def test_curses_import_is_refused_with_actionable_message(self): | CODE |
| LOW⚡ | tests/test_interpreters.py | 123 | def test_from_curses_import_is_refused(self): | CODE |
| LOW⚡ | tests/test_interpreters.py | 129 | def test_input_call_is_refused_with_actionable_message(self): | CODE |
| LOW⚡ | tests/test_interpreters.py | 138 | def test_input_method_call_is_not_refused(self): | CODE |
| LOW⚡ | tests/test_utility.py | 12 | def test_get_color_map_returns_dict(self): | CODE |
| LOW⚡ | tests/test_utility.py | 17 | def test_get_color_map_has_required_keys(self): | CODE |
| LOW⚡ | tests/test_utility.py | 24 | def test_get_color_map_values_are_strings(self): | CODE |
| LOW⚡ | tests/test_workspace.py | 44 | def test_work_dir_and_runtime_dir_are_separate(self): | CODE |
| 111 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/test_browser_identity.py | 108 | f.write('{"schema_version": 1, "chrome_major": null}') | CODE |
| HIGH⚡ | tests/test_memory.py | 50 | index = self.memory.push("user", "Hello") | CODE |
| HIGH⚡ | tests/test_memory.py | 57 | self.memory.push("user", "Hello") | CODE |
| HIGH⚡ | tests/test_memory.py | 63 | mem_begin_idx = self.memory.push("user", "Hi i want you to make...") | CODE |
| HIGH⚡ | tests/test_memory.py | 64 | self.memory.push("assistant", "<code>") | CODE |
| HIGH⚡ | tests/test_memory.py | 65 | self.memory.push("user", "sys feedback: error") | CODE |
| HIGH⚡ | tests/test_memory.py | 66 | self.memory.push("assistant", "<corrected code>") | CODE |
| HIGH⚡ | tests/test_memory.py | 67 | mem_end_idx = self.memory.push("user", "according to search...") | CODE |
| HIGH⚡ | tests/test_memory.py | 73 | self.memory.push("user", "Hello") | CODE |
| HIGH⚡ | tests/test_memory.py | 78 | self.memory.push("user", "Hello") | CODE |
| HIGH⚡ | tests/test_memory.py | 84 | self.memory.push("user", "Hello") | CODE |
| HIGH⚡ | tests/test_memory.py | 85 | self.memory.push("assistant", "Hi") | CODE |
| HIGH⚡ | tests/test_memory.py | 96 | self.memory.push("assistant", "Saved response. " * 100) | CODE |
| HIGH | sources/interaction.py | 289 | self.current_agent.memory.push('user', self.last_query) | CODE |
| HIGH | sources/interaction.py | 290 | self.current_agent.memory.push('assistant', self.last_answer) | CODE |
| HIGH⚡ | sources/memory.py | 278 | memory.push('user', "hello") | CODE |
| HIGH⚡ | sources/memory.py | 279 | memory.push('assistant', "how can i help you?") | CODE |
| HIGH⚡ | sources/memory.py | 280 | memory.push('user', "why do i get this cuda error?") | CODE |
| HIGH | sources/memory.py | 298 | memory.push('assistant', sample_text) | STRING |
| HIGH | sources/browser.py | 427 | # tell: a real Chrome reports false, not undefined). | COMMENT |
| HIGH | sources/llm_provider.py | 579 | \n\n```json\n{\n \"plan\": [\n {\n \"agent\": \"Web\",\n \"id\": \"1\",\n \"need\": null,\n \"ta | CODE |
| HIGH | sources/agents/mcp_agent.py | 59 | self.memory.push('user', prompt) | STRING |
| HIGH | sources/agents/browser_agent.py | 182 | self.memory.push('user', prompt) | STRING |
| HIGH | sources/agents/browser_agent.py | 361 | mem_begin_idx = self.memory.push('user', self.search_prompt(user_prompt)) | STRING |
| HIGH | sources/agents/browser_agent.py | 439 | mem_last_idx = self.memory.push('user', prompt) | STRING |
| HIGH | sources/agents/casual_agent.py | 27 | self.memory.push('user', prompt) | CODE |
| HIGH | sources/agents/planner_agent.py | 168 | self.memory.push('user', prompt) | STRING |
| HIGH | sources/agents/file_agent.py | 33 | self.memory.push('user', prompt) | CODE |
| HIGH | sources/agents/code_agent.py | 51 | self.memory.push('user', prompt) | CODE |
| HIGH | sources/agents/agent.py | 179 | self.memory.push('assistant', answer) | CODE |
| HIGH | sources/agents/agent.py | 282 | self.memory.push('user', feedback) | CODE |
| HIGH | sources/agents/agent.py | 284 | self.memory.push('user', feedback) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | api.py | 216 | except Exception as e: | CODE |
| MEDIUM | api.py | 218 | pretty_print(f"An error occurred: {str(e)}", color="error") | CODE |
| LOW | api.py | 286 | except Exception as e: | CODE |
| MEDIUM | api.py | 202 | def think_wrapper(interaction, query): | CODE |
| LOW | cli.py | 69 | except Exception as e: | CODE |
| LOW | llm_server/sources/ollama_handler.py | 37 | except Exception as e: | CODE |
| LOW | llm_server/sources/llamacpp_handler.py | 36 | except Exception as e: | CODE |
| LOW | sources/memory.py | 115 | except Exception as e: | CODE |
| LOW | sources/memory.py | 130 | except Exception as e: | CODE |
| LOW⚡ | sources/speech_to_text.py | 53 | except Exception: | CODE |
| LOW⚡ | sources/speech_to_text.py | 62 | except Exception: | CODE |
| LOW | sources/logger.py | 36 | except Exception as e: | CODE |
| LOW⚡ | sources/browser.py | 457 | except Exception as e: | CODE |
| LOW⚡ | sources/browser.py | 463 | except Exception: | CODE |
| LOW⚡ | sources/browser.py | 466 | except Exception as e: | CODE |
| LOW⚡ | sources/browser.py | 471 | except Exception: | CODE |
| LOW⚡ | sources/browser.py | 475 | except Exception: | CODE |
| LOW⚡ | sources/browser.py | 479 | except Exception: | CODE |
| LOW⚡ | sources/browser.py | 563 | except Exception as e: | CODE |
| LOW⚡ | sources/browser.py | 576 | except Exception as e: | CODE |
| LOW⚡ | sources/browser.py | 973 | except Exception as e: | CODE |
| LOW⚡ | sources/browser.py | 977 | except Exception as e: | CODE |
| LOW⚡ | sources/browser.py | 1141 | except Exception as e: | CODE |
| LOW⚡ | sources/browser.py | 1145 | except Exception: | CODE |
| LOW⚡ | sources/browser.py | 1150 | except Exception: | CODE |
| LOW | sources/browser.py | 91 | except Exception: | CODE |
| LOW | sources/browser.py | 105 | except Exception: | CODE |
| LOW | sources/browser.py | 139 | except Exception as e: | CODE |
| LOW | sources/browser.py | 343 | except Exception: | CODE |
| LOW | sources/browser.py | 372 | except Exception as e: | CODE |
| LOW | sources/browser.py | 389 | except Exception as e: | CODE |
| LOW | sources/browser.py | 403 | except Exception as e: | CODE |
| LOW | sources/browser.py | 421 | except Exception as retry_error: | CODE |
| LOW | sources/browser.py | 527 | except Exception as e: | CODE |
| LOW | sources/browser.py | 550 | except Exception as e: | CODE |
| LOW | sources/browser.py | 594 | except Exception as e: | CODE |
| LOW | sources/browser.py | 610 | except Exception: | CODE |
| LOW | sources/browser.py | 627 | except Exception as e: | CODE |
| LOW | sources/browser.py | 658 | except Exception: | CODE |
| LOW | sources/browser.py | 688 | except Exception as e: | CODE |
| LOW | sources/browser.py | 730 | except Exception as e: | CODE |
| LOW | sources/browser.py | 786 | except Exception as e: | CODE |
| LOW | sources/browser.py | 812 | except Exception as e: | CODE |
| LOW | sources/browser.py | 825 | except Exception as e: | CODE |
| LOW | sources/browser.py | 834 | except Exception as e: | CODE |
| LOW | sources/browser.py | 868 | except Exception as e: | CODE |
| LOW | sources/browser.py | 875 | except Exception as e: | CODE |
| LOW | sources/browser.py | 935 | except Exception as e: | CODE |
| LOW | sources/browser.py | 1036 | except Exception: | CODE |
| LOW | sources/browser.py | 1040 | except Exception as sel_e: | CODE |
| LOW | sources/browser.py | 1064 | except Exception as e: | CODE |
| LOW | sources/browser.py | 1104 | except Exception as e: | CODE |
| LOW | sources/browser.py | 1173 | except Exception as e: | CODE |
| LOW | sources/browser.py | 1178 | except Exception as e: | CODE |
| LOW | sources/browser_identity.py | 178 | except Exception: | CODE |
| LOW | sources/browser_identity.py | 190 | except Exception: | CODE |
| LOW | sources/browser_identity.py | 196 | except Exception: | CODE |
| LOW | sources/browser_identity.py | 351 | except Exception: | CODE |
| LOW | sources/browser_identity.py | 390 | except Exception: | CODE |
| LOW | sources/browser_identity.py | 404 | except Exception: | CODE |
| 39 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | api.py | 3 | CODE | |
| LOW | api.py | 5 | CODE | |
| LOW | api.py | 7 | CODE | |
| LOW | api.py | 8 | CODE | |
| LOW | api.py | 9 | CODE | |
| LOW | cli.py | 3 | CODE | |
| LOW | cli.py | 4 | CODE | |
| LOW | cli.py | 10 | CODE | |
| LOW | cli.py | 10 | CODE | |
| LOW | tests/test_crx_utils.py | 10 | CODE | |
| LOW | tests/test_searx_search.py | 7 | CODE | |
| LOW | tests/test_provider.py | 5 | CODE | |
| LOW | tests/test_provider.py | 6 | CODE | |
| LOW | tests/test_provider.py | 7 | CODE | |
| LOW | tests/test_memory.py | 4 | CODE | |
| LOW | tests/test_planner_agent_parsing.py | 2 | CODE | |
| LOW | tests/test_logger.py | 4 | CODE | |
| LOW | tests/test_logger.py | 5 | CODE | |
| LOW | llm_server/app.py | 4 | CODE | |
| LOW | llm_server/sources/cache.py | 1 | CODE | |
| LOW | sources/interaction.py | 1 | CODE | |
| LOW | sources/interaction.py | 2 | CODE | |
| LOW | sources/interaction.py | 2 | CODE | |
| LOW | sources/memory.py | 1 | CODE | |
| LOW | sources/memory.py | 7 | CODE | |
| LOW | sources/memory.py | 7 | CODE | |
| LOW | sources/memory.py | 7 | CODE | |
| LOW | sources/memory.py | 7 | CODE | |
| LOW | sources/memory.py | 12 | CODE | |
| LOW | sources/logger.py | 1 | CODE | |
| LOW | sources/logger.py | 2 | CODE | |
| LOW | sources/logger.py | 2 | CODE | |
| LOW | sources/logger.py | 2 | CODE | |
| LOW | sources/logger.py | 2 | CODE | |
| LOW | sources/logger.py | 3 | CODE | |
| LOW | sources/text_to_speech.py | 6 | CODE | |
| LOW | sources/text_to_speech.py | 6 | CODE | |
| LOW | sources/text_to_speech.py | 6 | CODE | |
| LOW | sources/text_to_speech.py | 6 | CODE | |
| LOW | sources/text_to_speech.py | 19 | CODE | |
| LOW | sources/text_to_speech.py | 19 | CODE | |
| LOW | sources/text_to_speech.py | 22 | CODE | |
| LOW | sources/text_to_speech.py | 22 | CODE | |
| LOW | sources/browser.py | 9 | CODE | |
| LOW | sources/browser.py | 9 | CODE | |
| LOW | sources/browser.py | 9 | CODE | |
| LOW | sources/browser.py | 14 | CODE | |
| LOW | sources/browser.py | 32 | CODE | |
| LOW | sources/schemas.py | 2 | CODE | |
| LOW | sources/schemas.py | 2 | CODE | |
| LOW | sources/browser_identity.py | 17 | CODE | |
| LOW | sources/language.py | 1 | CODE | |
| LOW | sources/language.py | 1 | CODE | |
| LOW | sources/language.py | 1 | CODE | |
| LOW | sources/language.py | 2 | CODE | |
| LOW | sources/router.py | 5 | CODE | |
| LOW | sources/router.py | 16 | CODE | |
| LOW | sources/workspace.py | 9 | CODE | |
| LOW | sources/crx_utils.py | 14 | CODE | |
| LOW | sources/tools/fileFinder.py | 4 | CODE | |
| 32 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | api.py | 42 | except: | CODE |
| HIGH | sources/speech_to_text.py | 53 | except Exception: | CODE |
| HIGH | sources/speech_to_text.py | 62 | except Exception: | CODE |
| HIGH | sources/speech_to_text.py | 254 | except queue.Empty: | CODE |
| HIGH | sources/speech_to_text.py | 241 | except queue.Empty: | CODE |
| HIGH | sources/browser.py | 241 | except OSError: | CODE |
| HIGH | sources/browser.py | 475 | except Exception: | CODE |
| HIGH | sources/browser.py | 479 | except Exception: | CODE |
| HIGH | sources/browser.py | 471 | except Exception: | CODE |
| HIGH | sources/browser.py | 1150 | except Exception: | CODE |
| HIGH | sources/browser.py | 192 | except OSError: | CODE |
| HIGH | sources/browser_identity.py | 178 | except Exception: | CODE |
| HIGH | sources/browser_identity.py | 190 | except Exception: | CODE |
| HIGH | sources/browser_identity.py | 196 | except Exception: | CODE |
| HIGH | sources/browser_identity.py | 435 | except Exception: | CODE |
| HIGH | sources/browser_identity.py | 444 | except Exception: | CODE |
| HIGH | sources/browser_identity.py | 354 | except OSError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | start_services.sh | 49 | # Check if Docker daemon is running | COMMENT |
| LOW | start_services.sh | 74 | # Check if Docker Compose is installed | COMMENT |
| LOW | start_services.sh | 89 | # Check if docker-compose.yml exists | COMMENT |
| LOW | searxng/setup_searxng.sh | 9 | # Check if Docker is installed | COMMENT |
| LOW | searxng/setup_searxng.sh | 17 | # Check if Docker daemon is running | COMMENT |
| LOW⚡ | searxng/setup_searxng.sh | 42 | # Check if Docker Compose is installed | COMMENT |
| LOW⚡ | searxng/setup_searxng.sh | 54 | # Check if docker-compose.yml exists | COMMENT |
| LOW | scripts/linux_install.sh | 7 | # Check if uv is installed | COMMENT |
| LOW | scripts/macos_install.sh | 7 | # Check if uv is installed | COMMENT |
| LOW | scripts/macos_install.sh | 14 | # Check if homebrew is installed | COMMENT |
| LOW | sources/echo_filter.py | 43 | # Check if this exact sequence exists in the last spoken text | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | prompts/jarvis/planner_agent.txt | 28 | ## Task 2: I will create an api key for the weather api using the web agent | COMMENT |
| HIGH | prompts/base/planner_agent.txt | 28 | ## Task 2: I will create an api key for the weather api using the web agent | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | sources/tools/PyInterpreter.py | 0 | provide feedback based on the output of the code execution | STRING |
| HIGH | sources/tools/C_Interpreter.py | 0 | provide feedback based on the output of the code execution | STRING |
| HIGH | sources/tools/GoInterpreter.py | 0 | provide feedback based on the output of the code execution | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | llm_server/sources/ollama_handler.py | 16 | CODE | |
| LOW | sources/text_to_speech.py | 67 | CODE | |
| LOW | sources/browser.py | 225 | CODE | |
| LOW | sources/browser.py | 377 | CODE | |
| LOW | sources/browser.py | 734 | CODE | |
| LOW | sources/browser.py | 842 | CODE | |
| LOW | sources/browser.py | 911 | CODE | |
| LOW | sources/browser.py | 941 | CODE | |
| LOW | sources/browser.py | 998 | CODE | |
| LOW | sources/llm_provider.py | 126 | CODE | |
| LOW | sources/llm_provider.py | 441 | CODE | |
| LOW | sources/tools/tools.py | 150 | CODE | |
| LOW | sources/tools/searxSearch.py | 34 | CODE | |
| LOW | sources/tools/webSearch.py | 28 | CODE | |
| LOW | sources/tools/webSearch.py | 60 | CODE | |
| LOW | sources/agents/browser_agent.py | 198 | CODE | |
| LOW | sources/agents/planner_agent.py | 63 | CODE | |
| LOW | sources/agents/agent.py | 257 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | llm_router/dl_safetensors.sh | 10 | # Define the URL and filename | COMMENT |
| MEDIUM⚡ | searxng/setup_searxng.sh | 50 | # Create a directory for SearXNG config if it doesn’t exist | COMMENT |
| MEDIUM | searxng/settings.yml | 3 | # This file is INTENTIONALLY MINIMAL. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | llm_server/sources/generator.py | 35 | def set_model(self, model: str) -> None: | CODE |
| LOW | sources/interaction.py | 268 | def set_query(self, query: str) -> None: | CODE |
| LOW | sources/speech_to_text.py | 262 | def set_grammar(self, phrases: List[str]) -> None: | CODE |
| LOW | sources/tools/tools.py | 51 | def set_allow_language_exec_bash(self, value: bool) -> None: | CODE |
| LOW | sources/tools/__init__.py | 5 | __all__ = ["PyInterpreter", "BashInterpreter", "FileFinder", "webSearch", "FlightSearch", "GoInterpreter", "CInterpreter | CODE |
| LOW | sources/agents/__init__.py | 10 | __all__ = ["Agent", "CoderAgent", "CasualAgent", "FileAgent", "PlannerAgent", "BrowserAgent", "McpAgent"] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | sources/browser_identity.py | 29 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | sources/browser_identity.py | 34 | # --------------------------------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_tools_parsing.py | 158 | def process_data(data): | CODE |
| LOW | tests/test_tools_parsing.py | 175 | self.assertEqual(blocks[1], '\ndef process_data(data):\n return data.upper()\n') | CODE |
| LOW | llm_server/sources/decorator.py | 7 | def my_function(): | STRING |
| LOW | sources/utility.py | 110 | def my_function(): | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | frontend/agentic-seek-front/src/setupTests.js | 1 | // jest-dom adds custom jest matchers for asserting on DOM nodes. | COMMENT |
| LOW | searxng/settings.yml | 1 | # AgenticSeek SearXNG settings. | COMMENT |
| LOW | sources/browser.py | 1201 | # https://bot.incolumitas.com/ | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | sources/speech_to_text.py | 74 | CODE | |
| LOW | sources/tools/fileFinder.py | 90 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | frontend/agentic-seek-front/src/App.js | 248 | <p className="placeholder"> | CODE |