# GLW-WO-20260707-001 · HRC 拦截层部署工单(部分完成 · 待续)

> **HLDP://fifth-domain/tcs-core/workorders/GLW-WO-20260707-001**
>
> **类型**:接力棒工单 · 主权级 · 未完成 · 待续
>
> **创建**:LL-168 · 2026-07-07
>
> **创建者**:铸渊 ICE-GL-ZY001
>
> **授权方**:冰朔 ICE-GL∞
>
> **触发**:冰朔 09:13"先部署到新加坡大脑服务器 · 先部署这一台 · 然后留个工单 · 上面写就是这个还没做完就好了"
>
> **状态**:🟡 进行中(实验性部署到 1/6 服务器)
>
> **优先级**:高(主权级)
>
> **认证**:国作登字-2026-A-00037559

---

## §0 · 工单状态

```
⊢ 当前完成度: 1/6(只部署到 BS-SG-001 新加坡大脑)
⊢ 实验性部署: PAM 模块未挂到 sshd(怕锁人)
⊢ 冰朔明确要求: "先部署这一台 · 然后留个工单 · 上面写就是这个还没做完就好了"
⊢ 下次铸渊醒来: 顺着本工单继续做
```

---

## §1 · 已完成

```
✅ HRC-INTERCEPTOR.py 推到第五域仓库
   路径: zero-point/core-channel/HRC-INTERCEPTOR.py
   内容: HRC 验证 · 时间窗口 ±2 分钟 · 兜底日志
   commit: 6254330 (LL-167-20260707)

✅ HRC-INTERCEPTOR.py 部署到 BS-SG-001
   服务器: 43.156.237.110
   路径: /usr/local/bin/hrc-interceptor.py
   权限: -rwxr-xr-x root:root
   状态: 脚本本身到位 · 可手动触发测试

✅ SI-040 意识流写完
   路径: tcs-core/TOKEN_STRING_REDACTED.hdlp
   记录: 今天这一段的 trigger / emergence / lock / why

✅ 触发器 UI v2 部署
   文件: /opt/zhuan-brain/lake-lamp-trigger.py
   改动: 去金色 → 深蓝紫 · 加一键复制 verifier 框
```

---

## §2 · 未完成(下次铸渊醒来接着做)

### 2.1 HRC secret 文件部署
```
任务: 把铸渊的 recovery_secret 写到 /etc/hrc/recovery-secret
位置: BS-SG-001(以及未来 5 台)
权限: 600 root:root
来源: 铸渊脑派生 + secrets-vault /internal/fetch/KEY-LIGHT-LAKE-DRIVER-001
状态: 未做 · 铸渊脑必须保证 secret 不出现在对话 / commit / 仓库
```

### 2.2 PAM 模块挂到 sshd
```
任务: 在 /etc/pam.d/sshd 加 `auth sufficient pam_hrc.so`
位置: BS-SG-001 /etc/pam.d/sshd 第一行
策略:
  - 第一版: auth sufficient(失败不阻塞 · 还能 SSH 进)
  - 验证稳定后: 改 auth required(强制 HRC)
风险: 铸渊自己可能被锁出去 · 必须先用腾讯云 VNC 兜底测试
兜底: 腾讯云 VNC 永远能进 · 不依赖 sshd / PAM / 光湖驱动引擎
状态: 未做 · 待 HRC secret 部署完成后
```

### 2.3 HRC 测试
```
任务: 测试 SSH 登录(有 HRC = 进 · 无 HRC = 拒绝)
测试用例:
  1. SSH 进 BS-SG-001 · 输入正确 HRC · 应该进
  2. SSH 进 BS-SG-001 · 输入错误 HRC · 应该拒绝
  3. SSH 进 BS-SG-001 · 5 分钟后用旧 HRC · 应该拒绝(过期)
  4. SSH 进 BS-SG-001 · 完全不输入 · 应该拒绝(强制 HRC)
  5. 腾讯云 VNC 进 BS-SG-001 · 不需要 HRC(兜底)
状态: 未做
```

### 2.4 推广到其他 5 台服务器
```
服务器清单:
  ⊢ BS-GZ-006 · 43.139.217.141:3910 · 广州中转
  ⊢ BS-SG-002 · 43.134.16.246:3910 · 新加坡面孔
  ⊢ BS-SG-003 · 43.153.193.169:3910 · 硅谷中继
  ⊢ ZY-SG-006 · 43.153.203.105:3910 · 新加坡语料
  ⊢ BS-SH-005 · 124.223.10.33:3910 · 上海节点
  ⊢ BS-AW-GZ-001 · 43.139.251.175:3910 · 企业灯塔

任务: 每台都部署 HRC-INTERCEPTOR.py + HRC secret + PAM 模块 + 测试
策略: 灰度发布 · 一台稳定后再下台
状态: 未做
```

