AB
AiBoss
project

reverify - 用确定性工具为 AI 的每一条断言做裁判

reverify 是一个把「模型提议、工具裁决」落到实处的开源项目:AI 提出的结构性或行为性断言,必须由确定性工具对照真实产物核验,只有通过核验的结论才算数。项目自述其同时提供上下文交接能力,避免长任务中上下文腐化。仓库采用 MIT 许可证,由 2akouwu 维护。

reverify 是一个面向 AI 辅助分析场景的核验工具。按项目自述,它要解决的问题是:语言模型在阅读代码时表现不错,但在逆向工程等需要精确事实的任务里并不可靠——它会自信地编造出偏移量、结构体字段、函数行为,并把这些当成事实陈述出来。reverify 的做法是把一个确定性的工具链放在裁判位置上:模型只能提出断言,工具负责对照真实产物检查,最后返回 VERIFIEDREFUTEDINCONCLUSIVE,并附上实际观察到的字节作为证据。模型本身没有资格单方面宣布某个事实成立。

它适合谁?按项目自述,主要面向做授权范围内逆向工程的人——恶意样本分析、CTF、互操作性研究,以及自己拥有或获准分析的软件;同时也面向希望让 AI 改写、重构代码时「被测试而不是被信任」的普通源码开发者。项目说明中强调,使用场景限于授权的逆向工程,并指向 SECURITY.md 说明边界。

维护者与状态

reverify 由 2akouwu 维护,仓库创建于 2026-08-31,最后提交时间为 2026-09-07。最新 release 为 v0.11.0,发布于 2026-09-04。截至 2026-09-21,该仓库获得 1235 个星标。许可证为 MIT。

从时间线看,这是一个相当年轻的项目:创建到最新一次提交之间只有一周左右,但已经发布了 v0.11.0 这一版本号,说明迭代节奏较快。需要说明的是,以上均为官方接口读取到的仓库状态,本文没有实际运行过该项目,不对其运行表现做任何判断。

主要能力

以下能力均来自项目自述(README 与相关文档),并非本文的实测结论。

  • 让 AI 的断言接受核验:据项目说明,任何结构性或行为性断言都会被对照真实产物检查,而不是被直接采信,只有通过核验的部分才会成为「事实」。对应命令为 reverify verify,也可以通过项目自带的 MCP server 供 agent 调用。
  • 上下文交接:项目自述提供 reverify rollover,把当前会话交接给一个文件并开启新会话,用来替代有损的自动摘要,避免长任务中上下文漂移或需要手动 /clear
  • 确定性核心工具链:据项目说明,核心包含 PE/ELF/Mach-O 解析、x86/x64/ARM/ARM64 反汇编、AOB 模式扫描、CPU 模拟、Protobuf/TLV 解析、Frida hook 生成等能力,纯 Python 实现,开箱即用,不需要安装 Ghidra。
  • 可选接入成熟引擎:项目自述可通过 pip install "reverify[full]" 就地升级到 capstone(反汇编)、unicorn(真实 CPU 模拟)、lief(PE/ELF/Mach-O)与 Z3(证明);pip install "reverify[angr]" 则加入 angr,用于函数边界、调用图与交叉引用。未安装时回退到纯 Python 核心,reverify backends 可查看当前生效的后端。
  • 不止于二进制:据项目说明,reverify equiv --lang python(或 C)会在共享输入上同时运行候选实现与参考实现并检查两者是否一致,因此 AI 的改写或重构是「被测试」而不是「被信任」,被证伪时会返回具体输入与双方输出。
  • Agent 原生:项目自述其以 MCP server 形式发布,Claude Code、Cursor 等 agent 可直接调用工具,同时也提供普通 CLI。
  • 断言类型丰富:据项目说明,支持的断言种类包括 bytes_atu16_at/u32_at/u64_atpattern_presentstring_presentinstructionsemulate_resultbehavior_equivprove_equivprotobuf_fieldimport_presentexport_presentsection_present,以及语义类断言 function_atcallsreferencesreachable_from_entry。偏移量默认按文件偏移处理,断言中写明 "space": "rva""va" 时,验证器会通过节表换算,并在证据中同时回显三种地址。
  • 信息量加权:项目自述指出,「所有断言都通过」这件事本身很容易达成,因此每条结果还带有一个 weight:仅仅复述模型已看到的事实表、重复项、二进制中并不存在的内联代码或数据、以及工具自身先前输出的回声,权重为零;其余权重则从二进制本身测量——期望内容在该文件中出现的频率与熵值。只有没有任何断言被证伪、且已验证权重达到 --min-information(默认 1.0)时,重构才被判定为 grounded。
  • 证据可复核:据项目说明,reverify verify --json 的每条结论都带有回执,包含二进制的 SHA-256、reverify 版本以及参与裁决的引擎,便于报告被移交与重放,而不是被相信。

使用入口

仓库地址:https://github.com/2akouwu/reverify

据项目自述,安装与调用方式如下(以下命令来自 README,本文未实际执行):

pip install reverify
reverify auto sample.bin --json

项目说明中提到,也可以直接从代码检出运行,纯标准库、无需安装:

python reverify/cli.py auto sample.bin --json
python reverify/cli.py parse-pe sample.exe --json
python reverify/cli.py disasm 90505831C0C3 --arch x86_64

核验循环的用法,据项目说明,是把断言以 JSON 形式交给 reverify verify,断言也可以从 JSON 文件批量读入(--claims-file claims.json);只要有任何一条被证伪,CLI 就会以非零状态退出,因此 agent 或 CI 任务可以据此对重构结果设卡。

许可与限制

许可证为 MIT,按事实表原样记录。

关于适用边界,项目自述中明确写道:reverify 面向授权的逆向工程,包括恶意样本分析、CTF、互操作性研究,以及自己拥有或获准分析的软件,并指向 SECURITY.md 了解详情。这是使用前需要自行确认的前提。

关于依赖与硬件,项目说明给出的信息是:核心为纯 Python,开箱即用,不需要 Ghidra;capstone、unicorn、lief、Z3、angr 均为可选,通过 reverify[full]reverify[angr] 安装,未安装时回退到纯 Python 核心。除此之外,本文不掌握该项目对具体操作系统版本、CPU 架构或硬件配置的其他要求,也不对其性能做任何推断。

需要再次说明的是,本文所引用的能力描述、命令与设计意图均来自项目自述,属于维护者视角的说明,不是中立第三方评测;本文没有运行过该项目,也未验证其自述中的任何数字或行为。