# Hunt Clueboard

> 当开始挖新目标、换会话/压缩后续挖、用户说线索板/写板/读板/建板，或信息收集、反编译、JS/接口线索需要跨轮保留时调用。负责为当前系统维护一份 Markdown 线索板（读→挖→写回），不负责拆 webpack、打越权或成稿。模板见同目录 CLUEBOARD.template.md。

- Skill: `zhaji2333/hunt-clueboard` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add zhaji2333/hunt-clueboard`
- Raw SKILL.md: https://api.skillmd.com/api/skills/zhaji2333/hunt-clueboard/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: zhaji2333 (https://skillmd.com/u/zhaji2333)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/zhaji2333/hunt-clueboard

---


# hunt-clueboard — 当前目标线索板（工作记忆）

薄过程 skill，对标 `report`：`report` 收口成稿，本 skill **把线索从对话里拿出来落盘**。不挖洞、不替代 `recon-js-analysis` / `unauth-path-key-hunt`。

**定位：低配黑板架构。** 专项 Skill 是知识源（往板上写假设与证据），`CLUEBOARD.md` 是黑板（共享工作记忆），`AGENTS.md` 路由 + 板上「当前焦点」是控制（决定下一步调谁）。仍是单 Agent 顺序调度，不是多知识源并行抢写。

没有板，压缩或换会话后会从主站 JS 重开一局，否定证据（SPA 壳、405、空数组、NXDOMAIN）最先丢。

## 何时调用

- 新目标开工、攻击面梳理开始
- 用户说「线索板 / 写板 / 读板 / 建板 / 继续挖」
- 会话压缩后续挖、换人/换会话接着测
- 本轮产生了 Host/路径/密钥/证伪结果，必须写回

**不要调用**

- 还在问「要不要做线索板」的概念题 → 直接按本文建板
- 漏洞已确认只成稿 → `report`（成稿前读板上「已证实」行）
- 拆 JS / 打未授权 / 打越权本身 → 对应挖洞 skill；本 skill 只规定读写

## 和挖洞 skill 的关系

```
开工 → hunt-clueboard 建/读板
         │
         ├─ 脏收集 / webpack     → recon-js-analysis   → 写回 1/2/3/5
         ├─ 零身份路径与钥       → unauth-path-key-hunt → 写回 2/3/4/7
         ├─ 角色 / IDOR          → auth-access-control  → 写回 2 鉴权列
         ├─ 全方法 / BOLA        → api-protocol-security
         └─ 成稿                 → report（只读已证实）
```

## 铁律

1. **先读后挖。** 板上已证伪的 Host/路径本轮禁止当新发现再扫一遍。
2. **当轮写回。** 线索不进板，本轮收集不算完成。禁止「等下再整理」。
3. **板是台账不是日记。** 只写判断、出处、状态、下一步。
4. **否定证据优先。** 主站没有、SPA 壳、NXDOMAIN、错字段 `[]` 必须进第 4 节。
5. **PII 不进板。** 字段名和条数可以写；完整银行账号/手机/证件不写。原料进 `raw/`。

## 文件位置

```
hunts/<目标短名>/CLUEBOARD.md
hunts/<目标短名>/raw/          ← 可选，JS 摘录、响应头，禁止完整 PII
```

短名用 Host 主干，如 `shop-h5`、`api-gw`。一份目标一块板，不把多系统揉进一个文件。

建板：复制本 skill 目录 `CLUEBOARD.template.md` → 填目标短名和开工日。已有板则只读补写，不另起。

## 读写协议

### 开工（每轮对话第一次碰这个目标）

1. 找 `hunts/<短名>/CLUEBOARD.md`，没有就从模板复制。
2. 读第 0/1/4/6 节，把「当前焦点」当成本轮第一任务。
3. 再调 `recon-js-analysis` / `unauth-path-key-hunt` 等。

### 挖的过程中

每条可复用判断立刻追加到对应表，状态四选一：`假设` / `已证伪` / `已证实` / `待打`。

| 产出 | 写入 |
|---|---|
| 新 Host、301、同 IP | §1 |
| 路径/方法、405、`data:[]` | §2 |
| getRsaKey、JSEncrypt、字段名 | §3 |
| 扫过但无效 | §4 |
| appid/密钥（打码） | §5 |
| 下一步动作 | §6 |
| ✅/❌/🔄/💡 | §7 |

出处必须能指到公开面（JS 文件、urlscan、兄弟域指纹）。没有出处的路径保持 `假设`。

指纹怎么分类，见 `unauth-path-key-hunt` P2，此处不重复。

### 收工（本轮结束前）

- 更新「当前焦点」为下一轮第一件事
- 假设仍超过 5 条就删最弱的或标证伪
- 板超过约 200 行：判断留在板上，原料搬 `raw/`

### 下「无此接口」之前

板上必须能看到失败升级已到 L4（网关 Host + 405/业务 JSON）。见 `unauth-path-key-hunt` P7。不到 L4 不准用主站 404 结案。

## 禁止写成什么样

- 聊天记录粘贴、整份 bundle、HAR 全文
- 「今天测了很久」类过程散文
- 无状态的 URL 清单（必须有指纹和状态列）
- 把登录 Network 截图 URL 写成「已证实出处」（只能进假设，待公开面复原）

## 交接一句

板是跨轮唯一工作记忆。压缩摘要、聊天里的接口列表都可以丢；**丢板等于没挖过。**

