中大本科生反AI逆向项目火了!让黑客Token账单原地暴涨300倍

  鱼羊发自凹非寺

  量子位 | 公众号 QbitAI

  终于有人出手反制 REA 了。

  REA,AI 逆向一切,登上 GitHub 仅一周就刷下 10 万+星,直接让一众开发者们直呼“软件已死”。

  如果要评选 2026 年度最热开源项目,候选列表里自然少不了 REA。如果要评选 2026 年度最危险开源项目,候选列表里也少不了它。

  于是,一位中山大学本科生开始行动了。

  项目名BLA——让 AI 逆向 Agent“失明”。

  挖坑方法分为三步走:投毒 → 耗尽预算 → 诱导误判。

  一套组合拳下来,想要逆向 BLA 加持后的软件,AI Token 消耗量直接暴增300-2800 倍。

  目前,BLA 已收下 3900+ 标星和 476 forks。

  给 AI 挖坑,Token 账单原地起飞

  和 REA 一样,BLA 也是一套 MCP 服务和 CLI 工具。

  REA 的逆向通常遵循这么个逻辑:

  分析器先从文件里提取模块、函数和调用关系,编程 Agent 再根据这些结果决定查哪里、怎样解释这个功能。

  BLA 主打逐层击破。简单来说,就是一面喂,一面卡爆分析器处理上限。

  第一坑:投毒

  BLA 会在文件里放入格式逼真的假凭据,让 Agent 把 Token 浪费在其实完全没有价值的假线索上。

  一个典型例子是诱饵 Source Map。

  网页的 JavaScript 经过打包压缩后,代码常常挤在几行里。Source Map 可以告诉调试器,这一行对应原始项目里的哪个文件、哪个位置,有时还会附带源码正文。对逆向工具来说,这是一份现成的路标。

  BLA 会生成一份格式有效的映射,里面附上虚构的源码路径和代码片段。比如,它可以让一段普通的客户端代码看起来像是在调用硬件安全区,还附上远程认证的接口和注释。如果 Agent 把这些内容当作证据,就可能沿着一条根本不存在的调用链继续查。

  类似的诱饵还有假凭据、假诊断信息和看起来像授权逻辑的代码分支。

  第二坑:卡爆分析器上限

  这一步更直接,就是精确触发分析器内部硬编码配额上限,让工具报错。

  拿 Electron 常用的 .asar 包来说,包头有一份索引,记录包里有哪些文件。BLA 的最强加固档会往里塞约 4000 条诱饵文件。每条文件内容很短,路径却很长,主要体积就堆在了索引上。

  测试显示,对一个 607 字节的包进行 BLA 加固,加固后文件变成了 16.93MiB,包头超过了 REA 的默认上限,读取直接报错。

  不过这个默认上限是可以提高的,另外,这一步处理也会让包变大。

  效果方面,项目作者做了实测+估算。

  13 个 BLA 加固前后的对照项显示,其中 7 项在被测步骤报错或被拒绝,2 项返回部分结果,1 项只在指定查询时报错,其余 3 项没有观察到 REA 分析被阻断。

  成本估测上,作者内部测试后表示,加固后逆向 AI 的 Token 消耗约为原来的300-2800 倍。用 GitHub 仓库的 14 个示例估算,加固后的总 Token 消耗约为加固前的639. 5 倍,总费用约为304. 4 倍。

  中山大学本科生项目

  BLA 的主要作者 TImo Zhang,是中山大学软件工程专业的大三学生。

  目前在字节跳动实习。

  BLA 之外,他还有一个 500+ 的项目“mu (μ)”,是一个基于树莓派构建的减少 Coding Agent Token 消耗的小模型。

  Timo Zhang 也是 LobeHub 的项目贡献者。

  以及,对中大的校园生活看上去也充满了热情。

  项目链接:

  https://github.com/qybaihe/bla/