2akouwu/reverify
Stop your AI from making things up — it proposes, deterministic tools decide, every claim checked against ground truth with evidence. Grounded facts and context survive resets. Reverse engineering is the proving ground. MCP server + CLI.
Reverify – 针对 AI 生成的二进制分析进行确定性验证
它是什么 – 一个纯 Python(带有可选的本地扩展功能)工具包,让语言模型能够针对二进制文件(或源代码)提出事实,然后根据实际文件检查这些事实。验证器会返回 VERIFIED(已验证)、REFUTED(已反驳)或 INCONCLUSIVE(无结论),并附带具体证据(字节、反汇编、模拟结果等)。
为什么重要 – 大型语言模型擅长阅读代码,但在进行二进制逆向工程时经常产生幻觉:它们会虚构结构偏移、函数序言、API 名称等。Reverify 通过执行确定性分析(PE/ELF/Mach‑O 解析、反汇编、模式匹配、CPU 模拟、Protobuf 解析、Frida hook 生成以及可选的 Z3/angr 证明)使模型的声明具有依据。只有当工具能在实际字节上证明该声明时,才会被接受,从而消除了 AI 辅助逆向工程中最大的错误来源。
核心功能
- 确定性核心 – 用于 PE、ELF、Mach‑O 的纯 Python 解析器和反汇编器;x86/x64/ARM/ARM64 反汇编;AOB 扫描;轻量级 CPU 模拟器;protobuf/TLV 解析;Frida hook 生成。无需外部二进制文件。
- 可选的全堆栈后端 –
pip install "reverify[full]"加入 Capstone(高性能反汇编)、Unicorn(真实 CPU 模拟)、LIEF(二进制解析)和 Z3(形式化证明)。pip install "reverify[angr]"加入 angr 用于调用图和交叉引用分析。若未安装这些套件,工具会自动退回到纯 Python 核心。 - 验证循环 – 用户提供一个 claim(描述预期字节、指令、模拟寄存器状态、导出符号等的 JSON)。Reverify 会根据二进制文件检查该声明,并返回判决结果以及包含二进制文件 SHA‑256、工具版本和证据的收据。
- 加权与信息评分 – 每个已验证的声明都会根据其信息量(熵、唯一性)被分配一个权重。只有在没有声明被反驳 且 总权重超过可配置阈值(
--min-information)时,重构才被视为有依据。 - 分类账与转换 (Rollover) – 已验证的事实和已知的错误声明会被持久化到
.reverify/ledger/<sha256>.json。当 AI 代理的上下文窗口即将溢出时,reverify rollover会写入一个仅包含已验证事实的交接文件,允许下一个会话在不丢失可信状态的情况下重新开始。 - 代理原生 MCP 服务器 – Reverify 可以作为 MCP (Model‑Control‑Protocol) 服务器运行,因此 Claude Code、Cursor、Gemini CLI、OpenCode 或任何与 OpenAI 兼容的代理都可以直接调用验证功能。同时也提供纯 CLI。
- 等价性测试 –
reverify equiv <reference> <candidate>在相同的输入上执行两个实现并检查输出是否相符,这对于验证 AI 生成的源代码重构非常有用。
典型工作流程
# 安装核心(或包含完整后端)
pip install reverify # 仅纯 Python
pip install "reverify[full]" # 加入 capstone, unicorn, lief, z3
# 对二进制文件进行快速自动分析
reverify auto sample.bin --json
# 验证特定声明
reverify verify sample.bin --claim '{
"kind": "instructions",
"offset": 4096,
"mnemonics": ["push","mov","sub"],
"note": "function prologue"
}'
# 使用 LLM 驱动程序执行多步骤会话
reverify orchestrate target.exe \
--goal "map the loader: entry, imports it really uses, exports" \
--driver claude
基准测试 – 在 71 个真实的 Windows 系统文件上,语言模型的教科书式序言声明有 97% 的时间是错误的。Reverify 反驳了每一个错误的声明,并且从未错误地验证过一个错误的声明 (0/71)。基准测试会在 Linux、macOS 和 Windows 的 CI 中自动执行,结果发布于 BENCHMARK.md。
安装与使用 – 该套件位于 PyPI (pip install reverify)。核心仅需 Python 标准库即可运行;可选的本地后端通过 extras 安装。CLI 可以直接从 checkout 目录调用 (python reverify/cli.py …)。
安全与授权 – 旨在用于授权的逆向工程(恶意软件分析、CTF、互通性研究或您拥有的软件)。采用 MIT 授权;CI 包含模糊测试和广泛的跨平台测试。提供收据和 SLSA 来源证明以进行可重现的审计。
Reverify 因此提供了一个具体、确定性的防范机制,让 AI 代理能够安全地协助二进制逆向工程和源代码等价性检查,而无需信任模型的幻觉。
相关
- 项目
- 项目
- Dispatch
- 项目
- 项目