Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

chore(review): small hardening items in MCP guard, RPC client, sandbox runner, CSV export, file launch

オープン
#1,565 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
dart, flutter, postgresql

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

core enhancement P3 stability

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): _forbiddenFunctions lacks QUERY_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. _explainForbidden includes REPLACE, which refuses EXPLAIN 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.writeln is outside the try; 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 before SandboxLaunchCommand.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 = + - @, \n instead of CRLF while documented as RFC 4180, the write error cause is swallowed.
  • FileLaunchService (lib/core/platform/file_launch_service.dart): hasPendingTarget duplicates hasPendingTargets; path comparison in resolveOrRegisterSqliteConnection is case-sensitive (duplicate connections on Windows/macOS).
主要言語
Dart
スター
23
フォーク
1
平均マージ
31分
マージ済み PR(30日)
570

環境構築

Codespaces で開く

このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

QueryaHub/Querya-Desktop のほかの issue

QueryaHub/Querya-Desktop の issue をすべて見る

似ている issue

Dart の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。