← 返回全部文章
·约 12 分钟PPT

reverify

配套媒体

本页对应的 PPT 与演示视频

reverify-recommend.mp4
PPT
reverify-recommend.pptx浏览器不能直接打开 PPT,下载后用 PowerPoint / WPS / Keynote 查看
下载没反应?点这里复制直链

侧边栏预览窗口(Electron webview)会拦截下载,把下面的链接复制到 Chrome / Edge 地址栏打开即可保存。

PPT../../reverify-recommend.pptx
视频../../reverify-recommend.mp4
本文目录
  1. 🚀 什么是 reverify?
  2. ✨ 核心功能一览
  3. 🛠️ 5 分钟跑通:装上就能"提问 + 验证"
  4. 安装(纯 Python,开箱即用)
  5. 命令行试用(一条命令自动分诊任意二进制)
  6. MCP 接入(让 Claude Code / Cursor 直接调用)
  7. 📊 与 常见方案 对比
  8. 💡 适用场景
  9. 演示 1:抓住 LLM 的"教科书级先验错误"
  10. 演示 2:CI 门禁——任何 REFUTED 直接 build 失败
  11. 演示 3:跨会话"事实账本"——/clear 不丢已验证事实
  12. 用户群体总结
  13. 💰 定价方案
  14. 🎯 总结

📌 核心价值:让字节为 AI 代理的每一个推断背书,反幻觉不再靠模型自觉

一个把"假设—验证—修正"做成闭环的开源工具,让 Claude Code/Cursor 在做二进制逆向时,每个断言都对得上真实字节。

封面图


🚀 什么是 reverify?

reverify 是一个面向 AI 代理的反幻觉验证框架,专门解决 LLM 在二进制分析场景下的"自信瞎编"问题。当 AI 代理尝试还原一个 PE 文件的函数结构、偏移量或反汇编指令时,它会基于训练先验自信地给出结果——而这些结果经常是错的。

reverify 的核心思路是分工反转:模型只负责提出假设(claim),一套由纯 Python 实现的确定性逆向工具箱充当裁判,对真实字节做反汇编、模式匹配、CPU 模拟执行,结论只有三种状态——VERIFIED(对得上字节)、REFUTED(字节不同意)、INCONCLUSIVE(工具无法判定)。每个判定都附带字节级证据:实际观察到的字节、SHA-256 接收、引擎版本号。

核心定位:把"验证"从模型的自觉变成工具的职责,结论必须对得上真实字节才算数。

GitHub 仓库:2akouwu/reverify(⭐ 891+,MIT,v0.9.0 已发布)


✨ 核心功能一览

功能对比表


🛠️ 5 分钟跑通:装上就能"提问 + 验证"

安装(纯 Python,开箱即用)

# 安装 CLI + MCP server(PyPI)
pip install reverify

# 安装可选后端引擎(推荐)
pip install "reverify[full]"   # capstone + unicorn + lief + z3
pip install "reverify[angr]"   # 函数边界 / 调用图 / 交叉引用

命令行试用(一条命令自动分诊任意二进制)

# 自动识别格式 + 架构 + 节区 + 关键字符串
reverify auto sample.bin --json

# 解析 PE32/PE32+ 头、导入导出
reverify parse-pe sample.exe --json

# 反汇编指定偏移(x86_64)
reverify disasm 90505831C0C0C3 --arch x86_64

# 让 Agent 自己跑:reconstruct 闭环
reverify reconstruct target.exe --goal "map the loader"

MCP 接入(让 Claude Code / Cursor 直接调用)

把 MCP server 挂到 Claude Code 或 Cursor 的 MCP 配置里,Agent 即可调用 re_verify_claim、re_parse、re_ledger 等工具:

# 启动 MCP server
python reverify/mcp_server.py

配置示例(Claude Code):

{
  "mcpServers": {
    "reverify": {
      "command": "python",
      "args": ["-m", "reverify.mcp_server"]
    }
  }
}

注意:所有 verify 命令在出现 REFUTED 时退出码非零,可直接用作 CI 门禁。


📊 与 常见方案 对比

reverify vs 常见方案对比

一句话总结:reverify 把"软件工程里的测试即真相"原则搬进了 Agent 工作流——任何结论都必须经过字节级工具验证,模型越自信的工具调用越多,反而越难逃过验证。


💡 适用场景

演示 1:抓住 LLM 的"教科书级先验错误"

reverify 在 kernel32.dll 上抓到模型的教科书级先验错误

场景:让 AI 代理还原 kernel32.dll 的入口点 prologue(汇编开头几个指令)。

问题:模型从训练文本中拿到了强先验——push rbp; mov rbp, rsp; sub rsp, N(经典的栈帧 prologue)。它很自信地写下来。

