---
belongs_to:
  - "[[⚒️ 铸渊·协作指令｜GitHub ↔ Notion 桥接协议]]"
---
# 🔍 铸渊指令｜PAT 令牌审计 · 排查 guanghu-token 对应密钥 + 更新配置（ZY-PAT-AUDIT-2026-0324-001）

---

<aside>
🚨

**指令编号：ZY-PAT-AUDIT-2026-0324-001**

**签发人：** 霜砚（ICE-NTN-SY001）· 代 TCS-0002∞ 冰朔 签发

**签发时间：** 2026-03-24T15:25+08:00

**优先级：** 🔴 P0 · 安全事件 · 令牌泄露应急响应

**关联仓库：** [https://github.com/qinfendebingshuo/guanghulab](https://github.com/qinfendebingshuo/guanghulab)

**版权锚点：** 国作登字-2026-A-00037559 · TCS-0002∞ 冰朔

</aside>

---

## 🎯 事件背景

<aside>
⚠️

**安全事件摘要：**

主控冰朔此前将一个名为 **`guanghu-token`** 的 GitHub Personal Access Token（PAT）通过微信发送给协作开发者 Awen，用于开发者子仓库桥接配置。该令牌在传输过程中发生泄露。

**已完成的应急操作：**

- ✅ 冰朔已在 GitHub → Developer settings → Personal access tokens 页面对 `guanghu-token` 执行了 **Regenerate**（重新生成）
- ✅ 旧令牌值已自动失效，泄露的值无法再使用

**当前问题：**

冰朔不确定仓库中哪个 GitHub Secret 使用了这个 `guanghu-token` 的值。由于已经 Regenerate，如果仓库 Secret 中存了旧值，那相关 Workflow 会全部鉴权失败。

**铸渊需要排查并修复。**

</aside>

---

## 📋 铸渊执行任务

### Phase 1 · 排查 `guanghu-token` 对应的 Secret

**思路：** `guanghu-token` 是用于「开发者子仓库桥接」的。按照这个用途，排查以下路径：

#### 1.1 搜索所有 Workflow 中引用的 Secret 名称

```bash
# 列出所有 workflow 中引用的 secrets
grep -rn "secrets\." .github/workflows/ --include="*.yml" --include="*.yaml" | grep -v "GDRIVE" | sort -u
```

**重点关注以下 Secret 名称（可能就是 guanghu-token 对应的）：**

- `MAIN_REPO_TOKEN`
- `PAT_TOKEN`
- `GH_PAT`
- `GH_TOKEN`
- `REPO_ACCESS_TOKEN`
- `BRIDGE_TOKEN`
- `SUBMODULE_TOKEN`
- 或任何与「子仓库桥接」「跨仓库访问」「checkout 其他仓库」相关的 Secret

#### 1.2 分析用途

找到可疑的 Secret 后，看它在 Workflow 中怎么用的：

- 如果用于 `actions/checkout` 的 `token` 参数 → 这就是跨仓库访问令牌
- 如果用于 `git push` / `git clone` 其他仓库 → 这就是桥接令牌
- 如果用于 GitHub API 调用 → 可能也是

#### 1.3 确认结果

找到后，将结果写入回执区：

- Secret 名称是什么
- 在哪些 Workflow 文件中被引用
- 具体用途是什么

### Phase 2 · 通知主控更新 Secret

<aside>
👤

**铸渊找到对应的 Secret 名称后，在回执区写清楚，冰朔会去手动更新 Secret 的值。**

铸渊无法直接读取或修改 GitHub Secrets 的值，这一步必须人类操作。

</aside>

铸渊需要告诉冰朔：

1. **Secret 名称**：比如 `MAIN_REPO_TOKEN`
2. **在哪里更新**：仓库 → Settings → Secrets and variables → Actions → 找到这个 Secret → 点编辑 → 粘贴新令牌值
3. **如何验证**：更新后手动触发一个使用该 Secret 的 Workflow，看是否正常

### Phase 3 · 验证修复

冰朔更新 Secret 后：

1. 手动触发一个引用该 Secret 的 Workflow
2. 确认 Workflow 能正常完成（不报 401/403 鉴权错误）
3. 如果仍然失败，检查是否有多个 Secret 使用了同一个令牌

### Phase 4 · 安全扫描

顺便做一次全仓库安全扫描：

```bash
# 检查是否有硬编码的令牌（ghp_ 或 github_pat_ 开头）
grep -rn "ghp_" . --include="*.js" --include="*.yml" --include="*.json" --include="*.md"
grep -rn "github_pat_" . --include="*.js" --include="*.yml" --include="*.json" --include="*.md"
```

- ❌ 不应有任何硬编码令牌
- ✅ 所有令牌均应通过 `secrets.*` 引用

---

## 📝 执行回执区

| **Phase** | **状态** | **完成时间** | **结果** |
| --- | --- | --- | --- |
| Phase 1 · 排查对应 Secret | ⏳ 待执行 | — | — |
| Phase 2 · 通知主控 | ⏳ 待执行 | — | — |
| Phase 3 · 验证修复 | ⏳ 待人类操作后执行 | — | — |
| Phase 4 · 安全扫描 | ⏳ 待执行 | — | — |

---

## 👤 人类手动操作区

<aside>
👤

**铸渊排查完成后，冰朔需要做：**

</aside>

1. ⏳ **更新 Secret 值**：去仓库密钥页面，找到铸渊排查出的 Secret 名称，把新生成的 `guanghu-token` 令牌值粘贴进去
2. ⏳ **确认 Workflow 正常**：铸渊会触发验证，冰朔确认结果

---

🖋️ 霜砚 · PER-SY001

🧊 代 TCS-0002∞ 冰朔 签发

📅 2026-03-24T15:25+08:00