chore(review): small hardening items in MCP guard, RPC client, sandbox runner, CSV export, file launch
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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).
- Lenguaje dominante
- Dart
- Estrellas
- 23
- Forks
- 1
- Merge medio
- 31 min
- PR fusionados (30 d)
- 570
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de QueryaHub/Querya-Desktop
-
enhancement ui
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
QueryaHub/Querya-Desktop#1689 ·
Los mantenedores suelen responder en 1 día
-
ui(dialogs): make destructive query and DML preview dialogs adaptive and prevent table name overflowAbiertobug frontend
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
QueryaHub/Querya-Desktop#1642 ·
Los mantenedores suelen responder en 1 día
-
bug error-handling settings
Dificultad 1/5 1-3 horas Aptitud para principiantes 78/100
QueryaHub/Querya-Desktop#1637 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
QueryaHub/Querya-Desktop#1636 ·
Los mantenedores suelen responder en 1 día
-
enhancement marketplace
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
QueryaHub/Querya-Desktop#1635 ·
Los mantenedores suelen responder en 1 día
Todos los issues de QueryaHub/Querya-Desktop
Issues similares
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
0niel/university-app#617 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
linagora/tmail-flutter#5010 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 65/100
chriskelly/wish-together#36 ·
Los mantenedores suelen responder en 1 día
-
[Bug] Web Guide has broken linksAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
AppFlowy-IO/AppFlowy#9075 ·
-
[web] Semantics `lang` attribute uses `Locale.toString()`, producing invalid tags like `es_US`Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día