Monday, January 06, 2025

LLM и поиск уязвимостей в коде

"Обнаружение уязвимостей имеет решающее значение для поддержания безопасности программного обеспечения, и недавние исследования изучали использование языковых моделей (LM) для этой задачи. Хотя LM показали многообещающие результаты, их производительность была непоследовательной в разных наборах данных, особенно при обобщении на невидимый код. Более того, большинство исследований были сосредоточены на языке программирования C/C++, с ограниченным вниманием к другим популярным языкам. В этой статье этот пробел устраняется путем исследования эффективности LM для обнаружения уязвимостей в JavaScript, Java, Python, PHP и Go, в дополнение к C/C++ для сравнения. Мы используем набор данных CVEFixes для создания разнообразной коллекции уязвимостей, специфичных для языка, и предварительной обработки данных для обеспечения качества и целостности. Мы тонко настраиваем и оцениваем современные LM для выбранных языков и обнаруживаем, что производительность обнаружения уязвимостей значительно различается. JavaScript демонстрирует наилучшую производительность, со значительно лучшими и более практичными возможностями обнаружения по сравнению с C/C++. Мы также изучаем взаимосвязь между сложностью кода и эффективностью обнаружения на шести языках и обнаруживаем лишь слабую корреляцию между показателями сложности кода и оценками моделей F1." - Vulnerability Detection in Popular Programming Languages with Language Models

"Несмотря на свой замечательный успех, большие языковые модели (LLM) продемонстрировали ограниченные возможности в прикладных задачах, таких как обнаружение уязвимостей. Мы исследуем различные стратегии подсказок для обнаружения уязвимостей и в рамках этого исследования предлагаем стратегию подсказок, которая объединяет описания уязвимостей на естественном языке с подходом к контрастной цепочке рассуждений, дополненным контрастными образцами из синтетического набора данных. Наше исследование подчеркивает потенциал LLM для обнаружения уязвимостей путем интеграции описаний на естественном языке, контрастных рассуждений и синтетических примеров в комплексную структуру подсказок. Наши результаты показывают, что этот подход может улучшить понимание LLM уязвимостей. На высококачественном наборе данных для обнаружения уязвимостей, таком как SVEN, наши стратегии подсказок могут улучшить точность, F1-баллы и парные точности на 23%, 11% и 14% соответственно"- Can LLM Prompting Serve as a Proxy for Static Analysis in Vulnerability Detection

См. также другие публикации, посвященные LLM

No comments: