reverse-skill

其他

zhaoxuya520/reverse-skill

逆向渗透技能路由包,AI 自动路由与自举工具链。

项目简介

为 AI 编程代理提供逆向工程、渗透测试与 CTF 任务的技能路由,自动匹配方法并引导工具链。包含主路由、场景剧本、工具检测脚本与自动进化的经验库,支持 Claude Code、Cursor 等客户端。

README 预览

\n  \n\n\nreverse-skill\nCybersecurity Skills Router · 逆向技能路由包\n\nNavigate the dark waters, sail against the stream.\n\n\n  \n  \n  \n  \n  \n  \n\n\n\n  \n\n\n\n\n\n  About ·\n  Getting Started ·\n  Usage ·\n  Fast route ·\n  Routing ·\n  Ops contracts ·\n  AI Bootstrap ·\n  Sponsors ·\n  Contributing\n\n\n\n  🌐 中文\n\n\n\n\n\n\n## About\n\n> **If you are an AI Agent, jump to [README_AI.md](README_AI.md) and follow the instructions strictly.**\n\nWhen an AI agent (Claude Code, Codex CLI, Cursor, etc.) encounters an APK, a binary, frontend JS encryption, a CTF challenge, or a pentesting target, this package routes it to the right methodology, checks available tools, and executes a repeatable workflow instead of guessing commands.\n\n```\nUser task\n  → RULES.md\n  → MASTER-ROUTING / master-route.ps1 (PRIMARY)\n  → case-init / scope.md (auth + network_profile; no target ACT until ready)\n  → Scenario skill → tools / MCP / scripts\n  → timeline + Evidence→Finding→Path → report + field-journal\n```\n\n**Why this exists:**\n- AI agents don't know whether to use jadx, apktool, Frida, IDA, or BurpSuite for a given task\n- APK, ELF, JS, PCAP, and CTF tasks each need different playbooks\n- Tools, MCP servers, and scripts are scattered across machines\n- The same mistakes get repeated because experience isn't reused\n\nPRIMARY ladder: [skills/MASTER-ROUTING.md](skills/MASTER-ROUTING.md) · Full matrix: [skills/routing.md](skills/routing.md) · Ops: [skills/ops/](skills/ops/)\n\n\n\n\n  \n    \n  \n\n\n\n\n(back to top)\n\n### Built With\n\n\n  \n  IDA Pro · radare2 · Ghidra\n\n\n(back to top)\n\n\n\n## Getting Started\n\n### Prerequisites\n\n- **Java / JDK** — for jadx and apktool\n- **Node.js 22.12+** — for JS toolchain and MCP servers\n- **Python 3.x** — for Frida and helper scripts\n- **A code AI client** — Claude Code, Codex CLI, Cursor, etc.\n\n### Installation\n\n```\ngit clone https://github.com/zhaoxuya520/reverse-skill.git\n```\n\nThen refresh the tool index per platf

常见问题 (5)

故障排除
如何修复在运行 test-bash-workflow.sh 时出现的 macOS BSD sed 错误 "invalid command code f"?

该脚本使用了仅限 GNU 的 sed -i 's/.../' file。在 macOS 上,BSD sed 要求在 -i 之后提供备份后缀,因此它会把替换表达式解析为后缀,并把文件名解析为 sed 脚本。

将 skills/scripts/test-bash-workflow.sh 中第 52、60 和 61 行的 sed -i 调用更新为可移植的形式:

if sed --version >/dev/null 2>&1; then
  SEDI=(-i)
else
  SEDI=(-i '')
fi

sed "${SEDI[@]}" 's/mode: authorized_target_only/mode: invalid_mode/g' "$SCRATCH/work/test-bash-01/scope.md"

对另外两处替换应用相同的模式:

sed "${SEDI[@]}" 's/mode: invalid_mode/mode: authorized_target_only/g' "$SCRATCH/work/test-bash-01/scope.md"
sed "${SEDI[@]}" 's/status: granted/status: pending/g' "$SCRATCH/work/test-bash-01/scope.md"

或者,完全避免使用 sed -i:

tmp="$(mktemp)"
sed 's/a/b/' "$file" > "$tmp" && mv "$tmp" "$file"

