# Lares：面向补丁存在性测试的大语言模型驱动代码切片语义搜索

> Lares 在不重新编译项目的情况下，测试目标二进制函数中是否已包含某个已知 1-day 漏洞的修复。其输入为目标二进制、项目源码和补丁提交差异。补丁增强步骤借助 Tree-sitter 与 Joern 从源码中为改动语句较少的补丁补充数据流和控制流上下文。随后由大语言模型在目标函数的 IDA Pro 反编译伪代码中定位与每个补丁切片对应的伪代码切片。最后，匹配的切片被规范化为等式并交由 Z3 SMT 求解器检验等价性，Z3 无法建模的情况由大语言模型判断，从而确定该函数对应修复前版本还是已修复版本。在来自 OpenSSL、FreeType、tcpdump 和 libxml2 中 73 个 CVE 的 4,480 个测试用例上（使用 GCC 9.4.0 和 Clang 6 以 O0–O3 为 x86、x64 与 ARM 编译），作者报告使用 Claude 3.5 Sonnet 时 x86 上的平均 F1 为 0.77，Robin 与 PS3 分别为 0.67 和 0.68；在五种编译器—架构组合下 F1 为 0.71 至 0.77。

- 作者：Siyuan Li; Yaowen Zheng; Hong Li; Jingdong Guo; Chaopeng Dong; Chunpeng Yan; Weijie Wang; Yimo Ren; Limin Sun; Hongsong Zhu
- 原标题：Lares: LLM-driven Code Slice Semantic Search for Patch Presence Testing
- 发表载体：ASE 2025
- 发表状态：会议论文
- 出版／提交日期：2025 年（具体日期未核实）
- 日期依据：出版年份依据 IEEE 为 2025 年 ASE 论文集提交的 Crossref 元数据。其中唯一的日期 2025-11-16 是 11 月 16–20 日会议的首日，因此本条目不主张出版月份或日期，也不以 arXiv 日期替代。
- arXiv 首次提交：2025 年 11 月 3 日
- arXiv：2511.01252
- 已复核的 arXiv 版本：v1
- DOI：10.1109/ASE63991.2025.00081
- 来源复核于：2026-10-19
- 收录于：2026-10-28
- 原始论文：<https://ieeexplore.ieee.org/document/11334274>
- PDF：<https://arxiv.org/pdf/2511.01252v1>
- 代码：<https://github.com/Siyuan-Li201/Lares>
- BibTeX：<https://awesomerea.org/papers/citations/paper-lares.bib>
- 目录页面：<https://awesomerea.org/zh/papers/paper-lares/>
- 记录 JSON：<https://awesomerea.org/papers/paper-lares/record.json>
- 英文版：[English](https://awesomerea.org/papers/paper-lares/index.md)

## 研究范围与局限

Lares 回答的问题范围很窄：给定某个 CVE 的补丁差异、带有版本历史的项目源码以及候选函数，判断该函数属于修复前版本还是已修复版本。它同时需要补丁差异与项目源码，并假定已由另外的二进制代码相似性工具（论文以 BinaryAI 为例）定位候选函数。它不负责发现漏洞函数、挖掘新漏洞或比较任意二进制。其判断依赖大语言模型与基于反编译伪代码的 SMT 推理：Z3 只能处理约 21% 的测试用例（仅用 Z3 验证时召回率为 0.221），多数判断来自大语言模型；作者列出的失败原因包括大语言模型在比较时产生幻觉、隐蔽的修改型补丁以及重复出现的补丁语句。结果使用 IDA Pro 7.5 与商用模型，每个用例约花费 0.20 美元；GPT-3.5-Turbo 与 DeepSeek-Coder 的得分更低。评测覆盖四个 C 项目、73 个 CVE 及作者自行编译的二进制，另以 2024 年 10 月之后披露的 20 个漏洞（400 个用例）检验训练数据污染；未评测固件、其他语言或真实厂商构建。仓库没有许可证文件，因此未授予任何复用条款。

## 与本合集的关联

为反编译与二进制分析研究补充二进制补丁存在性测试方向，利用大语言模型在反编译伪代码中定位切片；它与精选目录中的 BinDiff 差异比较工具互补，而非替代。

## 发表与复核说明

IEEE 提交的 Crossref 元数据列出 2025 年第 40 届 IEEE/ACM ASE 论文集、第 919–931 页，以及顺序相同的十位作者；该 DOI 解析至 IEEE Xplore 文档 11334274。arXiv v1（2025-11-03）是唯一版本，且没有发表场所注释，可能与 IEEE 版本存在差异。摘要链接了 Siyuan-Li201/Lares；在 2025-09-16 提交中，仓库没有许可证文件，其 README 将输入列为二进制、项目源码路径和补丁差异文件。仓库提交了已剥离符号的 OpenSSL 测试构建的 IDA 数据库、tcpdump、FreeType 与 libxml2 的源码压缩包及补丁文件，并通过 Google Drive 链接评测用二进制；运行时需要在 settings.py 中设置 IDA Pro 7.5 路径与大语言模型 API 密钥。settings.py 预置了第三方 API 中转服务及作者提供的测试密钥。

## 一手来源

1. <https://ieeexplore.ieee.org/document/11334274>
2. <https://api.crossref.org/works/10.1109/ASE63991.2025.00081>
3. <https://arxiv.org/abs/2511.01252>
4. <https://arxiv.org/pdf/2511.01252v1>
5. <https://github.com/Siyuan-Li201/Lares/blob/b6ca6316f65c706cd21f0febfae87cabc668ef79/README.md>
6. <https://github.com/Siyuan-Li201/Lares/tree/b6ca6316f65c706cd21f0febfae87cabc668ef79/code>
7. <https://github.com/Siyuan-Li201/Lares/tree/b6ca6316f65c706cd21f0febfae87cabc668ef79/patch>

## 关于此条目

已依据论文及一手来源复核。请通过原始论文或 BibTeX 引用原作者。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
