reverse-skill:用结构化路由让 AI Agent 更可靠地调用逆向与渗透工具

0 阅读

为什么 AI 直接处理逆向任务容易翻车

把一个 APK 文件扔给 AI,它可能立刻建议用 jadx;换成 ELF 二进制,又混着写 radare2 和 IDA 的命令。工具本身没问题,但缺了关键一环:任务类型 → 方法论 → 本机可用工具 的完整链条。

文章配图

现实中的痛点很具体:

  • 同一类任务(比如分析 Android 应用 vs. CTF 题)需要完全不同的操作流程,AI 容易选错入口;
  • 工具路径、MCP 服务、脚本散落在不同机器上,换台电脑就得重新配置;
  • 踩过的坑很难沉淀下来,下次遇到类似 case 又得从头摸索。

reverse-skill 想解决的就是这件事——不让 AI 每次从零开始猜命令,而是先走统一路由,再进入对应的场景技能模块。

架构:从用户输入到报告生成

整个流程设计得很清晰:

用户任务
  → RULES.md(全局规则,含 scope 门)
  → MASTER-ROUTING / master-route.ps1(PRIMARY 快路径)
  → case-init / scope.md(授权 + network_profile;未就绪禁止对目标 ACT)
  → 场景 Skill → 工具 / MCP / 脚本
  → timeline + Evidence→Finding→Path → 报告 + field-journal

几个核心文件各司其职:

  • README_AI.md:Agent 第一次接触项目时应该读的引导文档;
  • RULES.md:定义全局行为边界,特别强调“scope 未就绪前不得对真实目标执行任何动作”;
  • skills/MASTER-ROUTING.md:提供快速分诊路径(PRIMARY route);
  • skills/routing.md:列出所有任务类型与对应技能模块的映射关系;
  • skills/config/routing.json:41 条路由规则(R0–R40)的唯一事实源;
  • skills/tool-index.md:自动生成的本机工具探测结果;
  • skills/ops/:存放 scope、证据链、时间线等协作契约。

其中,“scope 门”不是一句免责声明,而是硬性流程约束。如果你没在 scope.md 里明确授权范围和目标资产,Agent 根本不会动手——这对做合规渗透或企业安全研究的人来说很关键。

安装与环境准备

前置依赖

项目依赖比较明确:

  • Java / JDK:用于 jadx、apktool 等 Android 逆向工具;
  • Node.js 22.12+:支撑 JS 分析工具链和 MCP 服务;
  • Python 3.x:运行 Frida 脚本和辅助工具;
  • 任意代码 AI 客户端:如 Cursor、Claude Code、Cline 或 OpenCode。

克隆与工具索引刷新

先克隆仓库:

git clone https://github.com/zhaoxuya520/reverse-skill.git
cd reverse-skill

然后根据操作系统刷新本机工具索引:

  • Windowspowershell -File skills/scripts/refresh-tool-index.ps1
  • Linux / macOSbash skills/scripts/refresh-tool-index.sh
  • Kali Linuxbash kali/scripts/refresh-tool-index.sh

执行后检查 skills/tool-index.md,确认 jadx、frida、ida 等是否被正确识别。不同平台还有专属文档,比如 kali/README-kali.mddocs/platforms/linux.md

在 Cursor 中使用

reverse-skill 本身不绑定特定客户端。你只需:

  1. 把仓库 clone 到本地;
  2. 让 AI 先读 README_AI.mdAGENTS.md
  3. 或在 Cursor 设置中将 skill 路径指向 skills/ 下的子目录。

最简单的上手方式就是告诉 AI:“请先读 README_AI.md,然后帮我分析这个 APK 的签名校验逻辑。”系统会自动通过 master-route 分诊到 skills/apk-reverse/ 入口。

支持的场景与入口

项目覆盖了大量安全任务类型,每种都有明确入口目录:

  • APK / Android 逆向skills/apk-reverse/
  • iOS / 移动端skills/mobile-reverse/
  • 二进制(exe/dll/so/elf)skills/ida-reverse/skills/radare2/
  • .NET / C#skills/dotnet-reverse/
  • 前端 JS 加密参数skills/js-reverse/
  • DSL VM / 自定义 opcodeskills/reverse-engineering/dsl-vm-reverse/
  • HTTP 抓包 / 请求重放 → 结合 anything-analyzer、Reqable MCP 与 js-reverse/
  • 恶意软件分析 / YARAskills/malware-analysis/
  • 渗透测试 / 扫描skills/pentest-tools/
  • 红队攻击链编排skills/attack-chain/
  • Case 证据审查skills/case-review/
  • CTFCTF-Sandbox-Orchestrator/(包含 42 个子技能)
  • 固件 / IoTskills/firmware-pentest/
  • 补丁差分 / N-day 利用skills/patch-diff-exploit/
  • Pwn / 漏洞利用skills/pwn-chain/
  • EDR 绕过skills/edr-bypass-re/
  • API / GraphQL 安全skills/api-security/
  • 供应链 / SBOMskills/supply-chain-security/
  • LLM / AI 安全skills/llm-security/
  • OLLVM 脱壳skills/reverse-engineering/references/ollvm-deobfuscation.md
  • 图表 / 报告生成skills/diagram-generator/skills/docs-generator/

