[Paper] 用于已剥离二进制分析的跨模态检索模型
发布: (2025年12月11日 GMT+8 15:58)
6 min read
原文: arXiv
Source: arXiv - 2512.10393v1
概览
本文提出了 BinSeek,一种新颖的两阶段跨模态检索系统,允许开发者使用自然语言查询在海量的去符号二进制函数中搜索。通过在原始二进制代码(缺少符号和注释)与人类可读描述之间架起桥梁,BinSeek 使大规模二进制分析在安全相关工作流中更加交互式和实用。
主要贡献
- 首个针对去符号二进制的跨模态检索框架——直接将二进制代码映射到自然语言语义,无需依赖源代码层面的信息。
- BinSeekEmbedding 模型——在大规模合成数据集上训练,学习二进制片段与文本描述的联合嵌入。
- BinSeek‑Reranker——二阶段模型,利用上下文增强对 top‑k 候选进行细化,显著提升相关性判断。
- LLM 驱动的数据合成流水线——自动大规模生成高质量的二进制‑文本对,免去昂贵的人工标注。
- 全新去符号二进制检索基准——提供标准化数据集和评估指标,为该细分领域的后续研究奠定基础。
- 领先的性能——在 Recall@3 上提升 31.42 %,在 MRR@3 上提升 27.17 %,并且超越参数量大 16 倍的通用模型。
方法论
- 数据生成——通过提示 LLM 为大量已编译函数(无符号)生成自然语言描述。流水线还会注入真实的变体(如不同编译器选项、优化级别),提升鲁棒性。
- 嵌入阶段(BinSeekEmbedding)——基于 Transformer 的编码器并行处理原始二进制字节(视为 token 序列)和文本描述,学习共享的潜在空间,使语义相关的配对距离更近。对比损失驱动对齐。
- 候选检索——查询时对描述进行编码,使用快速近似最近邻搜索(如 FAISS)返回 top‑k 二进制函数。
- 重排序阶段(BinSeek‑Reranker)——将 top‑k 候选输入第二个 Transformer,结合上下文增强(如相邻函数、控制流图)生成精细的相关性得分。最终排序即呈现给用户的结果。
整个流水线可在普通 GPU 上端到端运行,并可集成到现有的 LLM‑agent 安全工具中。
结果与发现
| 指标 | BinSeek | 同规模基线 | 参数量大 16 倍的通用模型 |
|---|---|---|---|
| Recall@3 | 0.84 | 0.64 | 0.71 |
| MRR@3 | 0.78 | 0.61 | 0.68 |
- 相对提升 31.42 %(Recall@3)和 27.17 %(MRR@3),相较于最强同尺寸基线。
- 重排序器贡献约 12 % 的整体提升,验证了即使嵌入已捕获语义相似性,上下文仍然重要。
- 消融实验表明,合成数据质量(LLM 提示工程)与下游检索性能直接相关。
实际意义
- 安全工具——将 BinSeek 集成到漏洞扫描器或恶意软件分析平台,使分析员能够输入“解密网络流量的函数”,即时检索匹配的去符号二进制。
- LLM‑agent 工作流——代理现在可以获取具体代码片段作为推理证据,提升可解释性并降低误报。
- 逆向工程自动化——大型代码库(如固件镜像)可一次性索引,随后多次查询无需重新反汇编,节省数小时人工工作。
- 跨团队协作——开发者可以为二进制组件共享自然语言标签,实现类似源码仓库中代码搜索的“按描述搜索”体验。
局限性与未来工作
- 合成偏差——训练数据全部由 LLM 生成,可能遗漏真实恶意软件中罕见或高度混淆的模式。
- 二进制多样性——当前实验聚焦于使用常见工具链编译的 x86/ARM 二进制;对异构架构或自定义打包器尚未验证。
- 重排序的可扩展性——虽然第一阶段可扩展至数百万函数,重排序器仍需对每次查询的 top‑k 进行 GPU 推理,可能成为超大仓库的瓶颈。
- 未来方向——作者提出可加入动态分析痕迹、扩展至多模态输入(如反编译的伪代码),以及在真实标注数据上微调,以缩小合成‑真实差距。
作者
- Guoqiang Chen
- Lingyun Ying
- Ziyang Song
- Daguang Liu
- Qiang Wang
- Zhiqi Wang
- Li Hu
- Shaoyin Cheng
- Weiming Zhang
- Nenghai Yu
论文信息
- arXiv ID: 2512.10393v1
- 分类: cs.SE, cs.AI
- 发表时间: 2025 年 12 月 11 日
- PDF: Download PDF