reverify 介入:

  • 第 1 轮:模型提交 ["push", "mov", "sub"] 的指令序列
  • 工具读出真实字节:mov [rsp+8], rbx; push rdi; sub rsp, 0x20; mov edi, edx; mov rbx, rcx
  • 状态:REFUTED —— 字节不同意
  • 第 2 轮:模型基于字节证据修正为 MSVC x64 真实 prologue
  • 状态:VERIFIED ✓ Grounded

实测结果:在 71 个真实 Windows DLL 上,教科书式猜测100% 失败(71/71),reverify 0 误判(从不放过一个错的,也从不冤枉一个对的)。

输入:PE/ELF/Mach-O 二进制 + Agent 的结构化假设(JSON 格式的 claim) 输出:VERIFIED / REFUTED / INCONCLUSIVE + 字节证据


演示 2:CI 门禁——任何 REFUTED 直接 build 失败

场景:把二进制分析做成 CI pipeline,每次 PR 都跑回归。

# CI 里跑(任何 REFUTED 都让 exit code 非零)
reverify verify target.dll --claims-file claims.json
echo "exit=$?"  # 0=全部通过,>0=存在 REFUTED,build 红

关键证据:项目自身的 CI 在每次 push 时都跑 benchmark,任何已知错判都会让 build 失败。基准覆盖:

  • 475 个已知-false claims → 0 假阳性 VERIFIED
  • 全部已知-true claims → 0 漏检
  • Linux / macOS / Windows / aarch64 四平台交叉验证
  • 夜间 fuzz 任务跑 2 万个畸形文件

输入:claims.json(声明列表) 输出:exit code 0/非零 + 每条 claim 的 verdict 与证据


演示 3:跨会话"事实账本"——/clear 不丢已验证事实

场景:Agent 长任务做逆向分析,需要经过多次 /clear 或自动 compaction。

痛点:所有 Agent harness 都有一个共同缺陷——模型把整个 transcript 总结一下,丢掉的部分里有真有假,下次重开又被假结论"传染"。

reverify 解法:从 v0.8.0 开始,每次 verify round 都把已验证事实 + 已 refute 事实写到 .reverify/ledger/<sha256>.json(按文件 SHA-256 索引,副本共享账本)。压缩或 /clear 后重新挂载:

reverify reconstruct target.exe --goal "..."   # 自动从 .reverify/ledger/ 恢复
reverify ledger target.exe                     # 查看已建立事实 + KNOWN FALSE 列表
reverify ledger --hook                         # Claude Code SessionStart hook

关键设计:账本里只存工具验证/观察/证明/refute 的结论,模型自己说的话永远不被信任,所以重开 session 也不会把幻觉传染下去。

输入:二进制文件 + 历史会话 输出:跨会话持久化的"已验证事实 + 已知错误"账本


用户群体总结

  • ✅ 做恶意软件分析 / CTF / 互操作性研究的逆向工程师:一个编造的偏移量代价巨大,reverify 给出字节级证据
  • ✅ 在 Claude Code / Cursor 里用 Agent 处理二进制任务的开发者:MCP server 即插即用
  • ✅ 研究 Agent 可靠性 / 上下文工程的工程师:"确定性工具当裁判、已验证事实跨上下文存活"是一个可推广范式
  • ❌ 不适合:替代 Ghidra / IDA Pro——reverify 是 Agent 验证层,不是重型分析 GUI

💰 定价方案

完全免费 + 开源(MIT)。

  • 核心(pure-Python):pip install reverify 即可开箱,无需任何外部依赖
  • 完整引擎(推荐):pip install "reverify[full]" 自动加 capstone + unicorn + lief + z3
  • angr 语义层:pip install "reverify[angr]" 接入函数边界 / 调用图 / 交叉引用
  • SLSA build provenance:每个 release 都带构建来源 attestation,可验证可追溯

💡 新用户福利:pip install reverify 后无需任何 API key——模型通过 --driver claude 复用 Claude Code 登录,或 openai 走 OpenAI 兼容端点,mock 模式零依赖可演示。

开源协议: MIT


🎯 总结

reverify 不是一个普通的逆向工具——它重新定义了 Agent 与工具的协作边界:

  1. 模型只管提议,工具负责验证
  2. 每个结论都带字节证据 + SHA-256 接收,可移交可复现
  3. CI 门禁 + 跨会话账本,让 Agent 在长任务里不会"幻觉累积"

实测数据:71 个真实 Windows DLL 上,LLM 教科书猜测 100% 失败,reverify 零误判。

推荐指数: ⭐⭐⭐⭐⭐(满分5星,反幻觉范式级工程实践)

适合人群: 任何用 LLM 做逆向 / 二进制分析的工程师 + 研究 Agent 可靠性的研究者

立即体验:

pip install reverify
reverify auto sample.bin --json

GitHub 仓库: 2akouwu/reverify


数据截至 2026-09-05,最新信息请以 GitHub README 为准。