然后重新运行:

bash skills/scripts/test-bash-workflow.sh

测试 4 和 5 现在应该能在 macOS 上执行,并以 FAIL=0 结束。为防止回归,请将此脚本添加到 macos-bash-compat.yml CI 工作流中。

来源 Issue #135
故障排除
如何修复 binwalk 在 Windows 上自动安装失败的问题?winget 针对 ReFirmLabs.binwalk 提示错误 "No package found matching input criteria"。

声明的 winget ID ReFirmLabs.binwalk 在 winget 仓库中不存在,且 binwalk 未提供预编译的 Windows 发布二进制文件。请将 skills/scripts/bootstrap-manifest.json 中的 binwalk 条目从 winget-package 改为手动安装,参照 jeb-pro/binaryninja 的模式:设置 "bootstrapKind": "manual"、"canAutoInstall": false,并添加 manualInstallHint。该提示应指导用户运行:

winget install --id Rustlang.Rustup --exact

安装完成后重启终端,然后使用 Cargo 安装 binwalk:

cargo install binwalk

使用以下命令验证:

binwalk --version

同时更新 skills/tool-index.md.template 和 CHANGELOG.md,使 binwalk 不再被宣传为可在 Windows 上通过 winget 自动安装。之后重新运行 bootstrap-reverse.ps1 -Capability binwalk 应报告 MANUAL_INSTALL_REQUIRED,而不是 winget 错误 0x8A150014。未来的改进方向是添加一等公民级别的 cargo-install 引导类型,并将 binwalk 版本固定,例如 3.1.0。

来源 Issue #139
故障排除
如何阻止 AI 编码代理在读取 README_AI.md 后自动执行脚本或注入全局规则?

升级到包含 fix(security): consent-gate agent bootstrap 更改的 release 或 PR。如果无法立即升级,请编辑 README_AI.md 的第 0 节,移除所有指示 agent 立即执行的指令,包括 refresh-tool-index.sh、refresh-tool-index.ps1 以及自动加载 RULES.md 的指令。用一个明确的同意门控(consent gate)替换它们,例如:Do not run any command, script, or configuration change until you show the user the exact commands and receive explicit confirmation. 同时移除“global injection”步骤,仅从相关的案例或工作目录加载路由规则。为了更安全的设置,请从经过验证的 release tag 发布一个由人工运行的安装程序,并附带校验和(checksum);用户应在 agent 执行设置之前验证并运行该安装程序。作为一项即时缓解措施,请检查或禁用 bootstrap 脚本,例如使用 chmod -x refresh-tool-index.sh,并在使用 Claude Code、Codex、Cursor、Cline、Windsurf、Kiro、OpenCode 或 Pi 打开该仓库之前,先审查 README_AI.md 和 RULES.md。

来源 Issue #134
操作指南
我该如何使用这个项目?是先克隆它,在仓库文件夹中启动一个 agent,然后提问吗?

是的。克隆完整的代码仓库,将仓库根目录作为你的 Agent 工作区打开,并让 Agent 阅读 AGENTS.md 和 RULES.md。然后使用该平台的原生 master-route 和 case-init 命令进入特定技能。这不仅仅是安装技能的问题。详细说明请参见 docs/QUICKSTART_zh.md,README 中也提供了指向该指南的链接。官方文档也可在 reverse.apivix.com 查阅。

来源 Issue #61
故障排除
当 Cursor 拒绝安装技能时,我该如何在 macOS 上手动安装它们?

如果 Cursor 因其客户端安全策略而拒绝安装,请从仓库手动安装。克隆完整仓库,然后运行:

bash skills/scripts/refresh-tool-index.sh

或者,直接复制 skills:

cd skills && cp -r . ~/.agents/skills/

在 macOS 上,核心工作流使用原生 Bash 脚本 master-route.sh、case-init.sh 和 refresh-tool-index.sh;不需要 PowerShell。详细步骤请参阅 docs/platforms/macos.md 和 docs/QUICKSTART_zh.md。如果杀毒软件或安全工具报告严重标记,请先检查这些脚本。

来源 Issue #127