DeepGuard: Secure Code Generation via Multi-Layer Semantic Aggregation

📄 arXiv: 2604.09089v1 📥 PDF

作者: Li Huang, Zhongxin Liu, Yifan Wu, Tao Yin, Dong Li, Jichao Bi, Nankun Mu, Hongyu Zhang, Meng Yan

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

发布日期: 2026-04-10

备注: ACL 2026 main conference

🔗 代码/项目: GITHUB


💡 一句话要点

DeepGuard:通过多层语义聚合实现安全的代码生成。

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 代码生成 大型语言模型 安全漏洞 多层语义聚合 注意力机制

📋 核心要点

  1. 现有代码生成LLM易复制训练数据中的不安全模式,而基于最终层微调的方法存在信息瓶颈。
  2. DeepGuard通过注意力机制聚合多层Transformer的表示,提取分布式的安全相关线索,提升安全性。
  3. 实验表明,DeepGuard在多个代码LLM上,相较于SVEN等基线,安全且正确的代码生成率平均提升11.9%。

📝 摘要(中文)

用于代码生成的大型语言模型(LLMs)可能会复制其训练数据中的不安全模式。为了缓解这个问题,一种常见的安全加固策略是使用从最终Transformer层导出的监督信息来微调模型。然而,这种设计可能受到最终层瓶颈的影响:漏洞判别线索可能分布在各个层中,并且在为下一个token预测而优化的输出表示附近变得不太容易检测。为了诊断这个问题,我们执行了分层线性探测。我们观察到,与漏洞相关的信号在中间到上层的频带中最容易检测到,但会向下衰减到最终层。受此观察的启发,我们引入了DeepGuard,这是一个框架,它通过基于注意力的模块聚合来自多个上层的表示,从而利用分布式安全相关线索。聚合信号为多目标训练目标中的专用安全分析器提供支持,该目标平衡了安全性增强和功能正确性,并进一步支持轻量级的推理时指导策略。在五个代码LLM上的大量实验表明,与SVEN等强大的基线相比,DeepGuard将安全和正确的生成率平均提高了11.9%。它还在保持功能正确性的同时,表现出对保留漏洞类型的泛化能力。我们的代码已在https://github.com/unknownhl/DeepGuard上公开。

🔬 方法详解

问题定义:论文旨在解决大型语言模型(LLMs)在代码生成过程中存在的安全漏洞问题。现有的安全强化方法,特别是那些依赖于最终Transformer层输出进行微调的方法,可能无法充分捕捉模型内部各层分散的安全相关信息,导致安全性能受限。这种“最终层瓶颈”使得模型难以有效识别和避免生成包含漏洞的代码。

核心思路:DeepGuard的核心思路是通过聚合来自多个Transformer层的表示来克服最终层瓶颈。它认为,与安全漏洞相关的线索并非集中在最终层,而是分散在模型的多个中间层到上层。因此,通过有效地整合这些分布式信息,可以更准确地识别和缓解代码中的安全风险。

技术框架:DeepGuard框架包含以下主要组成部分:1) 多层表示提取:从LLM的多个上层提取Transformer层的表示。2) 注意力聚合模块:使用基于注意力的机制,对提取的各层表示进行加权聚合,突出显示与安全相关的特征。3) 安全分析器:利用聚合后的表示,对生成的代码进行安全分析,判断是否存在潜在漏洞。4) 多目标训练:采用多目标训练策略,同时优化代码的功能正确性和安全性。5) 推理时指导:在代码生成过程中,利用安全分析器的结果,对生成过程进行轻量级的指导,避免生成不安全的代码。

关键创新:DeepGuard的关键创新在于其多层语义聚合方法。与仅依赖最终层输出的传统方法不同,DeepGuard能够利用模型内部各层更丰富的安全相关信息,从而更有效地识别和缓解代码中的安全漏洞。此外,基于注意力的聚合模块能够自适应地学习不同层表示的重要性,进一步提升了安全分析的准确性。

关键设计:DeepGuard的关键设计包括:1) 层选择策略:选择哪些Transformer层进行聚合是一个重要参数,论文通过实验确定了最佳的层范围。2) 注意力机制:采用了标准的注意力机制,用于对不同层的表示进行加权聚合。3) 损失函数:多目标损失函数包含功能正确性损失和安全损失,用于平衡模型的性能和安全性。4) 推理时指导策略:在推理阶段,根据安全分析器的结果,调整生成概率分布,降低生成不安全代码的概率。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,DeepGuard在五个代码LLM上,与SVEN等强大的基线相比,安全且正确的代码生成率平均提高了11.9%。此外,DeepGuard在保持功能正确性的同时,还表现出对未见过的漏洞类型的泛化能力,证明了其在实际应用中的有效性。

🎯 应用场景

DeepGuard可应用于各种需要安全代码生成的场景,例如软件开发、自动化代码生成、智能合约编写等。通过提高代码的安全性,可以减少软件漏洞,降低安全风险,并提升软件系统的整体可靠性。该研究对于构建更安全的软件生态系统具有重要意义。

📄 摘要(原文)

Large Language Models (LLMs) for code generation can replicate insecure patterns from their training data. To mitigate this, a common strategy for security hardening is to fine-tune models using supervision derived from the final transformer layer. However, this design may suffer from a final-layer bottleneck: vulnerability-discriminative cues can be distributed across layers and become less detectable near the output representations optimized for next-token prediction. To diagnose this issue, we perform layer-wise linear probing. We observe that vulnerability-related signals are most detectable in a band of intermediate-to-upper layers yet attenuate toward the final layers. Motivated by this observation, we introduce DeepGuard, a framework that leverages distributed security-relevant cues by aggregating representations from multiple upper layers via an attention-based module. The aggregated signal powers a dedicated security analyzer within a multi-objective training objective that balances security enhancement and functional correctness, and further supports a lightweight inference-time steering strategy. Extensive experiments across five code LLMs demonstrate that DeepGuard improves the secure-and-correct generation rate by an average of 11.9% over strong baselines such as SVEN. It also preserves functional correctness while exhibiting generalization to held-out vulnerability types. Our code is public at https://github.com/unknownhl/DeepGuard.