Code Vulnerability Detection Across Different Programming Languages with AI Models

2508.11710v1 cs.CR, cs.AI, cs.CL 2025-08-19
Авторы:

Hael Abdulhakim Ali Humran, Ferdi Sonmez

Резюме на русском

#### Контекст Коды программ, написанные на разных языках программирования, часто содержат серьезные уязвимости, которые трудно обнаружить с помощью статических анализаторов. Традиционные алгоритмы, основанные на правилах, некорректно обрабатывают контекстные зависимости и часто генерируют ложные срабатывания. В последние годы искусственный интеллект (AI), особенно преобразовательные модели типа CodeBERT и CodeLlama, показали способность лучше обнаруживать такие уязвимости. Наша исследовательская мотивация заключается в изучении потенциала этих моделей для детектирования уязвимостей в коде на разных языках. Наша цель — показать, как эти модели могут быть применены к разным классам уязвимостей и сравнить их эффективность с существующими анализаторами. #### Метод Мы применяем преобразовательные модели CodeBERT и CodeLlama для детектирования уязвимостей в коде. Наша методология включает следующие этапы: 1. **Сбор данных**: Объединение данных из разных источников, включая уязвимый и безопасный код, для обучения и проверки моделей. 2. **Нормализация языка**: Преобразование кода в формат, пригодный для обработки моделями AI. 3. **Динамическая тюнинг моделей**: Обучение моделей на конкретных классах уязвимостей, учитывая контекст. 4. **Использование ensemble learning**: Сочетание нескольких моделей для улучшения точности. 5. **Применение explainable AI**: Обеспечение прозрачности решений модели. Эти шаги позволяют извлечь максимальную эффективность из моделей и сделать их более доступными для реального применения. #### Результаты Мы провели эксперименты на нескольких наборах данных, сравнивая результаты моделей CodeBERT и CodeLlama с существующими статическими анализаторами. В результатах показано, что CodeBERT может достигать точности выше 97% при детектировании уязвимостей. Однако, мы также выявили, что модель CodeLlama демонстрирует высокую полноту (recall), но значительно нижую точность (precision), что может привести к ложноположительным срабатываниям. Для решения этой проблемы мы использовали hybrid models и тщательные процедуры валидации. Эти меры позволили сократить ложноположительные срабатывания и улучшить общую надежность моделей. #### Значимость Наши результаты имеют широкое применение в области безопасности программного обеспечения. Автоматизированные системы детектирования уязвимостей могут существенно сократить время и ресурсы, потраченные на ручной анализ кода. Важное преимущество AI-моделей заключается в их гибкости и возможности обнаруживать уязвимости в разных языках программирования. Это означает уменьшение затрат на поддержку и адаптацию систем безопасности к новым языкам. Будущие иссле

Abstract

Security vulnerabilities present in a code that has been written in diverse programming languages are among the most critical yet complicated aspects of source code to detect. Static analysis tools based on rule-based patterns usually do not work well at detecting the context-dependent bugs and lead to high false positive rates. Recent developments in artificial intelligence, specifically the use of transformer-based models like CodeBERT and CodeLlama, provide light to this problem, as they show potential in finding such flaws better. This paper presents the implementations of these models on various datasets of code vulnerability, showing how off-the-shelf models can successfully produce predictive capacity in models through dynamic fine-tuning of the models on vulnerable and safe code fragments. The methodology comprises the gathering of the dataset, normalization of the language, fine-tuning of the model, and incorporation of ensemble learning and explainable AI. Experiments show that a well-trained CodeBERT can be as good as or even better than some existing static analyzers in terms of accuracy greater than 97%. Further study has indicated that although language models can achieve close-to-perfect recall, the precision can decrease. A solution to this is given by hybrid models and validation procedures, which will reduce false positives. According to the results, the AI-based solutions generalize to different programming languages and classes of vulnerability. Nevertheless, robustness, interpretability, and deployment readiness are still being developed. The results illustrate the probabilities that AI will enhance the trustworthiness in the usability and scalability of machine-learning-based detectors of vulnerabilities.

Ссылки и действия