chore(review): small hardening items in MCP guard, RPC client, sandbox runner, CSV export, file launch
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 35/100
Direção de pesquisa
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.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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).
- Linguagem predominante
- Dart
- Estrelas
- 23
- Forks
- 1
- Merge médio
- 31min
- PRs com merge (30d)
- 570
Preparar o ambiente
Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de QueryaHub/Querya-Desktop
-
enhancement ui
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
QueryaHub/Querya-Desktop#1689 ·
Mantenedores costumam responder em até 1 dia
-
ui(dialogs): make destructive query and DML preview dialogs adaptive and prevent table name overflowAbertabug frontend
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
QueryaHub/Querya-Desktop#1642 ·
Mantenedores costumam responder em até 1 dia
-
bug error-handling settings
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 78/100
QueryaHub/Querya-Desktop#1637 ·
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
QueryaHub/Querya-Desktop#1636 ·
Mantenedores costumam responder em até 1 dia
-
enhancement marketplace
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
QueryaHub/Querya-Desktop#1635 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de QueryaHub/Querya-Desktop
Issues semelhantes
-
enhancement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 64/100
0niel/university-app#617 ·
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
linagora/tmail-flutter#5010 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 77/100
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 65/100
chriskelly/wish-together#36 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
AppFlowy-IO/AppFlowy#9075 ·