jsslisted
Install: claude install-skill ZeroTu1/jss-skill
# jss 编排手册(AI 按此执行)
工具做广度(爬、收、批量提取),AI 做深度(读 ai_brief.md 做语义分析、排优先级、回源核实)。只用于已授权目标。
**本 skill 自带全部工具**(bin/jsluice.exe、bin/katana.exe、waymore-8.9/),拿到任何机器解压即用,无需另装 Go/katana。唯一外部依赖:Python ≥3.8 + 四个 pip 包(见 requirements.txt)。结果默认落在**会话目录** `work\<目标名>\`(AI 可直接看到已有产物,避免重复爬取;可用 JSS_WORK 环境变量重定位),AI 第一入口是 `report\ai_brief.md`。
## Step 0 查已有产物(避免重复爬取)
**在 Step 1 之前,AI 必须先检查会话目录下 `work/<目标名>/` 是否存在且已有 `report/ai_brief.md`:**
- **已有完整报告** → 跳过 Step 2~4,直接走 Step 5(analyze 取最近一次结果)→ Step 6(AI 语义分析)。用户追加新信息(如新 Yakit 流量)时,ingest 会合并到已有目录,然后 re-run analyze。
- **只有部分数据**(如只有 `js/` 但无 `flows_endpoints.txt`)→ 增量补充(如查 Yakit 流量)→ 再 analyze。
- **无目录** → 走完整流程。
## Step 1 判定输入类型,选路径(全场景覆盖)
| 用户给的输入 | 执行路径 |
|---|---|
| URL / 域名 | Step 2(Yakit 流量)→ Step 3(collect)→ Step 4(passive)→ Step 5(analyze) |
| 本地目录(小程序反编译、dist、下载的 JS) | **只走 Step 5**:`python jss.py analyze <目录1> <目录2>`,不发任何网络请求。反编译小程序会被自动识别(app-service.js/app.json 特征 + appid 提取),简报概览标记场景 |
| HAR 文件 | `python jss.py har <file.har>` → Step 5 |
| Yakit/浏览器 MCP 流量 JSON | `python jss.py ingest <flows.json> --name <目标名>` → Step 5 |
| "分析上次/某个目标的结果" | `python jss.py list` 确认 → Step 5(analyze 默认取最近一次) |
| 只要敏感信息扫描、不要端点/收集 | **别用本 skill**,直接加载 hae skill(开源 HaESkill:https://github.com/overspace-labs/HaESkill,见下方联动章节) |
## Step 2 Yakit 登录态流量(AI 自动执行:Yakit MCP 在线即查,不依赖用户显式要求)
**行为规则:** 只要当前会话有 Yakit MCP 工具可用(无论用户是否提及),AI 在 Step 1 判定输入类型后,必须自动执行本步骤。Yakit MCP 不存在则记录"无 Yakit MCP"跳过。这是 AI 的自主行为,不是等待用户指令。
1. 调 `query_http_flow`,`hostnameFilter=[