arrow
返回

Towards Secure Code Generation With LLMs: A Study on Common Weakness Enumeration

delete2025-10-09
delete0
PRE
AI
J
Jianguo Zhao
Y
Yuqiang Sun
C
Cheng Huang
刘成伟 封面图
刘成伟 (Chengwei Liu)
Y
YaoHui Guan
Y
Yutong Zeng
刘
刘洋 (Yang Liu)
DOI:10.1109/TSE.2025.3619281delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
自动化代码生成已彻底改变了软件开发,使开发者能够显著加速项目周期并大幅减少手动编码错误。随着对这些技术的依赖性增强,生成代码的固有弱点日益凸显。近期研究表明,由AI生成的代码在安全性和质量上并不天然优于人工编写的代码,常常复制现有漏洞。为此,我们提出SecureCoder,该系统将检索增强生成(RAG)与常见弱点枚举(CWE)相结合。SecureCoder首先利用大型语言模型(LLMs)的高级推理能力,生成代码核心业务逻辑和功能的自然语言描述。然后,从语义角度出发,通过多标签分类过程将代码生成任务的需求与CWE描述进行匹配。最后,基于匹配的CWE,SecureCoder生成代码生成模型必须遵循的安全指南列表。将端到端的代码生成任务分解为LLMs擅长的单目标任务,确保生成的代码不仅满足功能需求,还遵循最佳安全实践,从而增强自动化代码生成过程的可解释性。在针对2种编程语言和7种LLMs对Coploit生成的代码进行评估后,SecureCoder展现出强大的泛化能力,可应用于更多编程语言和漏洞类型。SecureCoder能够显著降低AI生成代码中的安全弱点,并能缓解超过65%的软件开发者暴露的漏洞。与基准开源LLMs相比,代码漏洞减少了至少14%,且未影响代码的业务逻辑。
Keyword:
Code generation
large language model
Common Weakness Enumerations (CWEs)

期刊

IEEE Transactions on Software Engineering 封面图
IEEE Transactions on Software Engineering
IF:
5.6
论文数:
2.9K
被引数:
1.1W

机构

B
Beijing Language and Culture University
学者数:
140
论文数: 94
被引数: 246
N
Nanyang Technological University
学者数:
4.9W
论文数: 4.8W
被引数: 8.1W
S
sichuan university
学者数:
12.1W
论文数: 7.8W
被引数: 100
学者 查看更多机构
引用论文

引用论文

err分享
err收藏
学者 查看更多内容