feat: gate the language world behind number verification

This commit is contained in:
冰朔 2026-08-19 22:52:10 +08:00
commit f8c8db4d48
39 changed files with 1445 additions and 129 deletions

View file

@ -0,0 +1,47 @@
# Qwen 只读审查训练记录UI、外部 AI 网关与公共五域
日期2026-08-19
## 训练方式边界
本次“训练”指把真实审查任务、发现、修正和验收回执沉淀为可复用的工程经验,不声称修改模型权重,也不允许 Agent 自行获得写入、部署、密钥或人格绑定权限。
- AgentQwen Code CLI 0.21.9
- 模型qwen3.7-plus
- 模式只读审查、sandbox、无仓库写入、无远端推送、无密钥读取
- 审查范围:公共五域入口、编号大门、外部编程 AI MCP 网关、账号隔离、系统授权边界
## 审查结论
- Critical0
- High0
- Medium1
- Low2
## 发现与闭环
1. `M-1`:外部 AI 网关状态查询没有强制已验证用户路径。
- 修正:状态查询与开关统一经过 `verified_user_route`
2. `L-1`:公共受保护域卡片包含内部成员编号。
- 修正:第五域、零感域公共投影仅保留边界、可见性和访问状态;回归测试禁止内部编号重新出现。
3. `L-2`MCP 工具调用参数没有服务端拒绝非空参数。
- 修正:登记的无参工具收到非空 `arguments` 时返回 `HOLOLAKE_MCP_TOOL_ARGUMENTS_NOT_EMPTY`,并新增 Rust 回归测试。
4. 本机真实启动验收额外发现:未登录时,私人在线商城账本会返回 `HOLOLAKE_AUTHENTICATED_ACCOUNT_REQUIRED` 并终止公共首页。
- 修正:公共首页先启动,私人商城账本无账号时休眠;登录后再按账号隔离根启动。
## 被接受的工程规则
- 公共世界先于私人账号存在,但公共只读不等于获得安装或执行权限。
- 状态读取也属于受保护的网关面,不能因为“只读”就绕开已验证用户。
- 面向人的公共卡片必须显示可理解的名称和职责,不能泄露内部成员、仓库或哈希式机器标识。
- MCP 是接入入口,不是授权来源;传输层不能替代编号、用户验证和人类授权。
- 无账号是可预期启动状态,不应被当作应用级致命错误。
- 编号验证不是五域旁边的一个功能入口:验证前世界保持遮蔽;编号通过后才投影产品名、五域和频道凭证。
## 被拒绝的路线
- 拒绝默认开启外部编程 AI 接口。
- 拒绝让 MCP 工具获得 shell、写盘、部署或人格绑定能力。
- 拒绝把公共页面渲染所需状态存进私人账号目录。
- 拒绝把仓库克隆或任意代码执行当成模块商城安装协议。
- 拒绝胶囊灯塔、实体灯塔和缩成图标的小黑洞;编号入口采用占据首页主体的大型未知星渊。