# ORBIT V7 · 上线后 AI 增量安全复核

2026-09-27。主 AI 集成复核 + 两路独立上下文 AI 只读检查。不是人工或第三方审计，不是安全认证、保本承诺或无漏洞保证。

## 范围与版本

- 基线为网站 v67，源码 `d19085523a0d6625bde266e8cfd1f40c9299d3b1`。
- 重点：钱包识别/切换、发送及 pending/unknown 恢复、清算页面和历史借款扫描；另检查本次只读风险提醒。不是全仓库或全部合约重审。
- BNB Chain 56；池 `0xB5c0D39B4351AC9eDbE09bBA30DE0311DD3FD07C`；预言机 `0x999E35Deee4f78057cF6af5829db9e6C9f6535f9`。
- 构建标识 `0xc8d9e579f1b3da762bb2785b12823f4bcbba0a54b578991865fc08e5a1499d6a`。未改 Solidity、部署字节码、主网地址、角色、参数或用户仓位。
- 当前源文件/测试 SHA-256 见同目录 `v7-live-review-2026-09-27-source.json`。9 月 25 日报告原样保留，不能视为覆盖其冻结后的代码。

## 基线结论：5 项待修复发现

两路发现合并去重如下。基线测试通过不等于这些缺陷已修复；本报告编写时尚待用户授权修复，未证明生产已发生相应损失。

| 编号 | 严重度 | 条件和影响 | 状态 |
| --- | --- | --- | --- |
| AI-01 | 中 | Dashboard 旧高级清算试算后换抵押币种，旧最低所得与说明未失效，可和新币种组合 | 未修复；暂建议使用独立清算页并重试算 |
| AI-02 | 中 | 历史节点通过初始锚点后切换分支，结束时未再次核对历史节点，可能误报完整并保存漏报游标 | 未修复；条件性节点一致性问题 |
| AI-03 | 中 | 刷新页面恢复缓存仅采用前 200 个地址，历史读取故障时剩余已知地址不复查，部分结果写回会丢失超出部分 | 未修复；当前三个账户未达此数量 |
| AI-04 | 中 | 50,000 区块范围达到 50,000 条返回上限后停止，重试不拆分范围，不能继续推进 | 未修复；未见生产历史达到该密度 |
| AI-05 | 低 | 清算路由缺少主网标记，旧测试网部署缓存可让切网按钮目标为 97，而非 56 | 未修复；发送守卫仍要求 56，操作受阻 |

AI-05 两路分别评中/低，合并按已证明影响采用低级可用性问题；未证明会向错误链发送交易。

### 复现和定位（行号为基线提交）

1. AI-01：`integration/v7-market.js:545,316`。内存替身先取得 BTCB 试算，再切为 USDC，捕获的 USDC 请求仍携带旧 `0.00104475` 最低数量，说明仍显示 BTCB。建议将报价绑定借款人、币种、金额、收取方式、钱包上下文；变化时清空自动保护值并重新试算。
2. AI-02：`integration/v7-liquidation-scan.js:44,55,78`。模拟锚点核对后历史节点返回另一分支日志，真实分支 HF=0.5 的借款人被遗漏；返回 `complete:true`，节点恢复后仍从 12001 继续，遗漏未补查。建议终点双节点核验及日志分支校验，不一致不保存游标。
3. AI-03：扫描文件 `:40`、`integration/liquidation-page.js:171`。201 个地址仅最后一个可清算；刷新后历史 RPC 失败，仅查前 200 个，可清算数 1 变 0，写回也丢失该地址。虽标记不完整，仍丢失已知线索。建议完整保留、分批复查。
4. AI-04：扫描文件 `:49,53,61`。50010–100009 返回 50,000 条记录，连续三次停在 50009，110000 的可清算账户未发现。建议达到上限时缩小范围，单块仍超限明确报告缺口。
5. AI-05：`dist/wallet.js:47,58,233`。合法旧测试网缓存下，`/liquidation`、`/liquidation.html` 请求 `0x61`；对照 `/dashboard` 为 `0x38`。建议补齐主网路由并回归。

## 本次新增监测：发现、修正和回归

