Reverify:让 AI 编程的幻觉率从 97% 归零的验证层
Reverify:让 AI 编程的幻觉率从 97% 归零的验证层
AI 编程助手最头疼的问题,不是它不会写代码,而是它写代码时太自信——把不存在的数据结构、错误的 API 签名、编造的函数行为说得像教科书结论一样笃定。这个问题在二进制逆向工程里尤为严重,教科书式答案的错误率高达 97%。Reverify 正是为解决这一痛点而生:让确定性工具做裁判,AI 只能报告被工具验证过的结论。
核心能力与设计原则
Reverify 做两件事:验证 AI 的每一次结构性声明和防止长任务上下文腐烂。
前者是核心:当 AI 声称”这个 PE 文件的入口点是 0x401000″,reverify 不是信任这个说法,而是用 PE 解析工具实际读出文件,把结果与 AI 的声明对照,返回 VERIFIED / REFUTED 和具体证据。后者解决长程 Agent 的上下文漂移问题:不用有损的自动摘要,而是把会话转储到文件、重开一个干净上下文,让 AI 在长任务中不偏离。
裁判-运动员架构:AI 负责提出假设,确定性工具负责验证,模型从不单独断言事实。这是它的设计核心,也是它区别于普通 Humanizer 类技能的本质差异。
认可度
GitHub star 962(截至 2026-09-07),创建于 2026-08-31,上线仅 7 天。GitHub Trending Sep 3-4 收录,Startup Corners 每日趋势榜重点推荐。Reddit r/ReverseEngineering 讨论帖获得较高关注,被认为是 AI 逆向工程工具链的关键补全。
GitHub 链接
https://github.com/2akouwu/reverify
原作者
GitHub 用户 2akouwu,专注 AI + 逆向工程交叉领域。开发者背景为安全研究,repo 中包含完整的基准测试报告和 CI 验证流程。
详细介绍
Reverify 起源于一个具体场景:让 AI 读二进制文件并重构其中的数据结构或算法。开发者发现,在真实 Windows 系统文件上,AI 的”教科书答案”错误率高达 97%——它会自信地编造偏移量、结构体大小和函数行为,像背答案一样输出。
问题的根源不在于模型能力,而在于架构设计:AI 被放在了一个”自己判断自己说得对不对”的位置上,这是裁判和运动员同一人。Reverify 的解法是把验证权完全交给确定性工具:AI 提出假设 → 工具实际读取二进制 → 核对证据 → 只有通过才报告。
它的验证核心是一套纯 Python 的逆向工具链:PE/ELF/Mach-O 解析、x86/x64/ARM/ARM64 反汇编、AOB 模式匹配、CPU 模拟、Protobuf/TLV 解析、Frida hook 生成。开箱即用,无需 Ghidra。进阶用户可选装 capstone、unicorn、lief 和 Z3。
除了二进制逆向,reverify 还能验证 AI 生成的源代码——用 reverify equiv --lang python 让候选实现和参考实现跑同一组输入,对比输出结果,反驳同样返回具体证据。
主要特点
- 零幻觉验证:每次结构性声明都有确定性工具背书,模型从不单独下结论
- 基准数据极强:71 个真实 Windows 系统文件测试,AI 原始错误率 97%;Reverify 全部检出,零误报,CI 每次 push 均运行该测试
- MCP 原生:作为 MCP server 交付,Claude Code、Cursor、OpenCode 等主流 Coding Agent 直接调用,无需额外配置
- 优雅降级:纯 Python 核心无需依赖;安装
[full]标签后自动升级到 capstone/unicorn/lief/Z3 等工业级引擎 - 上下文持久化:reverify rollover 将长任务上下文转储文件并重置会话,解决 Agent 长程任务漂移问题
使用方法
安装 MCP server + CLI:
pip install reverify # 纯 Python 核心
pip install "reverify[full]" # 升级到 capstone + unicorn + lief + Z3
# 或者直接跑(纯标准库,无需安装)
python reverify/cli.py auto sample.bin --json
在 Claude Code 中使用(通过 MCP):
/reverify verify sample.bin --claim '{
"kind": "instructions",
"offset": 4096,
"mnemonics": ["push", "mov", "sub"],
"note": "function prologue"
}'
验证 AI 重构的 Python 代码:
reverify equiv --lang python --candidate ./ai_output.py --reference ./reference.py
使用场景与目标人群
适用场景:
– 二进制逆向工程(恶意软件分析、CTF、系统研究)
– AI 代码重构验证(确保 AI 改写后的代码与原始行为一致)
– 长程 Coding Agent 任务(防止上下文膨胀导致输出质量下降)
– 高可靠性要求的代码审查流程
目标用户:
– 安全研究员 / 逆向工程师
– 使用 Claude Code / Codex / OpenCode 的专业开发者
– 需要对 AI 生成代码做质量把关的工程团队
– 任何对 AI 幻觉率零容忍的技术团队
输入与输出示例
输入:
reverify verify malware.exe --claim '{
"kind": "export_table",
"function_name": "DecryptPayload",
"offset": 8192
}'
输出:
{
"status": "VERIFIED",
"evidence": "export table entry at RVA 0x2000 (= file offset 8192): DecryptPayload",
"tool": "parse-pe",
"tool_version": "pure-python"
}
输入(代码等价性验证):
reverify equiv --lang python --candidate ./ai_refactor.py --reference ./original.py
输出:
{
"status": "REFUTED",
"input": "[1, 2, 3]",
"candidate_output": "[3, 2, 1]",
"reference_output": "[1, 2, 3]",
"note": "AI output reverses list; reference preserves order"
}
评论区
登录后可评论。