LLM-based Vulnerability Discovery through the Lens of Code Metrics

2509.19117v1 cs.CR, cs.LG, cs.SE 2025-09-25
Авторы:

Felix Weissberg, Lukas Pirch, Erik Imgrund, Jonas Möller, Thorsten Eisenhofer, Konrad Rieck

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

#### ## Контекст LLMs (large language models) показали великолепные результаты во многих задачах в области программного обеспечения, включая задачи анализа и понимания кода. Однако, несмотря на их мощь, их потенциал в области нахождения уязвимостей в коде не был полностью освоен. Одним из основных ограничений является неполное понимание, как LLMs работают на этой задаче. Одним из подходов к разъяснению этого вопроса является использование классических метрик кода, которые представляют собой меры простоты и структуры кода. Наша исследовательская мотивация заключается в том, чтобы раскрыть, насколько LLMs полагаются на эти метрики при их работе, и понять, почему они не достигают полного потенциала в этой области. #### ## Метод Методология нашего исследования основывается на сравнении LLMs с классическими метриками кода в задаче отыскания уязвимостей. Мы проводили эксперименты с несколькими LLMs, включая некоторые из самых новых моделей, и сравнивали их с результатами, полученными при использовании только метрик кода. Для обеспечения точности использовались различные данные, включая коды с открытым исходным кодом, а также коды с примесями уязвимостей. Мы экспериментировали с разными метриками, такими как сложность циклов, количество параметров функций и другие, чтобы определить, насколько эти метрики влияют на LLMs. #### ## Результаты Наши эксперименты показали, что LLMs, несмотря на их высокую точность, совпадают в показателях с результатами, полученными только на основе метрик кода. Более того, мы обнаружили, что LLMs не только полагаются на метрики как на свои основные признаки, но и визуализируют их в процессе работы. Это означает, что LLMs в большей степени оперируют на уровне метрик, а не на уровне комплексных структур кода. Это приводит к глубинной зависимости LLMs от этих метрик, что ограничивает их полное использование для нахождения уязвимостей. #### ## Значимость Наши результаты имеют большое значение для различных областей, включая анализ безопасности, где нахождение уязвимостей является ключевым использованием. Мы показали, что хотя LLMs могут быть полезными в этой области, они в основном полагаются на простые метрики, а не на более сложные структуры кода. Это означает, что LLMs могут быть полезны для быстрого скрининга, но для полного анализа уязвимостей требуется более глубокий подход. Эти находки могут помочь улучшить методы использования LLMs в сфере безопасности, а также привести к развитию новых алгоритмов, которые будут учитывать более глубокие структуры кода. #### ## Выводы Мы приходим к выводу, что LLMs, несмотря на их выдающиеся результаты, в основном оперируют на уровне класси

Abstract

Large language models (LLMs) excel in many tasks of software engineering, yet progress in leveraging them for vulnerability discovery has stalled in recent years. To understand this phenomenon, we investigate LLMs through the lens of classic code metrics. Surprisingly, we find that a classifier trained solely on these metrics performs on par with state-of-the-art LLMs for vulnerability discovery. A root-cause analysis reveals a strong correlation and a causal effect between LLMs and code metrics: When the value of a metric is changed, LLM predictions tend to shift by a corresponding magnitude. This dependency suggests that LLMs operate at a similarly shallow level as code metrics, limiting their ability to grasp complex patterns and fully realize their potential in vulnerability discovery. Based on these findings, we derive recommendations on how research should more effectively address this challenge.

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