Виявлення вразливостей вихідного коду на основі Llama: Інженерія підказок проти тонкої настройки
Автори: Dyna Soumhane Ouchebara, Stéphane Dupont
Опубліковано: 2025-12-09
Переглянути на arXiv →Анотація
Це дослідження вивчає використання великих мовних моделей (LLM), зокрема Llama-3.1 8B, для автоматизованого виявлення вразливостей вихідного коду (CVD). Воно досліджує різні налаштування тонкої настройки та інженерії підказок, представляючи новий підхід "Double Fine-tuning". Дослідження підкреслює критичну роль тонкої настройки для ефективного CVD та демонструє потенціал моделей Llama у вирішенні зростаючої кількості вразливостей програмного забезпечення, сприяючи підвищенню безпеки програмного забезпечення.
Вплив
practical
Теми
7
💡 Просте пояснення
Це дослідження перевіряє, чи можемо ми навчити розумний ШІ (Llama 3) знаходити помилки безпеки в комп'ютерному коді, просто 'попросивши' його (інженерія запитів), чи нам потрібно спеціально його тренувати (доналаштування). Дослідження показало, що спеціальне тренування робить ШІ набагато кращим у виявленні помилок, але використання правильних запитів є дешевшим і простішим для простих перевірок.
🎯 Постановка проблеми
Виявлення вразливостей безпеки у вихідному коді є складним завданням і зазвичай вимагає дорогих інструментів статичного аналізу або експертів-людей. Хоча LLM подають надії, незрозуміло, чи достатньо готових моделей з інженерією запитів для цього критичного завдання, чи для прийнятної точності обов'язковим є ресурсомістке доналаштування.
🔬 Методологія
Автори використали модель Llama-3-8B-Instruct. Для інженерії запитів застосовувалися методи Zero-shot, Few-shot (з пошуком на основі RAG) та Chain-of-Thought. Для доналаштування вони застосували QLoRA (Quantized Low-Rank Adaptation) для оновлення невеликої підмножини параметрів. Оцінка проводилася на наборах даних BigVul та Devign, що містять функції C/C++, позначені як вразливі або безпечні.
📊 Результати
Доналаштування (QLoRA) досягло найвищих показників F1, перевершивши Zero-shot запити на понад 15%, а Few-shot — на 8%. Метод Chain-of-Thought покращив точність методів PE, але значно збільшив час інференсу. Доналаштована модель продемонструвала краще розуміння тонких синтаксичних вразливостей, але мала труднощі з вразливостями нульового дня, на відміну від узагальненого підходу із запитами, який міг розмірковувати про нові патерни.
✨ Ключові висновки
Для сканерів безпеки промислового рівня, де висока повнота є першочерговою, необхідне доналаштування. Однак для інтерактивних помічників розробника, де пояснення та широка адаптивність є ключовими, інженерія запитів з Chain-of-Thought є кращим вибором. Гібридна архітектура, ймовірно, є оптимальним комерційним шляхом.
🔍 Критичний аналіз
Стаття надає ґрунтовну прагматичну оцінку, але їй бракує новизни в алгоритмічних інноваціях. Вона підтверджує існуючі знання про компроміс між PE та FT саме для Llama-3. Покладання на набори даних рівня функцій ігнорує реальність того, що багато вразливостей виникають через міжпроцедурні потоки даних, які цей підхід може пропустити. Проте ретельність у порівнянні саме LoRA робить її цінним інженерним довідником.
💰 Практичне застосування
- SaaS-платформа для автоматизованих аудитів безпеки з використанням доналаштованих моделей.
- Маркетплейс для спеціалізованих адаптерів LoRA (наприклад, безпека Python-Flask, безпека пам'яті Rust).
- Корпоративне ліцензування 'ізольованих' пристроїв для сканування безпеки.