需要注意的是,CTF 子模块采用 GPLv3 许可,主仓库为 MIT。集成的第三方工具(如 jadx、frida、nmap)仍遵循各自上游协议,商用前建议逐项核对。

如何保证路由质量?

reverse-skill 把“路由是否准确”当作工程问题来对待,而不是靠提示词玄学。

  • 单一事实源:所有路由规则集中在 skills/config/routing.json,共 41 条(R0–R40)。修改必须改这里,并跑回归测试。
  • 本地验证命令(以 PowerShell 为例):
    # 路由回归测试:163 条 hint → 期望 PRIMARY
    powershell -NoProfile -ExecutionPolicy Bypass -File skills/scripts/test-routing.ps1

在这里插入图片描述

powershell -NoProfile -ExecutionPolicy Bypass -File skills/scripts/verify-routing-coherence.ps1

在这里插入图片描述

powershell -NoProfile -ExecutionPolicy Bypass -File skills/scripts/smoke.ps1 powershell -NoProfile -ExecutionPolicy Bypass -File skills/scripts/extract-summaries.ps1 -Check

- **CI/CD 支持**:GitHub Actions 在 Windows 和 Ubuntu 上对每次 push/PR 运行全套检查。这意味着你 fork 后修改路由,可以用 163 条基准用例证明没破坏分诊逻辑。

此外,`skills/scripts/case-init.ps1` 会初始化 case 目录(包含 scope、timeline、workitems),而 `skills/case-review/` 提供只读证据图审查功能。长期做授权项目时,这种 Evidence→Finding→Path 的链条比单次对话更有审计价值。

## 和普通 Prompt 或散装 Skill 有什么区别?

社区里确实有不少安全相关的 Cursor Rule 或零散技能包,但 reverse-skill 的差异在于三点:

1. **结构化路由**:不是靠一段“你是顶级安全专家”的 prompt,而是用 MASTER-ROUTING + `routing.json` + 163 条回归测试,实现可版本化、可 CI 的调度逻辑;
2. **工具链自举**:通过 `refresh-tool-index` 自动探测本机能力,避免“文档写了 IDA 但机器上没装”的尴尬;
3. **作战契约**`skills/ops/` 将 scope、证据链、时间线等协作要素写成标准化格式,适合团队交付或合规审计。

它并不替代 IDA、Ghidra 或 Frida——这些分析工作依然靠工具和人工判断完成。reverse-skill 只是给 AI 客户端加了一层“方法论调度器”,减少乱猜命令的概率。

## 上手建议与注意事项

如果你已经在用 Cursor 或 Claude Code 做授权逆向、渗透测试或 CTF,这个项目值得尝试。截至 2026 年 8 月,GitHub Star 数已超 2.5 万,说明需求真实存在。

**可执行建议按优先级排序:**

- **P0**:仅在书面授权范围内使用;先运行 `case-init` 写好 `scope.md`,未就绪前绝不允许对真实目标执行 ACT;
- **P0**:clone 后立即运行 `refresh-tool-index`,确保 `tool-index.md` 与本机环境一致;
- **P1**:让 Agent 先读 `README_AI.md`,用一句话任务测试 `master-route` 分诊是否准确;
- **P1**:修改 `routing.json` 后务必运行 `test-routing.ps1`,防止分诊逻辑退化;
- **P2**:需要 CTF 支持时进入 `CTF-Sandbox-Orchestrator/`,注意其 GPLv3 许可;
- **P2**:贡献新路由规则时,同步更新 `routing.json` 和对应的回归用例。

**局限性也要看清:**

- 集成工具众多,全量安装成本高;
- 部分脚本(如 case-init)依赖 Windows PowerShell,Linux/macOS 用户需参考 `docs/platforms/` 文档调整;
- Star 数会随时间变化,具体以仓库页面为准。

总之,reverse-skill 不是魔法,而是一套让 AI Agent 在安全任务中更可靠、更可控的工程实践。它把“该用什么工具”“先检查什么”“证据怎么串”这些经验固化下来,最终目标是让开发者少踩坑、多产出。