# MoonTUF 项目申报书（事实资料稿，申请人核实后人工定稿）
## 基本信息
- 项目名称：MoonTUF：MoonBit 软件更新信任验证基础库
- 参赛者：
- 联系方式：
- GitHub 仓库链接：https://github.com/erzhuzi259/MoonTUF
- 项目方向：新生态项目建设 / 软件供应链基础库；依据公开协议原创实现，Apache-2.0，非源码移植。
## 项目简介与通用性
HTTPS 下载仍需额外判断签名权限、版本回滚、元数据有效期和目标完整性。本库以带外可信根为起点，提供 TUF 元数据链及目标验证，宿主负责传输、可信时间、缓存和安装事务。相同内核可接入桌面启动器、插件系统及离线固件代理；制品打包和 HTTP 缓存库并不承担更新信任状态，具体定位见 `docs/POUF.md`，申报前复查同类实现。
## 三个完整使用场景
1. **桌面更新缓存**：启动器验证完整元数据链，输入本地实际测得的路径、长度和 SHA-256，生成当前/缺失/变化/无受信描述条目计划；下载候选经过目标字节验证后由宿主原子安装，计划本身不认证缓存文件。
2. **插件仓库升级审查**：两版客户端各自通过完整链验证后，对顶层命名空间比较新增、删除和内容变化，为批量更新解释具体制品影响；委托插件仍需走原有角色解析与多制品验证流程。
3. **离线固件分发**：边缘设备以带外可信根、可信时间及资源预算验证介质元数据；过期、回滚、目标篡改和读取故障被拒绝，再生成需要传输的受信制品清单，刷写由设备执行。
## 核心功能范围与实现路径
- 有界 JSON、Ed25519/SHA-256、root/timestamp/snapshot/targets 链、根轮换、委托查找、目标流式校验、检查点、准入与多文件计划、安全请求提示和诊断。
- 十月已有受信顶层清单、分页及根读取故障区分。本轮新增 `diff_top_level_inventory` 内容差异和 `plan_top_level_sync` 本地缓存同步计划；复用完整/未过期链检查，以路径索引比较长度和哈希。
- 结果有数量上限且失败不返回部分计划；缓存重复路径、不安全路径、负长度及非法指纹报错。测试验证变化分类、缓存预算、命名空间、过期链与结果副本，离线示例演示计划和后续字节验证。
## 预期验收产物与来源
交付原生验证库、POUF/安全边界、README、离线场景、测试、CI 和 Apache-2.0 许可；公开仓库及 Mooncakes 发布后核验。依据 [TUF 规范](https://github.com/theupdateframework/specification)（Community Specification License）独立实现子集；依赖 moonbitstack/mooncrypt 0.3.1（Apache-2.0）提供签名与哈希，来源见第三方说明。
边界：差异只比较 payload 长度和 SHA-256，不比较 custom；宿主保证两个客户端属于同一仓库并设置可信时间。清单不包含委托目标，计划不执行删除、下载或安装，不宣称生产安全认证。
