🔥 基于大模型和 RAG 的智能问数系统,对话式数据分析神器。Text-to-SQL Generation via LLMs using RAG.
This report summarizes scanner evidence for dataease/SQLBot, a JavaScript project with 6,881 GitHub stars. SynthScan examined 126,557 lines of code across 679 source files, recording 622 pattern matches distributed across 15 syntactic categories. The legacy adjusted pattern signal is 6.3 (Moderate 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? 312 finding(s).
Are imports declared and package/API names verified? 125 finding(s).
Are wrappers, guards, and repeated structures necessary? 386 finding(s).
Which changes need focused human review? 622 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 622 distinct pattern matches across 15 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 | frontend/src/views/chat/chat-block/ChartBlock.vue | 208 | function setHiddenSidebarBtnZIndex(value: string) { | CODE |
| LOW | frontend/src/views/dashboard/canvas/CanvasCore.vue | 235 | function removeItemFromPositionBox(item: CanvasItem) { | CODE |
| LOW⚡ | backend/main.py | 46 | def init_terminology_embedding_data(): | CODE |
| LOW⚡ | backend/main.py | 51 | def init_data_training_embedding_data(): | CODE |
| LOW⚡ | backend/main.py | 56 | def init_table_and_ds_embedding(): | CODE |
| LOW | backend/main.py | 86 | def custom_generate_unique_id(route: APIRoute) -> str: | CODE |
| LOW | backend/main.py | 118 | def replace_placeholders_in_schema(schema: Dict[str, Any], trans: Dict[str, str]) -> None: | CODE |
| LOW | backend/main.py | 136 | def get_language_from_request(request: Request) -> str: | CODE |
| LOW | backend/main.py | 148 | def generate_openapi_for_lang(lang: str) -> Dict[str, Any]: | CODE |
| LOW | backend/tests/test_connection_pool_manager.py | 22 | def _load_connection_pool_manager(): | CODE |
| LOW | backend/tests/test_connection_pool_manager.py | 68 | def test_remove_pool_disposes_bound_engine(): | CODE |
| LOW | backend/tests/test_connection_pool_manager.py | 80 | def test_lru_eviction_disposes_oldest_engine(): | CODE |
| LOW | backend/tests/test_connection_pool_manager.py | 92 | def test_close_all_disposes_every_engine(): | CODE |
| LOW | backend/tests/test_doris_starrocks_connection.py | 97 | def test_direct_connection_forwards_merged_parameters( | CODE |
| LOW | backend/tests/test_doris_starrocks_connection.py | 112 | def test_pooled_connection_preserves_parameters( | CODE |
| LOW⚡ | backend/tests/test_table_embedding.py | 32 | def test_full_table_name_match(self): | CODE |
| LOW⚡ | backend/tests/test_table_embedding.py | 42 | def test_full_table_name_match_case_insensitive(self): | CODE |
| LOW⚡ | backend/tests/test_table_embedding.py | 52 | def test_full_table_name_match_among_multiple_keywords(self): | CODE |
| LOW⚡ | backend/tests/test_table_embedding.py | 62 | def test_table_comment_full_match(self): | CODE |
| LOW⚡ | backend/tests/test_table_embedding.py | 72 | def test_table_comment_full_match_custom_comment_priority(self): | CODE |
| LOW⚡ | backend/tests/test_table_embedding.py | 185 | def test_empty_keywords_after_split(self): | CODE |
| LOW⚡ | backend/tests/test_table_embedding.py | 195 | def test_priority_table_name_over_comment(self): | CODE |
| LOW⚡ | backend/tests/test_table_embedding.py | 205 | def test_priority_comment_over_field_comment(self): | CODE |
| LOW⚡ | backend/tests/test_table_embedding.py | 688 | def test_long_physical_name_does_not_require_short_name(self, question, long_name, short_name): | CODE |
| LOW⚡ | backend/tests/test_table_embedding.py | 697 | def test_unknown_quoted_identifier_does_not_match_part(self, quoted): | CODE |
| LOW⚡ | backend/tests/test_table_embedding.py | 704 | def test_escaped_quoted_identifier(self, name, quoted): | CODE |
| LOW⚡ | backend/tests/test_table_embedding.py | 721 | def test_physical_name_boundaries(self, question, expected): | CODE |
| LOW⚡ | backend/tests/test_table_embedding.py | 727 | def test_longer_comment_wins_only_at_same_occurrence(self): | CODE |
| LOW⚡ | backend/tests/test_table_embedding.py | 735 | def test_duplicate_comments_keep_all_candidates(self): | CODE |
| LOW⚡ | backend/tests/test_table_embedding.py | 741 | def test_explicit_names_can_exceed_limit_without_duplicates(self): | CODE |
| LOW⚡ | backend/tests/test_table_embedding.py | 748 | def test_explicit_table_not_in_candidates_is_not_added(self): | CODE |
| LOW⚡ | backend/tests/test_table_embedding.py | 754 | def test_no_explicit_mention_keeps_existing_ranking(self): | CODE |
| LOW | backend/tests/test_table_embedding.py | 84 | def test_partial_table_name_match_single_keyword(self): | CODE |
| LOW | backend/tests/test_table_embedding.py | 96 | def test_partial_table_name_match_full_coverage(self): | CODE |
| LOW | backend/tests/test_table_embedding.py | 121 | def test_field_custom_comment_priority(self): | CODE |
| LOW | backend/tests/test_table_embedding.py | 147 | def test_field_name_match_no_duplicate(self): | CODE |
| LOW | backend/tests/test_table_embedding.py | 218 | def test_priority_field_comment_over_field_name(self): | CODE |
| LOW | backend/tests/test_table_embedding.py | 233 | def test_multiple_keywords_best_score_wins(self): | CODE |
| LOW | backend/tests/test_table_embedding.py | 249 | def test_underscore_table_name_parts(self): | CODE |
| LOW | backend/tests/test_table_embedding.py | 261 | def test_field_name_with_underscores(self): | CODE |
| LOW | backend/tests/test_table_embedding.py | 274 | def test_real_scenario_sales_query(self): | CODE |
| LOW | backend/tests/test_table_embedding.py | 289 | def test_real_scenario_table_name_query(self): | CODE |
| LOW | backend/tests/test_table_embedding.py | 374 | def test_oid_zero_should_still_query(self): | CODE |
| LOW | backend/tests/test_table_embedding.py | 392 | def test_case_insensitive_match(self): | CODE |
| LOW | backend/tests/test_table_embedding.py | 409 | def test_multiple_keywords_expansion(self): | CODE |
| LOW | backend/tests/test_table_embedding.py | 424 | def test_child_term_word_also_matches(self): | CODE |
| LOW | backend/tests/test_table_embedding.py | 460 | def test_exact_table_name_match_ranks_first(self, mock_embed_cache, mock_settings): | CODE |
| LOW | backend/tests/test_table_embedding.py | 489 | def test_keyword_disabled_uses_vector_only(self, mock_embed_cache, mock_settings): | CODE |
| LOW | backend/tests/test_table_embedding.py | 510 | def test_no_keywords_falls_back_to_vector(self, mock_embed_cache, mock_settings): | CODE |
| LOW | backend/tests/test_table_embedding.py | 532 | def test_multiple_exact_matches_all_rank_first(self, mock_embed_cache, mock_settings): | CODE |
| LOW | backend/tests/test_table_embedding.py | 562 | def test_fusion_score_formula(self, mock_embed_cache, mock_settings): | CODE |
| LOW | backend/tests/test_table_embedding.py | 590 | def test_fallback_on_unexpected_error(self, mock_embed_cache, mock_settings): | CODE |
| LOW | backend/tests/test_table_embedding.py | 638 | def test_explicit_mention_survives_top_ten(self, keywords, mention): | CODE |
| LOW | backend/tests/test_table_embedding.py | 654 | def test_vector_failure_does_not_remove_explicit_table(self, failure): | CODE |
| LOW | backend/tests/test_table_embedding.py | 670 | def test_vector_failure_keeps_all_candidates_without_explicit_name(self, keywords, failure): | CODE |
| LOW⚡ | backend/tests/test_cwe89_escape_fix.py | 83 | def test_spaces_and_punctuation(self): | CODE |
| LOW⚡ | backend/tests/test_cwe89_escape_fix.py | 88 | def test_single_quote_escaped(self): | CODE |
| LOW⚡ | backend/tests/test_cwe89_escape_fix.py | 94 | def test_double_single_quotes(self): | CODE |
| LOW⚡ | backend/tests/test_cwe89_escape_fix.py | 99 | def test_name_with_apostrophe(self): | CODE |
| LOW⚡ | backend/tests/test_cwe89_escape_fix.py | 109 | def test_combined_quote_and_backslash(self): | CODE |
| 138 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | backend/common/utils/utils.py | 74 | except: | CODE |
| HIGH | backend/common/audit/schemas/logger_decorator.py | 339 | except: | CODE |
| HIGH | backend/common/audit/schemas/logger_decorator.py | 353 | except: | CODE |
| HIGH | backend/alembic/versions/061_assistant_oid_ddl.py | 41 | except (json.JSONDecodeError, TypeError, AttributeError): | CODE |
| HIGH | backend/apps/datasource/crud/datasource.py | 508 | except Exception: | CODE |
| HIGH | backend/apps/chat/curd/chat.py | 153 | except Exception: | CODE |
| HIGH | backend/apps/chat/curd/chat.py | 204 | except Exception: | CODE |
| HIGH | backend/apps/chat/curd/chat.py | 248 | except Exception: | CODE |
| HIGH | backend/apps/chat/curd/chat.py | 259 | except Exception: | CODE |
| HIGH | backend/apps/chat/curd/chat.py | 299 | except Exception: | CODE |
| HIGH | backend/apps/chat/curd/chat.py | 311 | except Exception: | CODE |
| HIGH | backend/apps/chat/curd/chat.py | 322 | except Exception: | CODE |
| HIGH | backend/apps/chat/curd/chat.py | 495 | except Exception: | CODE |
| HIGH | backend/apps/chat/curd/chat.py | 541 | except Exception: | CODE |
| HIGH | backend/apps/chat/curd/chat.py | 547 | except Exception: | CODE |
| HIGH | backend/apps/chat/curd/chat.py | 552 | except Exception: | CODE |
| HIGH | backend/apps/chat/curd/chat.py | 560 | except Exception: | CODE |
| HIGH | backend/apps/chat/curd/chat.py | 1029 | except Exception as e: | CODE |
| HIGH | backend/apps/chat/curd/chat.py | 662 | except Exception: | CODE |
| HIGH | backend/apps/chat/task/llm.py | 90 | except Exception: | CODE |
| HIGH | backend/apps/chat/task/llm.py | 1977 | except Exception: | CODE |
| HIGH | backend/apps/ai_model/model_factory.py | 166 | except Exception: | CODE |
| HIGH | backend/apps/ai_model/openai/llm.py | 54 | except KeyError: | CODE |
| HIGH | backend/apps/system/crud/user_excel.py | 105 | except Exception: | CODE |
| HIGH | backend/apps/system/crud/user_excel.py | 112 | except Exception: | CODE |
| HIGH | backend/apps/system/crud/user_excel.py | 329 | except Exception: | CODE |
| HIGH | backend/apps/system/api/aimodel.py | 145 | except Exception: | CODE |
| HIGH | backend/apps/system/api/aimodel.py | 138 | except Exception: | CODE |
| HIGH | backend/apps/db/db.py | 699 | except: | CODE |
| HIGH | backend/apps/db/db.py | 906 | except (IndexError, AttributeError): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | backend/main.py | 63 | except Exception: | CODE |
| MEDIUM | backend/main.py | 60 | def shutdown_resources() -> None: | CODE |
| LOW | backend/common/core/db.py | 17 | except Exception: | CODE |
| LOW | backend/common/core/response_middleware.py | 80 | except Exception as e: | CODE |
| LOW | backend/common/core/sqlbot_cache.py | 52 | except Exception as e: | CODE |
| LOW | backend/common/utils/http_utils.py | 30 | except Exception as e: | CODE |
| LOW | backend/common/utils/utils.py | 263 | except Exception as e: | CODE |
| LOW⚡ | backend/common/audit/schemas/logger_decorator.py | 579 | except Exception as e: | CODE |
| LOW | backend/common/audit/schemas/logger_decorator.py | 118 | except Exception as e: | CODE |
| LOW | backend/common/audit/schemas/logger_decorator.py | 242 | except Exception: | CODE |
| LOW | backend/common/audit/schemas/logger_decorator.py | 301 | except Exception: | CODE |
| LOW | backend/common/audit/schemas/logger_decorator.py | 393 | except Exception: | CODE |
| LOW | backend/common/audit/schemas/logger_decorator.py | 484 | except Exception as e: | CODE |
| LOW | backend/common/audit/schemas/logger_decorator.py | 615 | except Exception as log_error: | CODE |
| LOW | backend/common/audit/schemas/logger_decorator.py | 663 | except Exception as e: | CODE |
| LOW | backend/common/audit/schemas/logger_decorator.py | 709 | except Exception as log_error: | CODE |
| LOW | backend/apps/datasource/embedding/ds_embedding.py | 52 | except Exception: | CODE |
| LOW | backend/apps/datasource/embedding/ds_embedding.py | 89 | except Exception: | CODE |
| LOW | backend/apps/datasource/embedding/table_embedding.py | 114 | except Exception: | CODE |
| LOW | backend/apps/datasource/embedding/table_embedding.py | 351 | except Exception: | CODE |
| LOW | backend/apps/datasource/embedding/table_embedding.py | 406 | except Exception: | CODE |
| LOW | backend/apps/datasource/crud/datasource.py | 508 | except Exception: | CODE |
| LOW | backend/apps/datasource/crud/table.py | 51 | except Exception: | CODE |
| LOW | backend/apps/datasource/crud/table.py | 103 | except Exception: | CODE |
| LOW | backend/apps/datasource/crud/table.py | 158 | except Exception: | CODE |
| MEDIUM | backend/apps/datasource/crud/table.py | 33 | def run_fill_empty_table_and_ds_embedding(session_maker): | CODE |
| LOW | backend/apps/datasource/api/datasource.py | 127 | except Exception as e: | CODE |
| LOW | backend/apps/datasource/api/datasource.py | 146 | except Exception as e: | CODE |
| LOW | backend/apps/datasource/api/datasource.py | 190 | except Exception: | STRING |
| LOW | backend/apps/datasource/api/datasource.py | 237 | except Exception as e: | CODE |
| LOW | backend/apps/datasource/api/datasource.py | 386 | except Exception as e: | CODE |
| LOW | backend/apps/datasource/api/datasource.py | 535 | except Exception as e: | CODE |
| LOW | backend/apps/datasource/api/datasource.py | 583 | except Exception as e: | CODE |
| LOW | backend/apps/datasource/api/datasource.py | 620 | except Exception as e: | CODE |
| MEDIUM | backend/apps/datasource/api/datasource.py | 234 | def inner(): | CODE |
| LOW⚡ | backend/apps/chat/curd/chat.py | 299 | except Exception: | CODE |
| LOW⚡ | backend/apps/chat/curd/chat.py | 311 | except Exception: | CODE |
| LOW⚡ | backend/apps/chat/curd/chat.py | 541 | except Exception: | CODE |
| LOW⚡ | backend/apps/chat/curd/chat.py | 547 | except Exception: | CODE |
| LOW⚡ | backend/apps/chat/curd/chat.py | 552 | except Exception: | CODE |
| LOW⚡ | backend/apps/chat/curd/chat.py | 560 | except Exception: | CODE |
| LOW⚡ | backend/apps/chat/curd/chat.py | 568 | except Exception: | CODE |
| LOW | backend/apps/chat/curd/chat.py | 153 | except Exception: | CODE |
| LOW | backend/apps/chat/curd/chat.py | 204 | except Exception: | CODE |
| LOW | backend/apps/chat/curd/chat.py | 248 | except Exception: | CODE |
| LOW | backend/apps/chat/curd/chat.py | 259 | except Exception: | CODE |
| LOW | backend/apps/chat/curd/chat.py | 285 | except Exception as e: | CODE |
| LOW | backend/apps/chat/curd/chat.py | 322 | except Exception: | CODE |
| LOW | backend/apps/chat/curd/chat.py | 446 | except Exception: | CODE |
| LOW | backend/apps/chat/curd/chat.py | 495 | except Exception: | CODE |
| LOW | backend/apps/chat/curd/chat.py | 634 | except Exception: | CODE |
| LOW | backend/apps/chat/curd/chat.py | 652 | except Exception: | CODE |
| LOW | backend/apps/chat/curd/chat.py | 662 | except Exception: | CODE |
| LOW | backend/apps/chat/curd/chat.py | 685 | except Exception: | CODE |
| LOW | backend/apps/chat/curd/chat.py | 1029 | except Exception as e: | CODE |
| MEDIUM | backend/apps/chat/task/llm.py | 266 | def is_running(self, timeout=0.5): | CODE |
| MEDIUM | backend/apps/chat/task/llm.py | 1325 | def pop_chunk(self): | CODE |
| MEDIUM | backend/apps/chat/task/llm.py | 1697 | def run_recommend_questions_task(self): | CODE |
| LOW⚡ | backend/apps/chat/task/llm.py | 1711 | except Exception: | CODE |
| LOW | backend/apps/chat/task/llm.py | 90 | except Exception: | CODE |
| 77 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | backend/common/core/config.py | 12 | CODE | |
| LOW | backend/common/core/models.py | 1 | CODE | |
| LOW | backend/common/core/schemas.py | 5 | CODE | |
| LOW | backend/common/utils/tree_utils.py | 2 | CODE | |
| LOW | backend/common/audit/schemas/logger_decorator.py | 15 | CODE | |
| LOW | backend/alembic/env.py | 7 | CODE | |
| LOW | backend/alembic/versions/032_modify_assistant_ddl.py | 10 | CODE | |
| LOW | backend/alembic/versions/065_user_bind_var.py | 10 | CODE | |
| LOW | backend/alembic/versions/024_modify_chat_record.py | 10 | CODE | |
| LOW | backend/alembic/versions/024_modify_chat_record.py | 11 | CODE | |
| LOW | backend/alembic/versions/029_modify_chat.py | 10 | CODE | |
| LOW | backend/alembic/versions/066_update_assistant_model.py | 11 | CODE | |
| LOW | …ckend/alembic/versions/051_modify_data_training_ddl.py | 10 | CODE | |
| LOW | …ckend/alembic/versions/051_modify_data_training_ddl.py | 11 | CODE | |
| LOW | backend/alembic/versions/009_0_modify_chat.py | 11 | CODE | |
| LOW | backend/alembic/versions/049_user_platform_ddl.py | 10 | CODE | |
| LOW | backend/alembic/versions/054_update_chat_record_dll.py | 10 | CODE | |
| LOW | backend/alembic/versions/054_update_chat_record_dll.py | 11 | CODE | |
| LOW | backend/alembic/versions/052_add_recommended_problem.py | 10 | CODE | |
| LOW | backend/alembic/versions/041_add_terminology_oid.py | 10 | CODE | |
| LOW | backend/alembic/versions/041_add_terminology_oid.py | 11 | CODE | |
| LOW | backend/alembic/versions/033_chat_origin_ddl.py | 10 | CODE | |
| LOW | backend/alembic/versions/033_chat_origin_ddl.py | 11 | CODE | |
| LOW | backend/alembic/versions/014_modify_chat_record.py | 10 | CODE | |
| LOW | backend/alembic/versions/014_modify_chat_record.py | 11 | CODE | |
| LOW | …end/alembic/versions/038_remove_chat_record_cloumns.py | 10 | CODE | |
| LOW | …end/alembic/versions/038_remove_chat_record_cloumns.py | 11 | CODE | |
| LOW | backend/alembic/versions/039_create_terminology.py | 12 | CODE | |
| LOW | backend/alembic/versions/055_add_system_logs.py | 10 | CODE | |
| LOW | backend/alembic/versions/047_table_embedding.py | 10 | CODE | |
| LOW | backend/alembic/versions/047_table_embedding.py | 11 | CODE | |
| LOW | backend/alembic/versions/042_data_training.py | 11 | CODE | |
| LOW | backend/alembic/versions/069_term_custom_prompt.py | 10 | CODE | |
| LOW | backend/alembic/versions/069_term_custom_prompt.py | 11 | CODE | |
| LOW | backend/alembic/versions/011_update_dashboard.py | 10 | CODE | |
| LOW | backend/alembic/versions/011_update_dashboard.py | 11 | CODE | |
| LOW | backend/alembic/versions/045_modify_terminolog.py | 10 | CODE | |
| LOW | backend/alembic/versions/008_modify_field_type.py | 10 | CODE | |
| LOW | backend/alembic/versions/004_add_aimodel_auto.py | 11 | CODE | |
| LOW | backend/alembic/versions/060_platform_token_ddl.py | 11 | CODE | |
| LOW | backend/alembic/versions/022_assistant_ddl.py | 10 | CODE | |
| LOW | backend/alembic/versions/056_api_key_ddl.py | 11 | CODE | |
| LOW | backend/alembic/versions/027_modify_permission.py | 11 | CODE | |
| LOW | backend/alembic/versions/009_1_add_core_dashboard.py | 10 | CODE | |
| LOW | backend/alembic/versions/009_1_add_core_dashboard.py | 11 | CODE | |
| LOW | backend/alembic/versions/036_modify_assistant.py | 10 | CODE | |
| LOW | backend/alembic/versions/059_chat_log_resource.py | 10 | CODE | |
| LOW | backend/alembic/versions/059_chat_log_resource.py | 11 | CODE | |
| LOW | backend/alembic/versions/071_modify_permission_jsonb.py | 10 | CODE | |
| LOW | backend/alembic/versions/010_upgrade_user_language.py | 10 | CODE | |
| LOW | backend/alembic/versions/010_upgrade_user_language.py | 11 | CODE | |
| LOW | backend/alembic/versions/018_modify_chat.py | 10 | CODE | |
| LOW | backend/alembic/versions/018_modify_chat.py | 11 | CODE | |
| LOW | backend/alembic/versions/006_add_ds_field.py | 11 | CODE | |
| LOW | backend/alembic/versions/035_sys_arg_ddl.py | 10 | CODE | |
| LOW | backend/alembic/versions/034_field_sort.py | 10 | CODE | |
| LOW | backend/alembic/versions/034_field_sort.py | 11 | CODE | |
| LOW | backend/alembic/versions/057_update_sys_log.py | 10 | CODE | |
| LOW | backend/alembic/versions/057_update_sys_log.py | 11 | CODE | |
| LOW | backend/alembic/versions/063_update_chat_log_dll.py | 10 | CODE | |
| 57 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | backend/common/core/sqlbot_cache.py | 12 | CODE | |
| LOW | backend/common/utils/dict_to_xml.py | 9 | CODE | |
| LOW | backend/common/utils/utils.py | 56 | CODE | |
| LOW | backend/common/utils/utils.py | 89 | CODE | |
| LOW | backend/common/utils/data_format.py | 51 | CODE | |
| LOW | backend/common/utils/data_format.py | 112 | CODE | |
| LOW | backend/common/utils/data_format.py | 146 | CODE | |
| LOW | backend/common/utils/data_format.py | 63 | CODE | |
| LOW | backend/common/audit/schemas/logger_decorator.py | 489 | CODE | |
| LOW | backend/common/audit/schemas/logger_decorator.py | 124 | CODE | |
| LOW | backend/common/audit/schemas/logger_decorator.py | 168 | CODE | |
| LOW | backend/common/audit/schemas/logger_decorator.py | 246 | CODE | |
| LOW | backend/common/audit/schemas/logger_decorator.py | 397 | CODE | |
| LOW | backend/common/audit/schemas/logger_decorator.py | 505 | CODE | |
| LOW | backend/common/audit/schemas/logger_decorator.py | 507 | CODE | |
| LOW | backend/alembic/versions/061_assistant_oid_ddl.py | 21 | CODE | |
| LOW | backend/apps/datasource/embedding/ds_embedding.py | 18 | CODE | |
| LOW | backend/apps/datasource/embedding/table_embedding.py | 119 | CODE | |
| LOW | backend/apps/datasource/embedding/table_embedding.py | 235 | CODE | |
| LOW | backend/apps/datasource/embedding/table_embedding.py | 357 | CODE | |
| LOW | backend/apps/datasource/crud/row_permission.py | 45 | CODE | |
| LOW | backend/apps/datasource/crud/row_permission.py | 68 | CODE | |
| LOW | backend/apps/datasource/crud/row_permission.py | 252 | CODE | |
| LOW | backend/apps/datasource/crud/permission.py | 15 | CODE | |
| LOW | backend/apps/datasource/crud/permission.py | 58 | CODE | |
| LOW | backend/apps/datasource/crud/datasource.py | 319 | CODE | |
| LOW | backend/apps/datasource/crud/datasource.py | 458 | CODE | |
| LOW | backend/apps/datasource/crud/datasource.py | 531 | CODE | |
| LOW | backend/apps/datasource/crud/table.py | 57 | CODE | |
| LOW | backend/apps/datasource/crud/table.py | 109 | CODE | |
| LOW | backend/apps/datasource/api/datasource.py | 479 | CODE | |
| LOW | backend/apps/chat/curd/chat.py | 167 | CODE | |
| LOW | backend/apps/chat/curd/chat.py | 220 | CODE | |
| LOW | backend/apps/chat/curd/chat.py | 335 | CODE | |
| LOW | backend/apps/chat/curd/chat.py | 580 | CODE | |
| LOW | backend/apps/chat/task/llm.py | 74 | CODE | |
| LOW | backend/apps/chat/task/llm.py | 1907 | CODE | |
| LOW | backend/apps/chat/task/llm.py | 1981 | CODE | |
| LOW | backend/apps/chat/task/llm.py | 125 | CODE | |
| LOW | backend/apps/chat/task/llm.py | 220 | CODE | |
| LOW | backend/apps/chat/task/llm.py | 276 | CODE | |
| LOW | backend/apps/chat/task/llm.py | 454 | CODE | |
| LOW | backend/apps/chat/task/llm.py | 751 | CODE | |
| LOW | backend/apps/chat/task/llm.py | 1207 | CODE | |
| LOW | backend/apps/chat/task/llm.py | 1357 | CODE | |
| LOW | backend/apps/chat/task/llm.py | 1725 | CODE | |
| LOW | backend/apps/chat/api/chat.py | 258 | CODE | |
| LOW | backend/apps/chat/api/chat.py | 472 | CODE | |
| LOW | backend/apps/terminology/curd/terminology.py | 392 | CODE | |
| LOW | backend/apps/terminology/curd/terminology.py | 842 | CODE | |
| LOW | backend/apps/terminology/curd/terminology.py | 1007 | CODE | |
| LOW | backend/apps/data_training/curd/data_training.py | 521 | CODE | |
| LOW | backend/apps/mcp/mcp.py | 166 | CODE | |
| LOW | backend/apps/ai_model/openai/llm.py | 23 | CODE | |
| LOW | backend/apps/system/middleware/auth.py | 33 | CODE | |
| LOW | backend/apps/system/schemas/permission.py | 62 | CODE | |
| LOW | backend/apps/system/schemas/permission.py | 63 | CODE | |
| LOW | backend/apps/system/schemas/permission.py | 65 | CODE | |
| LOW | backend/apps/system/crud/assistant.py | 51 | CODE | |
| LOW | backend/apps/system/crud/assistant.py | 90 | CODE | |
| 24 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | backend/tests/test_table_embedding.py | 25 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | backend/tests/test_table_embedding.py | 27 | # ============================================================================= | COMMENT |
| MEDIUM | backend/tests/test_table_embedding.py | 300 | # ============================================================================= | COMMENT |
| MEDIUM | backend/tests/test_table_embedding.py | 302 | # ============================================================================= | COMMENT |
| MEDIUM | backend/tests/test_table_embedding.py | 441 | # ============================================================================= | COMMENT |
| MEDIUM | backend/tests/test_table_embedding.py | 443 | # ============================================================================= | COMMENT |
| MEDIUM | backend/tests/test_cwe89_escape_fix.py | 58 | # ============================================================ | STRING |
| MEDIUM | backend/tests/test_cwe89_escape_fix.py | 60 | # ============================================================ | STRING |
| MEDIUM⚡ | backend/tests/test_cwe89_escape_fix.py | 146 | # ============================================================ | COMMENT |
| MEDIUM⚡ | backend/tests/test_cwe89_escape_fix.py | 148 | # ============================================================ | COMMENT |
| MEDIUM⚡ | backend/tests/test_cwe89_escape_fix.py | 186 | # ============================================================ | COMMENT |
| MEDIUM⚡ | backend/tests/test_cwe89_escape_fix.py | 188 | # ============================================================ | COMMENT |
| MEDIUM | backend/tests/test_embedded_auth_bypass_fix.py | 54 | # ============================================================ | STRING |
| MEDIUM | backend/tests/test_embedded_auth_bypass_fix.py | 56 | # ============================================================ | STRING |
| MEDIUM⚡ | backend/tests/test_embedded_auth_bypass_fix.py | 98 | # ============================================================ | COMMENT |
| MEDIUM⚡ | backend/tests/test_embedded_auth_bypass_fix.py | 100 | # ============================================================ | COMMENT |
| MEDIUM⚡ | backend/tests/test_embedded_auth_bypass_fix.py | 249 | # ============================================================ | COMMENT |
| MEDIUM⚡ | backend/tests/test_embedded_auth_bypass_fix.py | 251 | # ============================================================ | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | frontend/src/stores/appearance.ts | 161 | }, | COMMENT |
| LOW | frontend/src/stores/appearance.ts | 181 | // document.querySelector('head').appendChild(fontStyleElement) | COMMENT |
| LOW | frontend/src/stores/appearance.ts | 221 | } | COMMENT |
| LOW | frontend/src/stores/appearance.ts | 241 | // name && fileTransName | COMMENT |
| LOW | frontend/src/views/system/prompt/index.vue | 281 | // const validatePass = (_: any, value: any, callback: any) => { | COMMENT |
| LOW | frontend/src/views/system/embedded/iframe.vue | 261 | // ElMessageBox.confirm(t('permission.rule_rule_1', { msg: row.name }), { | COMMENT |
| LOW | backend/alembic.ini | 1 | # A generic, single database configuration. | COMMENT |
| LOW | backend/alembic.ini | 21 | # set to 'true' to run the environment during | COMMENT |
| LOW | backend/README.md | 1 | # FastAPI Project - Backend | COMMENT |
| LOW | backend/alembic/env.py | 21 | # from myapp import mymodel | COMMENT |
| LOW | backend/apps/datasource/embedding/__init__.py | 1 | # Author: Junjun | COMMENT |
| LOW | backend/apps/datasource/api/datasource.py | 261 | # if not file.filename.lower().endswith(tuple(ALLOWED_EXTENSIONS)): | COMMENT |
| LOW | backend/apps/datasource/api/datasource.py | 281 | # fields.append({"name": df.columns[i], "type": str(df.dtypes[i]), "relType": ""}) | COMMENT |
| LOW | backend/apps/datasource/api/datasource.py | 301 | # for i in range(column_len): | COMMENT |
| LOW | backend/apps/swagger/__init__.py | 1 | # Author: Junjun | COMMENT |
| LOW | backend/apps/template/filter/__init__.py | 1 | # Author: Junjun | COMMENT |
| LOW | backend/apps/mcp/__init__.py | 1 | # Author: Junjun | COMMENT |
| LOW | backend/apps/ai_model/llm.py | 1 | # todo | COMMENT |
| LOW | backend/apps/db/es_engine.py | 81 | # print(json.dumps(r.json())) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | frontend/public/tinymce/themes/silver/theme.min.js | 1 | !function(){"use strict";const e=Object.getPrototypeOf,t=(e,t,o)=>{var n;return!!o(e,t.prototype)||(null===(n=e.construc | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | frontend/public/tinymce/tinymce.min.js | 11 | !function(){"use strict";var e=function(e){if(null===e)return"null";if(void 0===e)return"undefined";var t=typeof e;retur | CODE |
| LOW | frontend/public/tinymce/themes/silver/theme.min.js | 1 | !function(){"use strict";const e=Object.getPrototypeOf,t=(e,t,o)=>{var n;return!!o(e,t.prototype)||(null===(n=e.construc | CODE |
| LOW | frontend/src/i18n/th-TH.json | 302 | "placeholder": "โปรดกรอกคำถามของคุณ", | CODE |
| LOW | frontend/src/i18n/ko-KR.json | 302 | "placeholder": "질문을 입력하십시오", | CODE |
| LOW | frontend/src/i18n/zh-CN.json | 302 | "placeholder": "请输入您的问题", | CODE |
| LOW | frontend/src/i18n/en.json | 302 | "placeholder": "Please enter your question", | CODE |
| LOW | frontend/src/i18n/zh-TW.json | 302 | "placeholder": "請輸入您的問題", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | frontend/public/tinymce/tinymce.min.js | 11 | !function(){"use strict";var e=function(e){if(null===e)return"null";if(void 0===e)return"undefined";var t=typeof e;retur | CODE |
| MEDIUM⚡ | frontend/public/tinymce/tinymce.min.js | 11 | !function(){"use strict";var e=function(e){if(null===e)return"null";if(void 0===e)return"undefined";var t=typeof e;retur | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | backend/common/audit/schemas/logger_decorator.py | 570 | # Step 2: If the resource ID is configured to be extracted from the results and has not been extracted b | COMMENT |
| LOW | backend/common/audit/schemas/logger_decorator.py | 528 | # Step 1: Attempt to extract the resource ID from the parameters | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | backend/common/audit/schemas/logger_decorator.py | 570 | # Step 2: If the resource ID is configured to be extracted from the results and has not been extracted b | COMMENT |
| LOW | backend/common/audit/schemas/logger_decorator.py | 528 | # Step 1: Attempt to extract the resource ID from the parameters | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | backend/common/audit/schemas/logger_decorator.py | 327 | # Create a dictionary containing all parameters | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | backend/common/audit/schemas/logger_decorator.py | 81 | CODE | |
| LOW | backend/common/audit/schemas/logger_decorator.py | 397 | CODE | |
| LOW | backend/apps/system/api/user.py | 58 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | backend/apps/chat/task/llm.py | 1357 | def run_task(self, in_chat: bool = True, stream: bool = True, | CODE |