ProSec: Fortifying Code LLMs with Proactive Security Alignment

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Xu, Xiangzhe, Su, Zian, Guo, Jinyao, Zhang, Kaiyuan, Wang, Zhenting, Zhang, Xiangyu
Format: Preprint
Veröffentlicht: 2024
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866908395702845440
author Xu, Xiangzhe
Su, Zian
Guo, Jinyao
Zhang, Kaiyuan
Wang, Zhenting
Zhang, Xiangyu
author_facet Xu, Xiangzhe
Su, Zian
Guo, Jinyao
Zhang, Kaiyuan
Wang, Zhenting
Zhang, Xiangyu
contents While recent code-specific large language models (LLMs) have greatly enhanced their code generation capabilities, the safety of these models remains under-explored, posing potential risks as insecure code generated by these models may introduce vulnerabilities into real-world systems. Existing methods collect security-focused datasets from real-world vulnerabilities for instruction tuning in order to mitigate such issues. However, they are largely constrained by the data sparsity of vulnerable code, and have limited applicability in the multi-stage post-training workflows of modern LLMs. In this paper, we propose ProSec, a novel proactive security alignment approach designed to align code LLMs with secure coding practices. ProSec systematically exposes the vulnerabilities in a code LLM by synthesizing vulnerability-inducing coding scenarios from Common Weakness Enumerations (CWEs) and generates fixes to vulnerable code snippets, allowing the model to learn secure practices through preference learning objectives. The scenarios synthesized by ProSec trigger 25x more vulnerable code than a normal instruction-tuning dataset, resulting in a security-focused alignment dataset 7x larger than the previous work. Experiments show that models trained with ProSec are 25.2% to 35.4% more secure compared to previous work without degrading models' utility.
format Preprint
id arxiv_https___arxiv_org_abs_2411_12882
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle ProSec: Fortifying Code LLMs with Proactive Security Alignment
Xu, Xiangzhe
Su, Zian
Guo, Jinyao
Zhang, Kaiyuan
Wang, Zhenting
Zhang, Xiangyu
Cryptography and Security
Computation and Language
Software Engineering
While recent code-specific large language models (LLMs) have greatly enhanced their code generation capabilities, the safety of these models remains under-explored, posing potential risks as insecure code generated by these models may introduce vulnerabilities into real-world systems. Existing methods collect security-focused datasets from real-world vulnerabilities for instruction tuning in order to mitigate such issues. However, they are largely constrained by the data sparsity of vulnerable code, and have limited applicability in the multi-stage post-training workflows of modern LLMs. In this paper, we propose ProSec, a novel proactive security alignment approach designed to align code LLMs with secure coding practices. ProSec systematically exposes the vulnerabilities in a code LLM by synthesizing vulnerability-inducing coding scenarios from Common Weakness Enumerations (CWEs) and generates fixes to vulnerable code snippets, allowing the model to learn secure practices through preference learning objectives. The scenarios synthesized by ProSec trigger 25x more vulnerable code than a normal instruction-tuning dataset, resulting in a security-focused alignment dataset 7x larger than the previous work. Experiments show that models trained with ProSec are 25.2% to 35.4% more secure compared to previous work without degrading models' utility.
title ProSec: Fortifying Code LLMs with Proactive Security Alignment
topic Cryptography and Security
Computation and Language
Software Engineering
url https://arxiv.org/abs/2411.12882