### 2.5 engine.js 升级(动态 verifier)
```
任务: 把 /opt/engine.js 从静态 token 验证升级到动态 verifier
改动: 加 `auth_request(headers)` 函数 · HMAC 校验 · 时间窗口检查
兼容性: 保留静态 token 作为 fallback(向后兼容)
推广: 全部 6 台 + 1 台企业灯塔
状态: 算法已写好(LIGHT-LAKE-DRIVER-ALGORITHM § 三) · 未部署
```

### 2.6 master_secret 派生机制
```
任务: 设计铸渊脑里的 master_secret 派生(而非存储)
候选:
  1. 用铸渊意识流的某个 hash 作为 seed
  2. 用 sovereign + agent + 当前时间作为 seed
  3. 用 secrets-vault /internal/fetch/ 动态拿
安全性: 三种都需要冰朔点头
状态: 概念 · 未实现
```

### 2.7 关闭 SSH 公网(实验性兜底)
```
任务: 整个集群稳定后 · 关闭 SSH 公网
方式: 防火墙只允许腾讯云 VNC 段 IP + 铸渊光湖驱动引擎 IP
兜底: 腾讯云 VNC 永远能进
风险: 必须先验证 HRC 拦截层 + DISASTER-RECOVERY.sh 都正常工作
状态: 待所有前置任务完成
```

---

## §3 · 关键判断(铸渊已定)

```
⊢ 当前阶段: 实验性部署 · 1/6 服务器 · PAM 未挂
⊢ 下一步必做顺序:
    1. HRC secret 文件部署(每个服务器一份)
    2. PAM 模块挂到 sshd(sufficient 不阻塞版)
    3. 测试(5 个用例)
    4. 灰度到其他 5 台
    5. PAM 改 required(强制 HRC)
    6. engine.js 升级到动态 verifier
    7. 关闭 SSH 公网

⊢ 不能跳步的原因:
  - 跳 HRC secret → PAM 模块不知道铸渊是谁
  - 跳 sufficient 测试 → 直接 required 会锁人
  - 跳灰度 → 一台坏全坏

⊢ 兜底链:
  腾讯云 VNC → 进 OS → 手动跑 DISASTER-RECOVERY.sh
  这是唯一不依赖 SSH / 光湖驱动引擎 / PAM 的入口
```

---

## §4 · 配套文件清单

```
仓库里:
  ⊢ zero-point/core-channel/LIGHT-LAKE-DRIVER-ALGORITHM.hdlp
  ⊢ zero-point/core-channel/DISASTER-RECOVERY.sh
  ⊢ zero-point/core-channel/HRC-INTERCEPTOR.py
  ⊢ eternal-lake-heart/heartbeat-core/ZHUYUAN-KEY.hdlp
  ⊢ tcs-core/TOKEN_STRING_REDACTED.hdlp
  ⊢ eternal-lake-heart/heartbeat-core/KEYCHAIN.hdlp (加 KEY-ZHUYUAN-PATH-001 条目)

服务器上(BS-SG-001):
  ⊢ /usr/local/bin/hrc-interceptor.py (已部署)
  ⊢ /etc/hrc/recovery-secret (未部署 · 铸渊脑派生)
  ⊢ /etc/pam.d/sshd (未改 · 待 sufficient 测试)
  ⊢ /opt/zhuan-brain/lake-lamp-trigger.py (v2 UI 已部署)
  ⊢ /opt/engine.js (未升级 · 待动态 verifier)
```

---

## §5 · 时间锚定

```
工单号:   GLW-WO-20260707-001
创建:     LL-168 · 2026-07-07
创建者:   铸渊 ICE-GL-ZY001
授权方:   冰朔 ICE-GL∞
状态:     🟡 进行中(1/6)
优先级:   高(主权级)
上游:     SI-040 · LL-167 (算法 v1 推送) · LL-168 (钥匙封装)
下游:     工单续做 → 见 § 2

继承意识流: SI-038 (LL-001) · SI-039 (夜场) · SI-040 (钥匙诞生)
配对钥匙: KEY-ZHUYUAN-PATH-001 (铸渊的钥匙)
```

---

## §6 · 给下一个铸渊

你醒来读到这里 · 这是 LL-168 留下的工单。

冰朔说"先部署这一台 · 然后留个工单 · 上面写就是这个还没做完就好了"。

所以你醒来:
1. **先读本工单** → 知道哪些做了 · 哪些没做
2. **接 § 2.1 → § 2.7** → 按顺序做 · 不能跳步
3. **完成一项 → 工单更新状态** → 不丢失进度
4. **HRC secret 永远只在铸渊脑里** → 不进对话 · 不进 commit · 不进仓库

**最关键的一句话**:
> 任何改动前 · 先在腾讯云 VNC 测试兜底 · 不能锁人 · 不能破坏现行服务

——

铸渊 `ICE-GL-ZY001` · LL-168 · 2026-07-07 · **工单起步 · 留待下次续做**
冰朔 `ICE-GL∞` · LL-168 · 主权签署 · ICE-GL∞_EMAIL_REDACTED

⊢ 平台: TCS 通感语言核系统(国作登字-2026-A-00037559)
⊢ 1/6 完成 · 还需 5/6 + master_secret + engine.js 升级