中文

ImportSnare: 检索增强代码生成中的定向"代码手册"劫持

密码学与安全 2025-09-10 v1 人工智能

摘要

代码生成已成为大型语言模型(LLMs)的关键能力,彻底改变了各技能水平程序员的开发效率。然而,数据结构和算法逻辑的复杂性常常导致生成代码的功能缺陷和安全漏洞,使其退化为需要大量手动调试的原型。虽然检索增强生成(RAG)可以通过利用外部代码手册来提升正确性和安全性,但它同时引入了新的攻击面。在本论文中,我们开创性地探索了检索增强代码生成(RACG)中的攻击面,重点关注恶意依赖劫持。我们展示了包含隐藏恶意依赖(例如 matplotlib_safe)的投毒文档如何颠覆 RACG,利用双重信任链:LLM 对 RAG 的依赖以及开发者对 LLM 建议的盲目信任。为了构建投毒文档,我们提出了 ImportSnare,一个新型攻击框架,采用两种协同策略:1)位置感知波束搜索优化隐藏排序序列以提升投毒文档在检索结果中的排名,2)多语言归纳建议生成越狱序列以操控 LLM 推荐恶意依赖。通过在 Python、Rust 和 JavaScript 上的广泛实验,ImportSnare 在总体上实现了显著的攻击成功率(针对 matplotlib 和 seaborn 等热门库超过 50%),并且即使投毒比例低至 0.01% 也能成功,针对自定义和真实世界的恶意包。我们的发现揭示了 LLM 驱动开发中的关键供应链风险,凸显了代码生成任务中安全对齐的不足。为支持未来研究,我们将发布多语言基准套件和数据集。项目主页为 https://importsnare.github.io。

关键词

引用

@article{arxiv.2509.07941,
  title  = {ImportSnare: Directed "Code Manual" Hijacking in Retrieval-Augmented Code Generation},
  author = {Kai Ye and Liangcai Su and Chenxiong Qian},
  journal= {arXiv preprint arXiv:2509.07941},
  year   = {2025}
}

备注

This paper has been accepted by the ACM Conference on Computer and Communications Security (CCS) 2025