reverse-skill:给 AI Agent 加上一层可审计的逆向工程路由
GitHub Trending 最近出现的 zhaoxuya520/reverse-skill,它是一套网络安全技能包,重点解决 AI Agent 做安全任务时经常遇到的流程问题:面对 APK、二进制、前端加密参数、PCAP 或渗透测试目标,Agent 如何选对方法,如何确认工具存在,如何在授权范围内行动,并把过程整理成可复查的证据链。

仓库公开信息显示它有 10,653 个 star,最近一天增加 612 个 star。这个增速本身并不能证明项目质量,但它说明“给 Agent 配一套安全领域工作流”正在成为一个明确需求。对开发者来说,项目更值得研究的地方不在于它收集了多少工具,而在于它试图把安全任务组织成一套可执行的路由系统。
它同时处理工具选择与流程控制
传统安全工程师通常会先判断对象和目标,再选择工具。分析 APK,可能进入 jadx、apktool 和 Frida;处理 ELF 或 DLL,可能走 IDA、radare2 或 Ghidra;分析前端签名,则需要浏览器调试、抓包和 JavaScript 逆向。人可以依靠经验完成这次判断,通用 AI Agent 却容易直接跳到一条熟悉的命令上。
这类错误有两个后果。第一,工具与目标类型不匹配,导致大量无效操作。第二,Agent 可能在授权范围、目标地址和网络环境尚未明确时就开始执行。reverse-skill 把任务拆成“先路由、再确认范围、再加载技能、最后行动”的顺序,试图把经验固化为文件和脚本。
仓库 README 给出的主路径可以概括为:
用户任务
-> RULES.md
-> MASTER-ROUTING / master-route.ps1
-> case-init / scope.md
-> 场景技能
-> 工具、MCP 与脚本
-> 时间线与证据链
-> 报告与现场日志这里的关键变化,是把“我应该运行什么命令”改成“我当前处于哪一种安全任务”。路由层先识别任务,再交给专门技能处理。这样做也便于加入新的场景,例如固件分析、API 安全、LLM 安全或供应链安全,而不必把所有判断继续堆进一个超长提示词。
路由矩阵:从关键词进入工作流
项目的 MASTER-ROUTING.md 将常见任务映射到不同模块。APK、smali、jadx 和 apktool 进入 Android 逆向;IPA、iOS 和 Objection 进入移动端分析;前端签名、加密参数和 jshook 进入 JavaScript 逆向;Nmap、Nuclei 和 SQLMap 进入渗透工具模块;Prompt 注入、Agent 安全和 MCP 供应链则进入 LLM 安全模块。
这种路由方式有一个实际优点:它把“工具名”和“任务意图”同时作为信号。用户只说“分析一个 APK”时,系统可以进入移动端路径;用户说“重放一个 API 请求”时,目标虽然也可能来自移动应用,首选路径却应转向 HTTP 捕获或 API 安全。单靠一个关键词列表,很难覆盖这种交叉场景,因此仓库还保留了更完整的 routing 矩阵,用于处理主路径不明确的任务。
路由文件还要求 Agent 输出主路径及其依据,然后立即打开对应的 SKILL.md。这一步看起来像文档规范,实际是上下文管理机制:先确定任务类型,后加载局部知识,能减少 Agent 把 APK、Web 和二进制分析方法混用的概率。
scope gate:授权是流程状态,不是口头提醒
安全自动化最容易被低估的部分,是“可以对什么目标做什么”。reverse-skill 将授权、目标和网络配置放进 case 初始化阶段,要求在 scope.md 中记录范围。其规则明确要求,只有在 auth.status=granted 并且已经设置网络配置后,才能对目标执行 ACT 操作。
这相当于在 Agent 工作流里加入一道状态门:
发现任务
-> 识别主路径
-> 初始化 case
-> 记录授权与目标
-> 设置网络配置
-> scope gate 通过
-> 执行分析或测试如果缺少这道门,模型容易把“用户描述了一个目标”理解成“用户授权了对目标执行动作”。在安全任务中,这两个事实必须分开。前者是输入,后者是可验证的操作前置条件。
仓库还把证据、发现和后续路径分开管理。一个命令输出或文件样本先作为 Evidence 保存;基于证据形成 Finding;再为 Finding 生成下一步 Path。这样写报告时,读者可以追溯每个结论来自哪条证据,复现时也能知道下一步应该执行什么。
工具索引比自动安装更重要
reverse-skill 没有把“缺工具”简单处理成每次都自动安装。它设计了 tool-index.md 作为共享工具注册表,记录工具是否已安装、实际路径、版本和验证命令。运行任务前先查看索引,只有确实缺失且当前任务需要的工具才进入 bootstrap;安装结束后再刷新索引。
这对 Agent 很重要。安全工具往往体积大、依赖复杂,某些工具还需要商业授权或图形界面。以 macOS 为例,仓库的配置文档区分了 Homebrew 可安装的 jadx、apktool、radare2、nmap 和 Frida,也把 IDA Pro、BurpSuite 等需要手动安装或单独配置的工具列为不同路径。Agent 如果把所有缺失项都当成可自动安装的软件,既可能浪费时间,也可能覆盖用户已有版本。
项目还提供工具索引刷新脚本,用于把当前机器状态写回共享清单。这样,“本机有什么”会成为显式数据,其他 AI 客户端也可以据此复用同一套工具状态。
技能目录的价值:把长提示词拆成可组合模块
仓库的 skills/ 目录按场景组织技能,包括 APK、移动端、JavaScript、.NET、IDA、radare2、恶意样本、固件、API、供应链和 LLM 安全等模块。每个模块不只是命令清单,还可以包含参考资料、脚本、证据格式和报告要求。
这种结构适合 Agent 的原因有三点。
第一,知识可以按任务加载。处理 APK 时不需要把固件和云安全文档全部塞进上下文。第二,技能可以独立演进。某个工具的参数或最佳实践发生变化时,只需要修改相关模块。第三,路由和执行可以分离。主路由负责选方向,专项技能负责告诉 Agent 如何完成具体工作。
从工程角度看,这更像一个面向 AI 的插件系统。RULES.md 是全局入口,路由矩阵是调度层,SKILL.md 是领域模块,脚本和工具索引则是运行时依赖。它没有试图让模型记住所有安全工具,而是把可更新的知识放到仓库中。
对开发者的实际用法
如果只想把 reverse-skill 当作资料库,可以直接克隆仓库,再根据操作系统刷新工具索引。macOS 用户可以优先确认 Java、Python、Node.js、Homebrew 和基础命令是否存在,然后按任务安装 jadx、apktool、Frida 或 radare2。涉及 MCP 时,BurpSuite、jshookmcp 和其他本地服务还需要单独配置连接方式。
如果把它交给 AI Agent 使用,建议先从三个动作开始:
- 让 Agent 根据任务输出 PRIMARY 路径和选择依据。
- 让 Agent 初始化 case,并确认授权、目标和网络配置已经写入 scope。
- 让 Agent 在实际操作前读取工具索引和专项
SKILL.md。
这三个动作覆盖了路由、范围和依赖三个高风险环节。后续再根据任务需要增加时间线、角色分工、证据链和报告生成。
需要注意的是,reverse-skill 面向的是授权的安全研究、逆向分析和 CTF 等场景。技能包提供流程和工具入口,并不会替用户获得目标授权,也不能替代对测试范围的人工确认。将它用于真实系统时,授权文件、目标列表和网络边界应该由操作者明确维护。
这个项目值得关注的原因
AI Agent 进入专业工程领域后,真正的瓶颈常常是模型是否能在正确的阶段调用正确的命令。reverse-skill 选择了一个工程化答案:用路由降低选择成本,用 scope gate 限制行动范围,用工具索引管理运行环境,再用 Evidence 到 Finding 的链条提升可审计性。
它目前更像一个持续扩展中的安全工作流底座,而非开箱即用的完整平台。仓库覆盖的场景很多,使用者仍然需要根据本机工具、授权制度和目标类型调整配置。对已经使用 Claude Code、Codex CLI、Cursor 或其他 Agent 客户端的安全团队来说,这种“规则、技能和工具状态分离”的组织方式,提供了一个比复制提示词更容易维护的起点。