Commit Graph
868 Commits
Author SHA1 Message Date
junjun 35e7e00592 fix: Cross-Workspace Data-Source Schema Disclosure and Modification (Incomplete IDOR Remediation) 2026-09-17 15:23:43 +08:00
xuwei-fit2cloud 26818963a6 fix(datasource): retain explicitly referenced tables during schema selection 2026-09-17 14:51:41 +08:00
junjun 97d29a4d42 fix: Cross-Workspace Data-Source Schema Disclosure and Modification (Incomplete IDOR Remediation) 2026-09-17 12:17:53 +08:00
carfeii fccdd29421 Add per-user ownership check to dashboard load/update/delete
Dashboard resource endpoints (load_resource, update_resource,
update_canvas, delete_resource) fetched a core_dashboard row by id
alone, with no check that the caller created it. The only gating
decorator verified workspace membership, not per-user ownership, so
any authenticated workspace member could read, rename, or delete any
other member's dashboard by id. list_resource already filters by
create_by, showing dashboards are meant to be private per creator;
this adds the same check to the other four code paths.
2026-09-17 10:21:18 +08:00
kris tan 67601e6494 fix(datasource): filter Hive partition metadata from table fields
Ignore blank names and DESCRIBE metadata headers. Retain partition columns once in their original order, preserve valid hash-prefixed column names, and keep support for extra driver columns.

Refs dataease/SQLBot#1250.
2026-09-15 16:09:52 +08:00
ulleo 0b5588b5bf feat: add system param: SAMPLE_DATA_ENABLED 2026-09-15 11:46:16 +08:00
ulleo bc3403b8ff feat: implement LLM keyword extraction and fusion scoring for table matching
- add log
2026-09-15 10:49:12 +08:00
ulleo e37105316b feat: implement LLM keyword extraction and fusion scoring for table matching
- add log
2026-09-15 10:20:38 +08:00
ulleo e685a749c6 feat: implement LLM keyword extraction and fusion scoring for table matching
- improve table matching
2026-09-14 18:52:15 +08:00
ulleo 3fd6fa867d feat: implement LLM keyword extraction and fusion scoring for table matching
- Add extract_keywords() to LLMService with conversation context support,
  using process_stream + start_log/end_log for logging consistency
- Add expand_with_terminology() to expand keywords with synonym matching
- Add fusion scoring in calc_table_embedding(): α * vec_score + (1-α) * keyword_score
- Add calc_keyword_score() with multi-level matching:
  table name exact (1.0), comment exact (0.9), comment substring (0.7),
  table name partial (0.25-0.5), field comment exact (0.5),
  field comment substring (0.4), field name partial (0.3)
- Scoring considers keyword coverage rate to differentiate tables
  with different numbers of matched keywords
- Extracted keywords persisted to ChatRecord for reuse across endpoints
- get_terminology_template() supports comma-separated keyword input
  with per-keyword matching for higher precision
- Add TABLE_EMBEDDING_ALPHA and TABLE_EMBEDDING_KEYWORD_ENABLED config
2026-09-14 17:51:45 +08:00
fit2cloud-chenyw aac200aef5 fix(X-Pack): Assistant API call timeout issue #1288 2026-09-14 14:39:17 +08:00
junjun 8424dcbf92 refactor: Optimizing Excel header fields with too long prompts #1364 2026-09-14 10:40:52 +08:00
master_lin b744ca6c28 fix(datasource): dispose SQLAlchemy engine when removing pool 2026-09-14 10:32:05 +08:00
junjun ba9aa5db66 fix: Oracle timeout #1360 2026-09-11 14:13:28 +08:00
wangjiahao 3f68b618ef fix: Authenticated IDOR in Dashboard update endpoints allows cross-user Dashboard modification 2026-09-09 16:36:19 +08:00
wangjiahao 1bc83867e5 fix: Cross-Workspace Recommended-Problem Read and Overwrite (IDOR) 2026-09-09 16:26:39 +08:00
wangjiahao 33c87b61a4 fix: Authenticated IDOR in Dashboard update endpoints allows cross-user Dashboard modification 2026-09-09 14:11:08 +08:00
fit2cloud-chenyw 900eb2d28e perf: Internationalization (i18n) for In‑line Error Prompts 2026-09-09 11:07:36 +08:00
fit2cloud-chenyw 4ee923c968 Add config to hide default passwords or force password change at first login #1355 2026-09-02 16:41:01 +08:00
junjun c1d333e62d fix: Cross-Workspace Data-Source Schema Disclosure and Modification (Incomplete IDOR Remediation) 2026-08-31 11:09:23 +08:00
fit2cloud-chenywandClaude bbfc4cc8f5 fix(Security): Host header injection auth bypass and forged admin embedded token (CNVD)
- TokenMiddleware/ResponseMiddleware/audit logger use scope['path']
  instead of request.url.path for whitelist checks: a crafted Host
  header (e.g. x/api/v1/mcp) was concatenated into Starlette's URL
  and made protected routes match the /mcp* whitelist entry
