leanrea:8KB 的 SKILL.md 替代 207 个 MCP 工具,实测比 REA 快 38% 少花 35%

导语:一个 8KB 的 SKILL.md,能顶替 25MB 的 MCP 套件吗?新项目 leanrea 用对照实测回答:同一批逆向任务比 REA 快 38%、便宜 35%,准确率不掉。MIT 协议可下载。

一个小文件替代一整套重型工具箱的概念图

一、8KB 对 25MB:一场不太对等的交换

九天前我们写过 REA(Reverse Engineer Anything),把 AI 逆向做成 MCP 服务的开源项目,当时推文两天五千赞。热闹归热闹,代价也摆着:25 MB 的 npm 包、207 个工具定义、3.35 MB 的 JSON。

这周 GitHub 上冒出来一个叫 leanrea 的项目,作者 aicodeking 干的事简单到有点粗暴:把上面那套全删了,只留一份 8374 字节的 SKILL.md。

GitHub 仓库 aicodeking/leanrea 的仓库卡片

仓库本身也是”轻”的代名词:24 KB,一个贡献者,MIT 协议,10 月 17 日建库,到 24 日已 2100 星、320 fork。推文由 @Dinosn 发出,419 赞、34 转发,评论区最扎人的两问是:”38% 快是在几个任务上测的?””它到底是纯 CLI 还是会回头调模型?”

作者的解释很直白:REA 在 agent 和工具之间加了一层 MCP,而 agent 本来就会用 otool、nm、jadx。leanrea 不装服务、不注册工具,只做两件事——告诉 agent 每类目标该用哪条最快的命令,以及把 REA 代码里替用户处理的坑列出来。剩下的活自己干。

二、36 次运行,三组对照

基准设置:Claude Code 2.1.301 headless(claude -p)、Sonnet 5.5、macOS arm64,被测对象是 rea-agents@6.5.0 加它自己的技能文件。四类任务各跑 3 次、三组并行共 36 次,答案用手写正则 key 打分。

leanrea、无技能与 REA 三组实测对比

四个任务挑得挺有代表性:从 Notion 的 app.asar 追麦克风检测链路(原生函数 → 主进程类 → IPC 通道);盘清 mac_utils.node 的导出符号、TCC 权限校验和单实例锁;从剥符号的 gh 二进制读工具链与依赖;只凭反汇编推出 socket 路径格式、线路协议和对端认证。

leanrea 三组总分 388 秒、2.17 美元、55 轮、240 万 token,74/75;REA 627 秒、3.36 美元、124 轮、593 万 token,拿满分;裸模型 479 秒、2.21 美元、81 轮、311 万 token,67 分,还撞上一次拒答。

作者自己把 caveat 写在最前面,得给分:每格只有 3 次重复、单一模型单机;REA 那组跑的还是最佳情形(Claude Code 默认延迟加载工具);Ghidra、Hopper、jadx 没装,原生任务两边都退回 Xcode 工具;更要命的是裸模型本来就不弱,leanrea 相对”无技能”只快 19%。

真正扎眼的是上下文开销:空载 31.4k token;leanrea 调用后 34.5k,多 3.1k;REA 走延迟工具搜索 34.9k;但关掉延迟搜索、207 个工具全量塞进上下文,直接 400.7k token、1.60 美元。

三、同一件事,命令行差出两个数量级

比总量更夸张的是单条命令。Go 二进制读构建信息:REA 的 CLI 要 0.56 秒、62.5 KB 输出,而一行 go version -m 只要 0.06 秒、15.6 KB。Mach-O 概览:REA 3.32 秒,otool + dyld_info + nm 合计 0.04 秒。

最有戏剧性的是 Electron:REA 的 CLI 撞上 asar 完整性校验直接失败,得补 --integrity-policy record-and-continue 才能跑,代价是 47.9 秒和 140 MB 的 JSON;原生方案 asar extract 加 rg -uu 扫 IPC 通道,4.8 秒、24 KB。

这大概就是 agent 绕远路的成本:多一层抽象,多一次格式转换,多一份塞满上下文的垃圾。

四、8KB 里塞了什么

一份 SKILL.md,四块内容:八条 Rules、覆盖 18 类目标的 Router、两类目标各一条可直接粘贴的 First move 命令、一套 Speed patterns。

SKILL.md 路由表摘要

最有价值的一条反而是态度:每条结论都要标 seen(给出文件偏移或符号)、inferred 还是 unknown,没找到不等于不存在,静态阅读不等于实测。目标很实在——一轮任务控制在 2 到 4 次工具调用内。

五、下载与安装

这工具完全合法开源,MIT 协议,作者说明与 REA 无隶属关系。

仓库地址(下载地址同此):

https://github.com/aicodeking/leanrea

单个 SKILL.md 原文直链:

https://raw.githubusercontent.com/aicodeking/leanrea/main/leanrea/SKILL.md

一条命令装好,走的是 skills.sh 的 CLI:

npx skills add aicodeking/leanrea

它会问你装给哪些 agent——Claude Code、Codex、Cursor、Gemini CLI、OpenCode 都支持。常用变体:-g 装到用户级、-a claude-code -y 只装 Claude Code 免交互、npx skills update leanrea 后续更新。

不想用 CLI 也能手动:git clone 后 mkdir -p ~/.claude/skills && cp -R leanrea/leanrea ~/.claude/skills/。agent 不支持技能机制的话,把 SKILL.md 粘进规则或系统提示词就行,它就是纯文本。

用起来长这样:/leanrea How does the search feature in Foo.app work? Show the evidence.

仓库里还附了复现脚本:bench/setup.sh 装依赖、run_all.sh 跑 36 次、bench/BENCHMARK.md 是完整表格、bench/results/final.jsonl 是逐次原始数据。答案 key 照着当时那几版 Notion 和 go1.27.1 编的 gh 写的,换版本要重做。

六、紫队视角:这场交换到底换了什么

红蓝两边都别急着站队。本质不是”8KB 打败 25MB”,而是 agent 工程的一次成本复盘。MCP 层的价值是标准化和可移植性,leanrea 的价值是另一头:模型本来就认识这些工具,缺的只是”遇到什么用哪条命令”和”哪些坑别踩”两张地图。少了这层,省下的不是功能,是上下文、轮次和真金白银。

对蓝队更值得琢磨的是门槛:一份 8 KB 的文件 + 一台装了 otool、jadx、Ghidra 的机器 + 一个能跑的 agent,就是一条完整逆向流水线。攻击面在往”AI 助手 + 常规工具”平移,授权、留痕、合规得跟上,不然省下的时间会变成别人的加班。

至于保留意见,作者写得比谁都清楚:单作者、单机器、每格 3 次。”最坏情况”不等于 REA 的普遍表现——需要统一抽象、跨平台、结构化输出的场景,MCP 层依然有位置。

最后提醒一句:这工具只该用在你自有或已获授权的目标上。逆向是能力,越界是违法。

七、结语

两周前 REA 让”AI 逆向”火了一把,这周 leanrea 泼了盆冷水:更轻的方案不但能用,还更快更便宜。但值得记住的不是数字,而是那句朴素的话——别给模型它已经会的东西,只给它自己找不到的那部分。

版权声明:本文由华盟网原创发布,保留所有权利。配图由华盟网授权使用。

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容