Files
DevFlow/docs/05-代码审查/df-mcp+工具crate走查-2026-08-09.md

54 lines
3.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# df-mcp + 工具 crate 走查报告(2026-08-09
> 走查日期:2026-08-09
> 范围:df-mcpserver/tools/protocol/server_http+ df-execute + df-project + df-ideas + df-types + df-tunnel + df-relay
> 方法:Explore agent 独立核验 + 对齐 08-02 走查
> 性质:**只走查登记,不实施代码**(守 session-role-diagnose-only
> 关联:全系统模块走查(阶段②)最后一批
---
## 一、df-mcp16 项)
### P1
- **MCP-1 update_project 直接写 status 绕过状态机**tools.rs:424-430vs update_task 收口,可制造 GUI 不可能非法跳态)——建议对齐任务侧收口/校验
### P2
MCP-2 bind_directory 两步非原子写 path+stack · MCP-3 create_idea priority 无值域校验(IPC 拒/MCP 放行漂移 Critical)· MCP-4 create_project/task 不校验 name 非空 · MCP-5 MCP evaluate/score 用独立算法与 df-ideas 漂移 · MCP-6 写操作回调在业务失败时仍触发(假 df-data-changed
### P3
MCP-7 jsonrpc 字段不校验 2.0 · MCP-8 tools/call 缺 name 回错语义 · MCP-9 空串清空字段与文档不符 · MCP-10 pagination 超大 i64 截断 · MCP-11 list_trash 全量内存分页 · MCP-12 create_task FK 错误模糊 · MCP-13 search_knowledge 非数字项静默丢 · MCP-14 insert_knowledge confidence 不校验 · MCP-15 60s 空闲退出误杀长会话(需确认)· MCP-16 HTTP read_only 硬编码 false 无鉴权(需确认)
## 二、df-execute3 项)
EX-1 ShellRequest None 超时无兜底(调用方显式设,共享 crate 风险低)· EX-2 execute_streaming 输出格式与 execute 不一致 · EX-3 env_snapshot fallback 永久冻结 · EX-4 probe_version 单命令无独立超时
## 三、df-project4 项)
- **PRJ-1 【P1】normalize_path 无条件 to_lowercase 被 bind_directory 存库**(大小写敏感系统路径解析失败,需确认目标平台)
PRJ-2 read_readme_raw 整读无上限 · PRJ-3 discover_projects 同步阻塞调用方需 spawn_blocking · PRJ-4 collect_manifests 整读截断
## 四、df-ideas2 项)
IDEA-1 LLM 评估 final_score/recommendation 自洽性未校验(ARC-260618-01-e 已登记,需确认)· IDEA-2 否定前缀检测局限
## 五、df-types2 项)
TYPES-1 Priority 无统一 from_i32 越界处理(散落调用方,配 MCP-3)· TYPES-2 未知状态值静默归 planning(建议 warn 审计)
## 六、df-tunnel4 项)
TUN-1 lib 文档声称指数退避重连但实现无自动重连(断线永久断开,需确认排期)· TUN-2 token 明文 WS · TUN-3 unbounded_channel 无背压 · TUN-4 connected 先置 true 假已连接窗口
## 七、df-relay5 项)
RLY-1 单共享 token 无 per-device 绑定(冒充设备收指令,需确认)· RLY-2 默认 0.0.0.0 无 TLS · RLY-3 入站帧无大小限制 + 无背压 · RLY-4 token 非常量时间比较 · RLY-5 未设 token panic
---
## 优先级建议
**P1**MCP-1 update_project 状态机旁路 → PRJ-1 normalize_path 存库
**P2(跨端/一致性)**:TUN-1 自动重连(断线永久断开,影响跨端)→ RLY-1 per-device 鉴权 → MCP-6 假数据变更
**其余 P2/P3**:分批
## 登记去向
- 本报告:`docs/05-代码审查/df-mcp+工具crate走查-2026-08-09.md`
- 看板:`docs/todo.md` 增登记条目
- 全系统索引:**阶段②全部完成** ✅