独立复核发现两阶段查询可能跨重组混用数据、重叠脚本可能让旧结果覆盖新去重基线、RPC 故障转为真实喂价拒绝时去重可能吞掉变化。已在新增实现中修正：

- 扫描结果携带区块哈希；市场读取核对该哈希及终点稳定性，聚合时高度或哈希不一致标记未知，不发送恢复通知。
- 状态提交使用短时独占文件锁，锁内重新读取基线，旧区块结果不覆盖新结果。网络请求不持锁。锁冲突/写入故障显式失败；提交阶段进程崩溃留下锁时需核对后手动恢复，不能悄悄继续。
- 稳定价格错误类别参与去重；仍忽略正常数值漂移，不按不稳定错误文本重复通知。

这些修正不修复上表基线扫描/高级清算问题，也不保证公共节点不会静默漏数据。

## 验证证据

- 钱包/交易独立检查：16 个既有脚本最终通过，`node:test` 汇总 115/115；另有发送边界 13 项内存检查和缺陷复现。Node 25 原生存储兼容问题以 `--no-experimental-webstorage` 重跑，未修改测试。
- 清算/扫描独立检查：8 个既有脚本，运行器 61/61；另有 10 项发送边界内存检查和缺陷复现。两路有重叠，不能相加当作不同测试数。
- 主 AI 当前修改复验：扫描 12、清算控制器 12、风险监测（含交叉复核回归）15 项；网页守卫 109 项、pending 恢复 14 项。
- 隔离浏览器：部分覆盖、续扫、排序、严格 HF 阈值、失败未知、取消、重查、手机宽度；新增自动刷新、后台暂停、过期提示和价格 RPC 故障检查。
- 固定合约构建 8 份复现一致。无合约修改。检查方法没有读取用户私钥、签名或发送真实交易。
- 主网只读浏览器（2026-09-27 16:38:41 上海，区块 124302186）：发现三个借款人，0 个 HF<1；五资产风险读取正常，无页面错误，手机无横向溢出，签名和发送调用 0。
- 定时脚本连续两次成功，第二次无状态变化时 `notify:false`。最终复验与发布源码绑定见哈希文件；上述主网结果仅代表该时刻，不是持续状态保证。

## 风险提醒如何工作

- 站内：清算页手动开启每 60 秒只读检查；页面可见时工作，正在操作时顺延，停止按钮同时关闭自动刷新。关闭页面即停止。
- HF 使用整数比较：`<=1.10` 预警、严格 `<1` 标为可清算候选；等于 1 不可清算。候选不是报价或执行授权。
- 可用现金为 `max(cash-reserves,0)`，不超过总存款 10% 时提示流动性偏低。阈值只是操作提示，不是合约清算规则。
- 实际调用预言机 `price`；`UnsafePrice` 表示可能过期、越界或轮次异常。RPC 失败不能断言为过期。数据超过 3 分钟、读取失败、历史不完整均标记未知。
- 对话：每 5 分钟检查。新风险、等级/类别变化和已确认恢复才提醒；未知不被当作风险解除。电脑、应用、网络及额度必须可用，调度/通知为尽力而为，可能错过检查间的短暂变化。
- 不是全天候清算服务。任何时候都不自动授权、签名或清算，也不会故意改变仓位制造清算条件。

## 未覆盖和保留风险

用户选择不做新的主网分叉演练。相反方向的小额仓位需要足够市场波动才可能触发，不能代替清算执行验证。本轮没有主网实盘清算、真实钱包端到端签名、竞争清算或 Gas 净收益验证。

9 月 27 日已有本地 32 项清算测试为历史证据，本轮不声称重跑。无该币种债务时不可变合约可能 `Panic(0x12)` 的已知问题仍存在，前端提前核对不能消除确认前竞态和失败 Gas。份额不等于可立即提取现金；极端行情可能坏账，部分清算不保证提高 HF。

未进行本轮全依赖漏洞扫描、形式化证明、人工审计、渗透测试或完整合约重审。固定角色与预言机依赖风险仍在；V5/V6 已知风险及旧还款、退出、领奖入口保持不变。建议处理已确认问题后再考虑扩大资金规模，不将“尚未确认更多漏洞”称为“安全通过”。
