FEATURED ARTICLE

中山大学大三学生开源AI逆向神器反制工具,令其Token消耗最高达2800倍!

阅读位置

智猩猩AI整理 编辑:林夕 「REA 是互联网上最危险的仓库……所以我做了个东西,让它看不见。」 说这话的是中山大学大三学生 Timo Zhang,他在 X 上介绍了自己独立开发的开源项目 BLA(Blind LLM Agents) ,专门用来反制 REA 这类 AI 逆向工具。 他在发帖时晒出了 3,278 Star、407 Fork。目前,项目仓库已显示 5.2k Star 。 他点名的 REA,正是我们前几天报道过的那个 AI 逆向项目 。 把软件交给它,AI Agent 就能调用分析工具,顺着打包后的代码查文件、找函数,试着还原软件是怎么工作的。 项目上线一周,GitHub 标星就超过了 10 万。 REA 能自己顺着线索查下去,BLA 就从它看到的线索入手。按项目方对样例的估算,加固后的逆向任务最高可能 消耗原来约 2800 倍的 Token 。 01 给AI逆向工具一条假线索 AI Agent 做逆向时,会根据工具返回的结果决定下一步查什么,看到一个可疑的函数名,它可能去找调用者。 发现一个看起来和认证有关的模块,它又会顺着调用关系,看看软件什么时候会用到它。 BLA 下手的地方,就是 Agent 用来做这些判断的 线索 。 以 JavaScript 的 Source Map 为例。网页代码打包压缩后,原来分散在多个文件里的代码可能只剩下几行。 Source Map 能告诉调试器,这几行分别对应原项目里的哪个文件、哪个位置。 对逆向 Agent 来说,拿到这份映射,就有机会跳过大段压缩代码,直接找到要查的模块。 但这份映射也可能指向一条假线索。 在 BLA 展示的案例里,一段普通的客户端代码,看起来像是在调用硬件安全区,连相关的认证流程也像模像样。 Agent 如果信了,就可能接着找认证模块、梳理调用关系,最后把程序里从未发生过的调用写进报告。 Timo Zhang 在 X 上用三个词概括这套思路: Poison、Exhaust、Hallucinate 。 先让 Agent 读到看似可信的信息,再让它沿着假线索消耗上下文和 Token,最后让这些未经核实的信息变成报告里的结论。 还有一种情况,Agent 甚至来不及追查。 BLA 会让部分加固后的文件超出分析器的处理上限,工具可能提前报错,也可能只返回部分结果。 于是,同样一套加固方案,有的样例会让 REA 在读取阶段停下来,有的则会让 Agent 带着不完整的信息继续往下查。 02 有的样例让REA报错, 有的还能继续查 BLA 的假线索能把 AI 带偏多远? 作者先用 REA 做了一组加固前后的对照,看看同一份软件经过处理,分析工具还能读出多少东西。 在公开的 13 项对照 里,有 7 项 在被测步骤报错或被拒绝, 2 项 仍能返回部分结果, 1 项 只在指定查询时报错,另外 3 项 未观察到分析受阻。 换句话说,有些样例一上来就卡在了文件读取环节,有些仍给 Agent 留下了继续追查的空间。 其中一个例子是 Electron 应用常用的 ASAR 打包文件 。加固前,样例只有 607 字节 。 加固后,文件增至 16.93 MiB ,超过了 REA 当时的默认读取上限,分析器随即报错。 至于引言里提到的 最高 2800 倍 ,项目方给出的是另一组数据。 它来自对 14 个样例 的成本建模,估算的是加固后逆向任务可能消耗多少 Token。 在这组估算里,不同样例的 Token 消耗约为 原来的 300 至 2800 倍 。 工具在第一步就报错,和 Agent 顺着一条假线索查了十几轮,是两种不同的结果。 前者能在对照测试里直接记录,后者的实际开销取决于 Agent 查了多久、读了多少内容。 即使它最后交出了一份完整的报告,还有一个问题要回答: 报告里的调用关系,究竟来自程序本身,还是来自那条假线索? 03 一条命令, 跑完BLA的14个官方样例 BLA 提供命令行工具和 MCP 接入。想先看看前面提到的样例怎么跑,用命令行就够了。 项目 README 推荐 Node.js 22.23.4 或更新的 22.x 版本,或者 Node.js 24 及以上版本 。 装好 Node.js 后,打开终端,先检查版本: node -v 接着,用 npx 运行 BLA 自带的 14 个示例。第一次执行时,终端可能会提示下载 bla-agents 包。 npx bla-agents benchmark 运行后会看到各样例的 Token 倍率、费用估算和运行结果一致性检查。 这里的 Token 和费用仍是项目内部估算 , 可以和前面截图里的表格对照看。 如果想试自己的项目,可以先复制一份构建产物,在副本目录里运行: npx bla-agents harden . 命令里的 . 指当

about image
返回资讯列表

分享这篇内容

如果文章对您有所帮助,欢迎将链接分享给感兴趣的朋友。