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.
Ссылки и действия
Дополнительные ресурсы: