Evaluación Comparativa de Modelos de Lenguaje de Gran Escala para la Detección de Vulnerabilidades de Software en Múltiples Idiomas
Benchmarking Large Language Models for Multi-Language Software Vulnerability Detection
March 3, 2025
Autores: Ting Zhang, Chengran Yang, Yindu Su, Martin Weyssow, Hung Nguyen, Tan Bui, Hong Jin Kang, Yikun Li, Eng Lieh Ouh, Lwin Khin Shar, David Lo
cs.AI
Resumen
Los recientes avances en IA generativa han llevado a la adopción generalizada de modelos de lenguaje grandes (LLMs) en la ingeniería de software, abordando numerosos desafíos de larga data. Sin embargo, actualmente falta un estudio exhaustivo que examine las capacidades de los LLMs en la detección de vulnerabilidades de software (SVD), un aspecto crucial de la seguridad del software. Las investigaciones existentes se centran principalmente en evaluar LLMs utilizando conjuntos de datos en C/C++. Por lo general, exploran solo una o dos estrategias entre la ingeniería de prompts, el ajuste de instrucciones y el ajuste fino de clasificación de secuencias para LLMs de código abierto. En consecuencia, existe una brecha de conocimiento significativa respecto a la efectividad de diversos LLMs en la detección de vulnerabilidades en varios lenguajes de programación. Para abordar esta brecha, presentamos un estudio empírico exhaustivo que evalúa el rendimiento de los LLMs en la tarea de SVD. Hemos compilado un conjunto de datos completo que incluye 8,260 funciones vulnerables en Python, 7,505 en Java y 28,983 en JavaScript. Evaluamos cinco LLMs de código abierto utilizando múltiples enfoques, incluyendo ingeniería de prompts, ajuste de instrucciones y ajuste fino de clasificación de secuencias. Estos LLMs se comparan con cinco modelos de lenguaje pequeños ajustados y dos herramientas de prueba de seguridad de aplicaciones estáticas de código abierto. Además, exploramos dos vías para mejorar el rendimiento de los LLMs en SVD: a) Perspectiva de datos: Reentrenar modelos utilizando conjuntos de datos balanceados mediante submuestreo. b) Perspectiva del modelo: Investigar métodos de aprendizaje por ensamblaje que combinen predicciones de múltiples LLMs. Nuestros experimentos exhaustivos demuestran que SVD sigue siendo una tarea desafiante para los LLMs. Este estudio proporciona una comprensión profunda del papel de los LLMs en SVD y ofrece ideas prácticas para futuros avances en el aprovechamiento de la IA generativa para mejorar las prácticas de seguridad del software.
English
Recent advancements in generative AI have led to the widespread adoption of
large language models (LLMs) in software engineering, addressing numerous
long-standing challenges. However, a comprehensive study examining the
capabilities of LLMs in software vulnerability detection (SVD), a crucial
aspect of software security, is currently lacking. Existing research primarily
focuses on evaluating LLMs using C/C++ datasets. It typically explores only one
or two strategies among prompt engineering, instruction tuning, and sequence
classification fine-tuning for open-source LLMs. Consequently, there is a
significant knowledge gap regarding the effectiveness of diverse LLMs in
detecting vulnerabilities across various programming languages. To address this
knowledge gap, we present a comprehensive empirical study evaluating the
performance of LLMs on the SVD task. We have compiled a comprehensive dataset
comprising 8,260 vulnerable functions in Python, 7,505 in Java, and 28,983 in
JavaScript. We assess five open-source LLMs using multiple approaches,
including prompt engineering, instruction tuning, and sequence classification
fine-tuning. These LLMs are benchmarked against five fine-tuned small language
models and two open-source static application security testing tools.
Furthermore, we explore two avenues to improve LLM performance on SVD: a) Data
perspective: Retraining models using downsampled balanced datasets. b) Model
perspective: Investigating ensemble learning methods that combine predictions
from multiple LLMs. Our comprehensive experiments demonstrate that SVD remains
a challenging task for LLMs. This study provides a thorough understanding of
the role of LLMs in SVD and offers practical insights for future advancements
in leveraging generative AI to enhance software security practices.Summary
AI-Generated Summary