- validateEmbedded rejects admin accounts and non-type-4 apps, so a
  self-signed token with account=admin can no longer impersonate the
  administrator
- Add HostValidationMiddleware rejecting malformed Host headers at the
  outermost layer (defense in depth)
- Add regression tests for host validation, whitelist matching and
  source-level guards

Co-Authored-By: Claude <[email protected]>
2026-08-31 11:05:05 +08:00
ulleo 6518701913 fix: Prevent Authorization Bypass Through User-Controlled Key problem (CWE-639) 2026-08-28 18:22:35 +08:00
ulleo 66a1b33ac4 fix: prevent path traversal in Excel upload (CWE-22) 2026-08-28 17:51:27 +08:00
fit2cloud-chenyw 49a50e3bce fix: Cross-Workspace Assistant Modification and Deletion (IDOR) 2026-08-28 15:37:45 +08:00
junjun 273171b8d1 fix: Kingbase SQL inject 2026-08-27 15:04:39 +08:00
ulleo 1fdc28b6fd improve: Support similarity sorting across account, name, and email fields 2026-08-26 21:08:43 +08:00
ulleo a2d1a9d423 improve: Support similarity sorting across account, name, and email fields 2026-08-26 11:13:23 +08:00
ulleo b99f140300 improve: Sort search results by account similarity 2026-08-26 10:52:24 +08:00
junjun bfe3fc4dc9 fix: The number of columns returned by Hive DESCRIBE does not match the ColumnSchema constructor #1210 2026-08-20 14:17:11 +08:00
junjun 7a32b139f7 feat: Hive datasource supports LDAP authentication #1209 2026-08-20 11:26:46 +08:00
junjun d31e6a0277 feat: Hive datasource supports LDAP authentication 2026-08-20 10:05:49 +08:00
junjun d33e42004c feat: MCP support model 2026-08-19 10:20:40 +08:00
junjun 2a86aa926c feat: MCP support model 2026-08-18 17:02:43 +08:00
junjun 743750305d feat: MCP support model 2026-08-18 15:43:28 +08:00
ulleo a2a7591d0f feat: switch search filters from OR to AND logic 2026-08-11 18:22:44 +08:00
junjun c8a2dd89bb feat: system param support key-value #1310 2026-08-10 14:09:02 +08:00
junjun 959285cfd0 feat: system param support key-value #1310 2026-08-07 11:31:28 +08:00
junjun ec4717e1f1 fix: connect pool pre ping 2026-08-03 17:05:35 +08:00
ulleo 6a175b0124 fix: CWE problem in recommend_questions 2026-08-03 16:47:33 +08:00
ulleo e58d1822dc feat: optimize chat list sorting 2026-07-30 16:52:46 +08:00
fit2cloud-chenyw 2fefef0a37 fix: CORS error occurred while embedding the assistant 2026-07-29 13:51:57 +08:00
fit2cloud-chenyw 4058ad3602 feat: Add a verification interface for the assistant 2026-07-29 11:27:21 +08:00
Sebastion a520fda25e fix: prevent path traversal in terminology excel upload (CWE-22) 2026-07-27 14:37:54 +08:00
ulleo 9726db544d refactor: replace dicttoxml with stdlib implementation to avoid GPL license risk 2026-07-24 18:09:00 +08:00
ulleo 9656efad06 feat: support export with filter 2026-07-24 17:03:02 +08:00
ulleo 8e97a6b962 feat: support filter search in SQL sample and terminology list
#1281
2026-07-24 11:27:02 +08:00
junjun fe65f3e2cc refactor: Optimize connection pool #1256 2026-07-20 17:32:54 +08:00
ulleo 7118b401a7 fix: extract_tables_from_sql incorrectly includes CTE names as table names
#1278
2026-07-17 16:33:02 +08:00
junjun 1e130223a3 refactor: Optimize the type of permission field 2026-07-16 17:09:08 +08:00
junjun 634d7e898c refactor: Optimize connection pool #1256 2026-07-16 15:51:20 +08:00