Bug: DocuEngine dynamic tools are process-global and can leak the first token's toolset across users
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 42/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 静か
- 技術スタック
- python
調査の方向性
Start by locating init_dynamic_tools() and tracing how its process-global guard registers tools for authenticated requests. Compare requests using tokens with different service access to determine where the tool list is initialized and reused. Done means a shared server exposes a tenant-safe, token-scoped toolset, or documents and enforces a deterministic shared-process limitation.
索引モデルが issue の本文から書いたものです。
説明
Summary
When the first authenticated request initializes DocuEngine dynamic tools, the resulting tool list appears to become global for the whole process. In a shared deployment this means the first token to hit the server can effectively decide which dynamic tools are registered for everyone else.
Reproduction
- Start one shared server instance.
- Send a first authenticated request with token A that has a limited set of services.
- Later connect with token B that should expose a different or broader DocuEngine surface.
- Observe that the server keeps the already-registered dynamic toolset.
Expected
Dynamic tools should either be tenant-safe, token-scoped, or the server should make the shared-process limitation explicit and deterministic.
Actual
init_dynamic_tools() is guarded by a process-global flag, so the first successful registration wins.
Notes
This becomes visible in cloud or team environments where one MCP instance is reused by multiple users.
- 主要言語
- Python
- スター
- 22
- フォーク
- 4
- 平均マージ
- 6分
- マージ済み PR(30日)
- 1
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
openapi/mcp-server のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
openapi/mcp-server#33 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
openapi/mcp-server#29 ·
-
難易度 1/5 1〜3時間 初心者へのやさしさ 73/100
openapi/mcp-server#25 ·
-
Testing: add a host-agnostic smoke test checklist for OpenClaw, NanoClaw, and NemoClaw-style clientsオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
openapi/mcp-server#24 ·
-
難易度 1/5 1〜3時間 初心者へのやさしさ 72/100
openapi/mcp-server#21 ·
openapi/mcp-server の issue をすべて見る
似ている issue
-
bug good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
yunaremaia/proto-drift#22 ·
-
bug good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
yunaremaia/memwatch#96 ·
-
bug good first issue
難易度 1/5 1時間未満 初心者へのやさしさ 91/100
yunaremaia/ci-gate-watch#34 ·
-
bug good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
yunaremaia/agent-capability-attestation#64 ·
メンテナーはふだん 1 日以内に返信
-
bug good first issue
難易度 1/5 1時間未満 初心者へのやさしさ 86/100
yunaremaia/agent-call-graph#43 ·
メンテナーはふだん 1 日以内に返信