RESCUE: Retrieval Augmented Secure Code Generation

📄 arXiv: 2510.18204v1 📥 PDF

作者: Jiahao Shi, Tianyi Zhang

分类: cs.CR, cs.LG, cs.SE

发布日期: 2025-10-21


💡 一句话要点

RESCUE:提出检索增强的安全代码生成框架,提升LLM代码安全性。

🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture) 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 安全代码生成 检索增强生成 大型语言模型 知识库构建 程序切片

📋 核心要点

  1. 现有大型语言模型生成的代码存在安全漏洞,传统检索增强生成方法难以有效利用安全知识。
  2. RESCUE框架通过混合知识库构建和分层多方面检索,提升检索的准确性和全面性。
  3. 实验结果表明,RESCUE在安全代码生成方面显著优于现有方法,SecurePass@1指标平均提升4.8个点。

📝 摘要(中文)

大型语言模型(LLM)在代码生成方面取得了显著进展,但生成的代码仍然存在安全漏洞。检索增强生成(RAG)通过整合外部安全知识,有潜力增强LLM的安全代码生成能力。然而,传统的RAG设计难以应对原始安全相关文档中的噪声,并且现有的检索方法忽略了任务描述中隐含的重要安全语义。为了解决这些问题,我们提出了RESCUE,一种用于安全代码生成的新型RAG框架,它具有两个关键创新。首先,我们提出了一种混合知识库构建方法,该方法结合了LLM辅助的聚类-总结提炼与程序切片,从而生成高级安全指南和简洁的、以安全为中心的代码示例。其次,我们设计了一种分层多方面检索,以自顶向下地遍历构建的知识库,并在每个层次上整合多个安全关键事实,从而确保全面而准确的检索。我们在四个基准测试上评估了RESCUE,并将其与六个LLM上的五种最先进的安全代码生成方法进行了比较。结果表明,RESCUE将SecurePass@1指标平均提高了4.8个点,从而为安全性建立了新的最先进的性能。此外,我们进行了深入的分析和消融研究,以严格验证RESCUE中各个组件的有效性。

🔬 方法详解

问题定义:论文旨在解决大型语言模型(LLM)在生成代码时存在的安全漏洞问题。现有的检索增强生成(RAG)方法在应用于安全代码生成时,面临两个主要痛点:一是原始安全文档噪声大,影响检索质量;二是现有检索方法忽略了任务描述中隐含的安全语义,导致检索不全面。

核心思路:RESCUE的核心思路是构建一个高质量的安全知识库,并设计一种能够充分利用该知识库的分层多方面检索方法。通过结合LLM辅助的聚类-总结提炼和程序切片,生成既包含高级安全指南又包含简洁代码示例的知识库。然后,通过分层检索,从不同粒度提取安全信息,确保检索的全面性和准确性。

技术框架:RESCUE框架主要包含两个阶段:知识库构建和检索增强生成。知识库构建阶段,首先利用LLM对安全文档进行聚类和总结,提取高级安全指南;然后,通过程序切片提取安全相关的代码片段。检索增强生成阶段,采用分层多方面检索,首先根据任务描述检索高级安全指南,然后检索相关的代码示例,最后将检索到的信息输入LLM,生成安全的代码。

关键创新:RESCUE的关键创新在于混合知识库构建和分层多方面检索。混合知识库构建结合了LLM的语义理解能力和程序切片的精确性,生成高质量的安全知识。分层多方面检索能够从不同粒度提取安全信息,有效应对任务描述中隐含的安全语义,提高检索的全面性和准确性。

关键设计:在知识库构建阶段,使用了LLM进行聚类和总结,具体的LLM选择和参数设置未知。在程序切片阶段,使用了特定的切片算法,具体算法未知。在分层检索阶段,设计了多方面的检索策略,具体策略和权重设置未知。损失函数和网络结构等技术细节在论文中未明确说明。

🖼️ 关键图片

fig_0
fig_1

📊 实验亮点

RESCUE在四个基准测试上进行了评估,并与五种最先进的安全代码生成方法进行了比较。实验结果表明,RESCUE显著提升了代码的安全性,SecurePass@1指标平均提高了4.8个点,达到了新的state-of-the-art水平。消融实验验证了混合知识库构建和分层多方面检索的有效性。

🎯 应用场景

RESCUE框架可应用于各种软件开发场景,帮助开发者生成更安全的代码,减少安全漏洞的引入。该研究成果对于提升软件安全性、降低安全风险具有重要意义。未来,该方法可以进一步扩展到其他安全相关的任务,例如漏洞检测、安全审计等。

📄 摘要(原文)

Despite recent advances, Large Language Models (LLMs) still generate vulnerable code. Retrieval-Augmented Generation (RAG) has the potential to enhance LLMs for secure code generation by incorporating external security knowledge. However, the conventional RAG design struggles with the noise of raw security-related documents, and existing retrieval methods overlook the significant security semantics implicitly embedded in task descriptions. To address these issues, we propose RESCUE, a new RAG framework for secure code generation with two key innovations. First, we propose a hybrid knowledge base construction method that combines LLM-assisted cluster-then-summarize distillation with program slicing, producing both high-level security guidelines and concise, security-focused code examples. Second, we design a hierarchical multi-faceted retrieval to traverse the constructed knowledge base from top to bottom and integrates multiple security-critical facts at each hierarchical level, ensuring comprehensive and accurate retrieval. We evaluated RESCUE on four benchmarks and compared it with five state-of-the-art secure code generation methods on six LLMs. The results demonstrate that RESCUE improves the SecurePass@1 metric by an average of 4.8 points, establishing a new state-of-the-art performance for security. Furthermore, we performed in-depth analysis and ablation studies to rigorously validate the effectiveness of individual components in RESCUE.