[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 倍的通用模型。

方法论

  1. 数据生成——通过提示 LLM 为大量已编译函数(无符号)生成自然语言描述。流水线还会注入真实的变体(如不同编译器选项、优化级别),提升鲁棒性。
  2. 嵌入阶段(BinSeekEmbedding)——基于 Transformer 的编码器并行处理原始二进制字节(视为 token 序列)和文本描述,学习共享的潜在空间,使语义相关的配对距离更近。对比损失驱动对齐。
  3. 候选检索——查询时对描述进行编码,使用快速近似最近邻搜索(如 FAISS)返回 top‑k 二进制函数。
  4. 重排序阶段(BinSeek‑Reranker)——将 top‑k 候选输入第二个 Transformer,结合上下文增强(如相邻函数、控制流图)生成精细的相关性得分。最终排序即呈现给用户的结果。

整个流水线可在普通 GPU 上端到端运行,并可集成到现有的 LLM‑agent 安全工具中。

结果与发现

指标BinSeek同规模基线参数量大 16 倍的通用模型
Recall@30.840.640.71
MRR@30.780.610.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
Back to Blog

相关文章

阅读更多 »