chore(review): small hardening items in MCP guard, RPC client, sandbox runner, CSV export, file launch
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 35/100
Hướng nghiên cứu
Start with the listed files: lib/core/mcp/mcp_sql_guard.dart, lib/core/mcp/mcp_socket_host.dart, lib/core/extensions/rpc/json_rpc_stdio_client.dart, lib/core/extensions/sandbox/sandbox_process_runner.dart, the CSV export files, and lib/core/platform/file_launch_service.dart. Read each relevant function and its existing tests, then choose one finding to address; the issue suggests splitting larger items. Done means the chosen behavior is fixed and covered by a focused test.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Small findings from a review of areas with no open issues. Split into separate issues if any grows.
- MCP SQL guard (
lib/core/mcp/mcp_sql_guard.dart:40-49):_forbiddenFunctionslacksQUERY_TO_XML*/CURSOR_TO_XML/TABLE_TO_XML*,PG_ADVISORY_*,PG_SLEEP,LO_*,NEXTVAL/SETVAL. No bypass found (the read-only session is the second layer), this is defence in depth._explainForbiddenincludesREPLACE, which refusesEXPLAIN SELECT REPLACE(...)(false positive). - McpSocketHost (
lib/core/mcp/mcp_socket_host.dart:90-95): a line before authentication has no length limit and the number of unauthenticated sockets is unbounded (loopback only, 5 s handshake). - JsonRpcStdioClient.sendRequest (
lib/core/extensions/rpc/json_rpc_stdio_client.dart:86-95):_stdin.writelnis outside thetry; on a closed sink it throws synchronously and leaves_pending[id]behind. - SandboxProcessRunner.start (
lib/core/extensions/sandbox/sandbox_process_runner.dart:123-145): the scratch directory is created beforeSandboxLaunchCommand.build; an exception there leaks it. - CSV export (
lib/core/csv/result_grid_csv.dart,save_result_grid_csv.dart): no UTF-8 BOM (Excel misreads Cyrillic), no formula-injection guard for cells starting with= + - @,\ninstead of CRLF while documented as RFC 4180, the write error cause is swallowed. - FileLaunchService (
lib/core/platform/file_launch_service.dart):hasPendingTargetduplicateshasPendingTargets; path comparison inresolveOrRegisterSqliteConnectionis case-sensitive (duplicate connections on Windows/macOS).
- Ngôn ngữ chính
- Dart
- Star
- 23
- Fork
- 1
- Merge trung bình
- 31 phút
- Pull request đã merge (30 ngày)
- 570
Chuẩn bị môi trường
Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của QueryaHub/Querya-Desktop
-
enhancement ui
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
QueryaHub/Querya-Desktop#1689 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
ui(dialogs): make destructive query and DML preview dialogs adaptive and prevent table name overflowĐang mởbug frontend
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
QueryaHub/Querya-Desktop#1642 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug error-handling settings
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 78/100
QueryaHub/Querya-Desktop#1637 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
QueryaHub/Querya-Desktop#1636 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement marketplace
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
QueryaHub/Querya-Desktop#1635 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của QueryaHub/Querya-Desktop
Issue tương tự
-
bug
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 65/100
chriskelly/wish-together#36 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Bug] Web Guide has broken linksĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
AppFlowy-IO/AppFlowy#9075 ·
-
Paste asks for iOS paste permission because the default context menu ignores SystemContextMenuCó thể đã có người làm @dorklein đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
maheshj01/searchfield#267 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 67/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
hajisensai/Fushi#2340 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày