Case Study: Fine-tuning Small Language Models for Accurate and Private CWE Detection in Python Code
By: Md. Azizul Hakim Bappy , Hossen A Mustafa , Prottoy Saha and more
Potential Business Impact:
Finds computer bugs locally, safely, and fast.
Large Language Models (LLMs) have demonstrated significant capabilities in understanding and analyzing code for security vulnerabilities, such as Common Weakness Enumerations (CWEs). However, their reliance on cloud infrastructure and substantial computational requirements pose challenges for analyzing sensitive or proprietary codebases due to privacy concerns and inference costs. This work explores the potential of Small Language Models (SLMs) as a viable alternative for accurate, on-premise vulnerability detection. We investigated whether a 350-million parameter pre-trained code model (codegen-mono) could be effectively fine-tuned to detect the MITRE Top 25 CWEs specifically within Python code. To facilitate this, we developed a targeted dataset of 500 examples using a semi-supervised approach involving LLM-driven synthetic data generation coupled with meticulous human review. Initial tests confirmed that the base codegen-mono model completely failed to identify CWEs in our samples. However, after applying instruction-following fine-tuning, the specialized SLM achieved remarkable performance on our test set, yielding approximately 99% accuracy, 98.08% precision, 100% recall, and a 99.04% F1-score. These results strongly suggest that fine-tuned SLMs can serve as highly accurate and efficient tools for CWE detection, offering a practical and privacy-preserving solution for integrating advanced security analysis directly into development workflows.
Similar Papers
Secret Breach Detection in Source Code with Large Language Models
Software Engineering
Finds secret codes hidden in computer programs.
Benchmarking Large Language Models for Multi-Language Software Vulnerability Detection
Software Engineering
Finds hidden bugs in computer code.
An Initial Exploration of Fine-tuning Small Language Models for Smart Contract Reentrancy Vulnerability Detection
Software Engineering
Finds coding mistakes in smart contracts.