Попри стрімкий прогрес великих мовних моделей у генерації коду, їхня здатність створювати безпечний код залишається серйозною проблемою.
Про це йдеться в новому звіті "2025 GenAI Code Security Report", який аналізує якість і безпеку коду, згенерованого сучасними LLM. AIN підсумував основні результати дослідження.
Ключові цифри
- Лише 55% згенерованого коду не містить відомих вразливостей (CWE).
- У 45% випадків моделі створюють небезпечний код, який містить критичні уразливості.
- Продуктивність моделей майже не покращується з часом, навіть попри загальне зростання якості синтаксису.
- Розмір моделі не корелює з безпекою: великі LLM не гарантують кращих результатів у плані захисту.
Найгірше — з міжсайтовим скриптінгом (XSS, CWE-80) та ін’єкціями в логування (CWE-117).
Java стала мовою з найгіршими показниками безпеки тоді як Python, JavaScript і C# продемонстрували відносно кращі результати.

Як проводили дослідженняАвтори дослідження створили 80 програмних задач із пропущеними фрагментами коду та подали їх на заповнення LLM. Для аналізу використали 4 популярні мови (Java, JS, C#, Python) та 4 критичні типи вразливостей (SQLi, XSS, логінг-ін’єкції, криптографічні помилки).
Згенерований код компілювали та перевіряли на наявність уразливостей за допомогою статичного аналізу безпеки (SAST).
Важливо зазначити, що дослідження не оцінювало функціональність, а лише синтаксичну коректність і наявність відомих уразливостей.
ВисновокПопри еволюцію LLM, автоматична генерація безпечного коду залишається невирішеною проблемою. Моделі часто не здатні розпізнати контекст і правильно реагувати на складні вразливості. Це означає, що використання AI для програмування потребує додаткових перевірок і спеціалізованих інструментів безпеки.
Моделі можуть допомагати з рутинними завданнями, але повністю довіряти їм створення production-коду — ще зарано.
Читайте також: Навіщо Україні власна LLM-модель? Михайло Федоров про національну нейромережу та плани на AI-розвиток до 2030 року