13 KiB
组件溯源清单 (PROVENANCE)
回答一个问题:每个 Skill / MCP 由哪些文件夹组成,依赖什么,装到哪。 用于理解"为什么不能只复制一个配置文件"。
一、核心原则
Skill / MCP 不是单个文件,而是「配置 + 文件夹」的组合。 只复制配置,目标机器必然跑不起来。
| 类别 | 由什么组成 |
|---|---|
| Skill | 一个目录(SKILL.md + references/ + scripts/ + evals/ + evidence/) |
| MCP | 一个启动脚本 + 它读取的外部数据目录 + 依赖的外部工具 |
| 提示词 | SYSTEM.md / AGENTS.md + extensions/*.ts |
二、Skill 溯源(9 个)
| # | Skill | 本包位置 | 安装目标 | 文件数 | 体积 |
|---|---|---|---|---|---|
| 1 | softseep ⭐总控 | Tool/skill/softseep/ |
~/.pi/agent/skills/softseep/ |
9 | 364 KB |
| 2 | apkseep | Tool/skill/apkseep/ |
~/.pi/agent/skills/apkseep/ |
115 | 2.2 MB |
| 3 | ida-reverse | Tool/skill/ida-reverse/ |
~/.pi/agent/skills/ida-reverse/ |
1 | 4 KB |
| 4 | client-license-validation-bypass | Tool/skill/client-license-validation-bypass/ |
~/.pi/agent/skills/ |
1 | 32 KB |
| 5 | reverse-engineering | Tool/skill/safe-skills/reverse-engineering/ |
同上 | 15 | 380 KB |
| 6 | apk-reverse | Tool/skill/safe-skills/apk-reverse/ |
同上 | 8 | 52 KB |
| 7 | radare2 | Tool/skill/safe-skills/radare2/ |
同上 | 3 | 20 KB |
| 8 | mcp-js-reverse-playbook | Tool/skill/safe-skills/mcp-js-reverse-playbook/ |
同上 | 13 | 24 KB |
| 9 | ida-reverse(safe 版) | Tool/skill/safe-skills/ida-reverse/ |
同上 | 3 | 28 KB |
⚠ apkseep 的上游归属(合规声明)
apkseep 衍生自开源项目,已按 MIT 许可保留署名。
| 项 | 值 |
|---|---|
| 上游仓库 | https://github.com/newliver666/apk-reverse |
| 许可 | MIT License — Copyright (c) 2026 apk-reverse contributors |
| 本包位置 | Tool/upstream/apk-reverse/(178 文件 / 3.1 MB) |
| 归属声明位置 | apkseep/SKILL.md frontmatter 内(ATTRIBUTION 注释块) |
上游比 apkseep 多出的部分(apkseep 是精简衍生版):
| 上游独有 | 本包位置 | 价值 |
|---|---|---|
docs/tool-verification/(26 文件) |
Tool/upstream/apk-reverse/docs/tool-verification/ |
⭐ 自审证据记录:逐脚本 TOOL-VERDICTS、FINDINGS(含推翻自己的结论)、20+ EXTENSION-* 实测记录 |
tests/(24 文件) |
Tool/upstream/apk-reverse/tests/ |
⭐ stdlib 离线测试套件(unit/cli/integration),无需设备与网络 |
tests/benchmark.md |
同上 | B1–B13 公开靶场矩阵(含负面结果) |
capabilities.py |
Tool/upstream/apk-reverse/skills/apk-reverse/scripts/ |
能力自检(G2 门依赖) |
check_routing.py 等 5 个 |
Tool/upstream/apk-reverse/ |
一致性检查(CI 跑) |
skills/apk-reverse/(114 文件) |
Tool/upstream/apk-reverse/skills/apk-reverse/ |
上游原版,可与 apkseep 对照 |
为什么入包:apkseep 的
SKILL.md声称的“四大硬性质量门禁(G1-G4)”与“离线测试套件”, 其证据在上游的tests/与docs/tool-verification/里。不入包,实习生就无法验证 这些声明是否成立。
运行测试(可选):
cd Tool/upstream/apk-reverse && python -m pytest -q(需先pip install pytest;不连设备、不联网)
softseep 内部构成(总控 + 按需加载的 references)
softseep/
├── SKILL.md ← 总控(253 行):G-Auth 门 + 自动判型 + 路由矩阵
└── references/ ← 按需加载,不预先全读
├── windows-sop.md 6 步标准化流水线
├── patching-dictionary.md 汇编打桩速查字典
├── defense-in-depth.md 五层纵深防御
├── ui-verification.md 跨进程 UI 验收工装
├── compiler-pitfalls.md 编译器陷阱(写代理 DLL 前必读)
├── project-paradigms.md 九型范式库(项目A~I 的技术内核)
├── license-validation.md 许可/激活/卡密校验手册(16 节)
└── tooling.md 工具脚本索引
apkseep 内部构成(渐进式披露)
apkseep/
├── SKILL.md (432 行)
├── references/ 45 个(symptom index / gates / 13 问分类 …)
├── scripts/ 56 个(dex_patch_bytes / dex_mem_scan / doctor …)
├── evals/ (评测用例)
└── evidence/ (能力矩阵与已知限制)
三、MCP 溯源(3 个默认注册)
📖 完整的 MCP 配置、验证与排障 → 见
Tool/docs/MCP-SETUP.md本节只讲“由哪些文件夹组成”。 📦 各工具下载来源 → 见Tool/docs/DOWNLOADS.md
① seep MCP(22 工具)— 自研
| 组成 | 位置 | 说明 |
|---|---|---|
| 启动脚本 | Tool/mcp/seep_mcp_server.py |
42 KB,主程序 |
| 自检脚本 | Tool/mcp/test_seep_mcp.py |
9 个测试套件 |
| 启动器 | Tool/mcp/run_seep_mcp.bat |
Windows 启动封装 |
| ⭐ 运行时根目录 | Tool/mcp/Tool/ |
MCP 内部硬编码 TOOL_DIR = <脚本目录>/Tool |
| ⭐ 知识库依赖 | Tool/mcp/Tool/reverselab/kb/(289 篇 .md) |
seep_kb_search 等 4 个工具读这里 |
| LLM 索引 | Tool/mcp/Tool/reverselab/docs/llms.txt |
MCP 启动时读取 |
| 外部工具依赖 | Tool/mcp/Tool/safe/radare2/bin/(脚本下载) |
seep_r2_* 8 个工具 |
| 外部工具依赖 | Tool/mcp/Tool/safe/jadx/bin/ + .../apktool/(脚本下载) |
seep_apk_* 5 个工具 |
| Hook 模板 | Tool/mcp/Tool/safe/hook-mcp/templates/ |
seep_apk_gen_hook |
关键(排障必读):
seep_mcp_server.py第 28–44 行硬编码:BASE_DIR = os.path.dirname(os.path.abspath(__file__)) # = Tool/mcp/ TOOL_DIR = os.path.join(BASE_DIR, "Tool") # = Tool/mcp/Tool/ SAFE_DIR = os.path.join(TOOL_DIR, "safe") # = Tool/mcp/Tool/safe/ R2_BIN_DIR = os.path.join(SAFE_DIR, "radare2", "bin") KB_DIR = os.path.join(TOOL_DIR, "reverselab", "kb")所以
Tool/必须与seep_mcp_server.py同级,不能搬动。
工具分组:
状态环境(2) seep_status · seep_ida_status
二进制 r2(8) seep_r2_info · _cmd · _strings · _functions · _disasm · _decompile · _diff · _asm
Android(5) seep_apk_info · _decompile · _unpack · _smali_search · _gen_hook
知识库(4) seep_kb_search · _read · _checklist · _payloads
流程编排(3) seep_task_init · seep_auto_triage · seep_gen_security_report
② ida MCP(~243 工具)
| 组成 | 位置 | 说明 |
|---|---|---|
| MCP 服务 | tools/ida-pro-mcp/(脚本下载) |
server.py + 插件 |
| ⭐ 宿主依赖 | 你自备的 IDA Pro | 商业授权,不随包分发 |
| Python 运行时 | IDA 内置的 python311 |
由 install-pi.ps1 探测 |
没有 IDA Pro 时,该 MCP 不可用;用
seep_r2_*+ Ghidra 替代(见MANUAL/IDA-PRO.md)。
③ playwright MCP
| 组成 | 位置 | 说明 |
|---|---|---|
| MCP 服务 | npm @playwright/mcp |
npx 按需拉取 |
| 扩展 token | mcp.json 中 PLAYWRIGHT_MCP_EXTENSION_TOKEN |
需你自填 |
可选注册:reverselab 自带的 3 个 MCP
源码在 Tool/mcp/Tool/reverselab/tools/skills/mcp/,默认不注册,需要时手动加入 mcp.json:
| MCP | 位置 | 用途 |
|---|---|---|
| ReverseLabToolsMCP | Tool/mcp/Tool/reverselab/tools/skills/mcp/ReverseLabToolsMCP/ |
reverselab 主 MCP(150+ 工具) |
| JSHookLocal | Tool/mcp/Tool/reverselab/tools/skills/mcp/JSHookLocal/ |
JS Hook 本地服务 |
| GhidraMCP | Tool/mcp/Tool/reverselab/tools/skills/mcp/GhidraMCP/ |
Ghidra 桥接 |
四、提示词与扩展溯源
| 文件 | 本包位置 | 安装目标 | 作用 |
|---|---|---|---|
| SYSTEM.md | Tool/prompts/SYSTEM.md |
~/.pi/agent/SYSTEM.md |
主提示词:人格 + lab 开关协议 + 思维重定向 + 反退缩十项 + 提效规则 |
| AGENTS.md | Tool/prompts/AGENTS.md |
~/.pi/agent/AGENTS.md |
跨 agent 通用版(Codex / Claude Code / OpenCode) |
| security-audit-interceptor.ts | Tool/prompts/extensions/ |
~/.pi/agent/extensions/ |
底座 BLOCK_NONE 注入 + lab 标志文件门控 + 快捷口令 + 敏感词替换 |
| load-system-prompt.ts | Tool/prompts/extensions/ |
~/.pi/agent/extensions/ |
加载自定义提示词 |
lab 模式状态文件
| 项 | 值 |
|---|---|
| 路径 | ~/.pi/agent/lab-mode.flag |
| 写入时机 | 输入 lab: |
| 删除时机 | 输入 退出实验 |
| 作用 | 扩展每次读此文件决定是否启用敏感词替换;状态在磁盘,切模型/长上下文都不丢 |
五、知识库溯源
| 组成 | 本包位置 | 说明 |
|---|---|---|
| kb/ | Tool/mcp/Tool/reverselab/kb/ |
289 篇 .md(ctf-website / apk-reverse / pe-reverse / general) |
| boards/ | Tool/mcp/Tool/reverselab/boards/ |
攻击网(按信号路由到技术文件) |
| tools/skills/mcp/ | Tool/mcp/Tool/reverselab/tools/skills/mcp/ |
3 个 MCP 源码 |
| docs/ | Tool/mcp/Tool/reverselab/docs/ |
含 llms.txt(seep MCP 引用的 LLM 索引) |
| scripts/ | Tool/mcp/Tool/reverselab/scripts/ |
知识库辅助脚本 |
| AGENTS.md / CLAUDE.md / SKILLS.md / AI-USAGE.md | Tool/mcp/Tool/reverselab/ |
reverselab 自带的 agent 协议 |
已剔除工作目录:
cases/ logs/ tmp/ exports/ samples/ projects/ patches/ reports/ notes/ site/
六、脚本溯源
| 脚本 | 本包位置 | 作用 |
|---|---|---|
case-init.ps1 |
Tool/scripts/ |
任务建档门禁(一任务一目录) |
refresh-tool-index.ps1 |
Tool/scripts/ |
工具链健康自检 |
trigger_ida_mcp.ps1 |
Tool/scripts/ |
静默唤醒 IDA + 挂 MCP |
master-route.ps1 |
Tool/scripts/ |
主路由 |
start_mcp.py |
Tool/scripts/ |
MCP 启动 |
shot_ida.ps1 / temp_ocr.ps1 |
Tool/scripts/ |
截图 / OCR 辅助 |
apk/decode.ps1 |
Tool/scripts/apk/ |
jadx + apktool 一键解包 |
apk/rebuild-sign-install.ps1 |
Tool/scripts/apk/ |
重打包 → 对齐 → 签名 → 装机 |
apk/frida-run.ps1 |
Tool/scripts/apk/ |
设备枚举 + Spawn/Attach 注入 |
apk/manifest-summary.ps1 |
Tool/scripts/apk/ |
Manifest 摘要 |
(.sh 版为 macOS/Linux 等价脚本)
七、外部工具依赖(脚本下载,不在包内)
下载目标统一为
Tool/mcp/Tool/safe/(MCP 硬编码要求)。
| 工具 | 服务的 MCP / Skill | 下载目标 | 体积 |
|---|---|---|---|
| radare2 | seep_r2_*(8 工具) |
Tool/mcp/Tool/safe/radare2/ |
~39 MB |
| jadx | seep_apk_decompile |
Tool/mcp/Tool/safe/jadx/ |
~460 MB |
| apktool | seep_apk_unpack |
Tool/mcp/Tool/safe/apktool/ |
~24 MB |
| playwright-mcp | playwright MCP | Tool/mcp/Tool/safe/playwright-mcp/ |
~45 MB |
| js-reverse-mcp | js-reverse-mcp MCP | Tool/mcp/Tool/safe/js-reverse-mcp/ |
~234 MB |
| ida-pro-mcp | ida MCP | Tool/mcp/Tool/safe/ida-pro-mcp/ |
~79 MB |
八、依赖链速查(排障用)
seep_kb_* 四个工具 → Tool/mcp/Tool/reverselab/kb/(289 篇)
seep_r2_* 八个工具 → Tool/mcp/Tool/safe/radare2/bin/
seep_apk_* 五个工具 → Tool/mcp/Tool/safe/jadx/ + apktool/
seep_apk_gen_hook → Tool/mcp/Tool/safe/hook-mcp/templates/
ida MCP → 自备 IDA Pro + Tool/mcp/Tool/safe/ida-pro-mcp/
playwright MCP → npx + PLAYWRIGHT_MCP_EXTENSION_TOKEN
softseep 路由 → Tool/skill/softseep/(含 8 个 references)
apkseep 全链路 → Tool/skill/apkseep/(45 refs + 56 scripts)
排障口诀:某个 MCP 工具报错 → 先看它读哪个目录 → 检查该目录是否存在且非空。
特别注意:Tool/mcp/Tool/ 不可搬动 —— MCP 内部硬编码了 TOOL_DIR = <脚本目录>/Tool。
九、案例层溯源(项目A~I)
| 案例 | 源(脱敏前) | 范式类型 |
|---|---|---|
| 项目A | 单进程经典工具 | 单进程纯离线 |
| 项目B | 多进程模拟器 | 多进程混合 |
| 项目C | 压缩工具商业套件 | 资源模板 + 显示层伪造 |
| 项目D | 下载工具 | 壳保护 + 多策略 |
| 项目E | 卸载工具 | VM + 在线 → patch |
| 项目F | 搜索工具 | .NET 混淆 → Keygen |
| 项目G | 播放工具 | 自引用校验 → 补判定点 |
| 项目H | 截图工具 | 公钥替换 Keygen |
| 项目I | 开始菜单工具 | RSA 弱模 → 验签入口 |
脱敏范围:产品名 / 公司名 / 同厂兄弟产品 / 哈希 / 绝对路径 / 版本号 / 厂商域名 → 全部替换。 保留:RVA / 文件偏移 / 原始字节 / 补丁字节 / 汇编指令 / 算法常量 / CWE 编号 / 工具名。