fix(extension): 强化 MCP 参数与生产运行门禁
This commit is contained in:
@@ -69,7 +69,7 @@ backend:
|
||||
transport: stdio
|
||||
command: uvx
|
||||
args: [--isolated, --from, example-mcp==1.2.3, example-mcp]
|
||||
startup_timeout_seconds: 5
|
||||
startup_timeout_seconds: 60
|
||||
tool_timeout_seconds: 30
|
||||
```
|
||||
|
||||
@@ -160,7 +160,7 @@ MCP Tool:
|
||||
|
||||
当前隔离是“独立进程 + 协议边界”,不是完整的操作系统沙箱。
|
||||
|
||||
`uvx` 解决的是 Python 工具依赖隔离:它等价于 `uv tool run`,在 uv 缓存中使用可丢弃的独立虚拟环境。它不会限制 Server 读取用户文件、访问网络、创建子进程或调用系统 API,因此不能代替安全沙箱。首次解析尚未缓存的包还可能访问包索引;生产清单必须固定来源和版本,安装/更新阶段与运行阶段分离。
|
||||
`uvx` 解决的是 Python 工具依赖隔离:它等价于 `uv tool run`,在 uv 缓存中使用可丢弃的独立虚拟环境。它不会限制 Server 读取用户文件、访问网络、创建子进程或调用系统 API,因此不能代替安全沙箱。当前开发模式下,首次 `enable` 尚未缓存的包可能访问包索引,因此示例使用 60 秒启动上限;生产实现不得依赖该行为,必须在用户确认后的安装/更新阶段预取和验证固定版本,运行阶段只启动已准备好的环境。
|
||||
|
||||
已经执行的保护:
|
||||
|
||||
@@ -185,6 +185,8 @@ MCP Tool:
|
||||
|
||||
在这些门槛完成前,当前 MCP Host 只适用于内置 Fixture、团队可信插件和开发联调;不得把它描述为可以安全执行任意社区代码。上述安装确认要求遵循 MCP [SEP-1024](https://modelcontextprotocol.io/seps/1024-mcp-client-security-requirements-for-local-server-);`uvx` 行为依据 uv 官方 [Using tools](https://docs.astral.sh/uv/guides/tools/) 文档。
|
||||
|
||||
后端通过 `APP_ENVIRONMENT` 强制该边界:只有 `development` 可以启动当前未沙箱化的 MCP Host;其他环境返回 `403 MCP_TRUST_APPROVAL_REQUIRED`,且不会创建进程或注册 Tool。后续 Tauri/Rust Host 提供沙箱与绑定完整命令摘要的可信许可后,再替换此临时门禁。
|
||||
|
||||
## 7. Host API
|
||||
|
||||
```http
|
||||
|
||||
Reference in New Issue
Block a user