Secure-Instruct:面向安全代码生成的 LLM 指令调优数据集自动合成管道
软件工程
2025-11-25 v2
摘要
虽然大型语言模型 (LLM) 在自动代码生成方面显示出良好的潜力,但它们常常会产生不安全的代码,威胁软件安全。当前方法(如 SafeCoder)受限于小规模、不平衡的指令调优数据集。在本工作中,我们提出了 Secure-Instruct,一种 novel 管道,自动合成高质量的易受攻击和安全代码示例,并对 LLM 进行指令调优,以对齐任务描述与安全代码生成能力。我们在四个代表性 LLM 上进行评估,使用两个与安全相关的基准测试:我们自己的 CWEBench 和现有的 CWEval。CWEBench 包含 93 个场景,覆盖 44 个 CWE,所有情景都与 Secure-Instruct 的合成指令调优数据集不重叠;而 CWEval 覆盖 31 个 CWE,包含 119 个经过手动验证的安全关键任务。我们发现,Secure-Instruct 在代码生成中提升了安全性和功能正确性。在 CWEBench 上,Secure-Instruct 在安全比例上平均提升了 28.5%,并在 SafeCoder 上超越 12.6%。在 CWEeval 上,Secure-Instruct 对 CodeLlama-7B 和 Mistral-7B 在 Func-Sec@1 指标上分别提升了 157.3% 和 46.4%,显著优于 SafeCoder。
引用
@article{arxiv.2510.07189,
title = {Secure-Instruct: An Automated Pipeline for Synthesizing Instruction-Tuning Datasets Using LLMs for Secure Code Generation},
author = {Junjie Li and Fazle Rabbi and Bo Yang and Song Wang and Jinqiu Yang},
journal= {arXiv preprint arXiv:2510.07189},
year = {2025}
}