Виявлення вразливостей вихідного коду на основі Llama: Інженерія підказок проти тонкої настройки

Автори: Dyna Soumhane Ouchebara, Stéphane Dupont

Опубліковано: 2025-12-09

Переглянути на arXiv →
#cs.AIAI аналіз#LLM#Llama-3#Vulnerability Detection#Fine-tuning#Prompt Engineering#Cybersecurity#LoRACybersecuritySoftware DevelopmentDevSecOpsCloud Computing

Анотація

Це дослідження вивчає використання великих мовних моделей (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).
  • Корпоративне ліцензування 'ізольованих' пристроїв для сканування безпеки.

🏷️ Теги

#LLM#Llama-3#Vulnerability Detection#Fine-tuning#Prompt Engineering#Cybersecurity#LoRA

🏢 Релевантні індустрії

CybersecuritySoftware DevelopmentDevSecOpsCloud Computing