2.9 KiB
2.9 KiB
VPS-Commander 阶段验收标准与发布门禁用例矩阵
本文档定义当前 v2.0 生产架构的发布门禁,并为 v2.1 安全加固预留验收项。
一、构建与版本一致性
1.1 基础测试
go test ./...
go test -race ./...
git diff --check
1.2 生产构建
- Git 工作树必须 clean。
vcs.modified=false。vcs.revision必须等于 release commit。- AMD64 / ARM64 编译成功。
二、Hub / Agent 集群验收
| 项目 | 验收标准 |
|---|---|
| Hub | 监听 127.0.0.1:9521 |
| Agent | 5 个远程节点可正常回连 |
| Restart | Hub 重启后 Agent 自动恢复 |
| Identity | Credential 与设备身份一致 |
| Unknown | 未知设备必须 fail-closed |
三、认证与授权验收
- Bearer API Key 正常。
- URL token (
?token/?key/?api_key) 必须拒绝。 - 每设备 Credential 独立。
- Shared Secret fallback 关闭。
- Panel Admin Token 不进入浏览器。
- Tool Registry 风险等级一致。
- Policy version 不允许回退。
四、MCP 验收矩阵
| Tool | Risk | 基础用例 |
|---|---|---|
list_devices |
Low | 返回设备列表 |
exec_command |
High | echo/true |
read_file |
Low | 读取 /etc/hostname |
read_multiple_files |
Low | 批量读取临时文件 |
create_directory |
Medium | 创建临时目录 |
move_file |
Medium | 移动临时文件 |
list_processes |
Low | 返回进程 |
edit_block |
Medium | 唯一匹配修改 |
write_file |
Medium | 写入临时文件 |
list_agent_mcp |
Low | 查询 Agent MCP |
call_agent_mcp |
Medium | 调用无害 Agent MCP |
必须同时验证:
- Medium 策略可以阻断 Medium 工具。
- Medium 策略可以阻断 High 工具。
- MCP 与 HTTP 使用同一授权逻辑。
call_agent_mcp无旁路。
五、文件与 Session 验收
5.1 edit_block
- old_text 唯一匹配。
- generation check。
- atomic write。
- fsync。
- 失败不破坏原文件。
5.2 Session
- Hard TTL。
- Idle TTL。
- Ring Buffer 上限。
- 总 buffer 上限。
- 并发访问安全。
- kill 只能作用于 Session 内部 process handle。
六、API Regression
必须覆盖:
/api/v1/devices/api/v1/exec- file read/list/info/search/write
- edit_block
- process/session
- MCP services/list/call/test
- security settings
- webhook
- Panel
- Agent WebSocket
七、发布停止条件
出现以下任一情况立即停止发布:
- Agent 断联。
- 未授权请求成功。
- unknown device 获得 High。
- MCP 存在旁路。
- Token 出现在 argv。
- 审计丢失。
- dirty binary。
- Policy version 回退。
- Session 资源无限增长。
八、v2.1 验收预留
P0
- EffectiveRisk 完全 fail-closed。
- Agent Credential 不进入 argv / cmdline。
P1
- Principal / Operator。
- Session Owner 强隔离。
- principal → credential → session → device → operation 审计链。