News

Хто несе відповідальність за код, згенерований ШІ: огляд звіту Veracode 2025

News | 04.08.2025

Штучний інтелект (ШІ) кардинально змінює ландшафт розробки програмного забезпечення. Інструменти на основі великих мовних моделей (LLM) дозволяють розробникам генерувати код із простих текстових запитів, значно прискорюючи робочі процеси. Але чи не призводить така швидкість до неприйнятних ризиків? Veracode, світовий лідер у галузі безпеки застосунків, провів глибоке дослідження, щоб відповісти на це критично важливе питання для сучасних технологічних лідерів.

Результати, опубліковані у звіті "2025 GenAI Code Security Report", є однозначними: в середньому 45% коду, створеного за допомогою LLM, містить недоліки безпеки. Ця статистика представляє значну нову поверхню атаки для організацій.

Основна проблема: ШІ вчиться на незахищених прикладах

Головна причина такого високого рівня вразливостей полягає в тому, що великі мовні моделі навчаються на величезних масивах даних, включно з мільярдами рядків коду з відкритих репозиторіїв. Значна частина цих навчальних даних не є безпечною. Моделі відтворюють шаблони, які вони засвоїли, без контекстуального розуміння для розрізнення безпечних практик кодування та потенційних прогалин у безпеці. Розробник запитує функціонал, і ШІ його надає, але вибір між безпечною та небезпечною реалізацією залишається на розсуд моделі.

Ключові висновки для технологічних лідерів

Дослідження виявило кілька важливих тенденцій, які мають лягти в основу стратегії кожного CISO та CTO щодо безпечної розробки в епоху ШІ.

  • Новіші моделі не обов'язково є безпечнішими. Хоча моделі ШІ вдосконалюють написання синтаксично правильного коду, їхня здатність забезпечувати безпеку залишається стабільно низькою. Навіть найновіші та найбільші моделі не демонструють значного прогресу у генерації безпечного коду, що означає, що керівники не можуть просто довіряти тому, що оновлення інструментів зменшить цей ризик.
  • Ризик значно варіюється залежно від типу вразливості. Моделі досить добре запобігають поширеним вразливостям, таким як SQL-ін'єкції. Однак для контекстно-залежних недоліків, як-от міжсайтовий скриптинг (XSS), ситуація катастрофічна — лише 12-13% згенерованого коду є безпечним. Це пов’язано з тим, що захист від таких атак вимагає розуміння всього контексту застосунку, що наразі виходить за межі можливостей LLM.
  • Вибір мови програмування має значення. Дослідження показало, що код на Java був значно менш безпечним (лише 28,5% успіху) порівняно з кодом, згенерованим для Python, C# та Javascript. Ймовірно, це пов'язано з довгою історією Java та величезною кількістю застарілих, небезпечних прикладів коду в її навчальних даних.

Завантажити звіт: GenAI Code Security Report

*
*
*

Стратегічні рекомендації для CISO та CTO

ШІ — це потужний помічник, але він не є заміною експертизи та надійного управління. Звіт Veracode чітко показує, що код, згенерований штучним інтелектом, вимагає обов'язкової перевірки як частина життєвого циклу розробки програмного забезпечення (SDLC).

  • Встановіть чіткі політики використання ШІ. Не допускайте безсистемного впровадження інструментів для кодування за допомогою ШІ. Визначте, які інструменти є схваленими, та вимагайте, щоб увесь код, згенерований ШІ, розглядався як недовірений, аналогічно коду зі сторонньої бібліотеки без перевірки.
  • Інтегруйте автоматизоване тестування безпеки. Інструменти статичного аналізу безпеки застосунків (SAST) повинні бути інтегровані в робочий процес розробки. Ці інструменти можуть автоматично виявляти вразливості на етапі кодування, перш ніж вони потраплять у продакшн.
  • Надавайте пріоритет навчанню розробників з безпеки. В епоху ШІ розуміння фундаментальних принципів безпечної розробки стає ще більш критичним. Ваша команда повинна бути здатною виявляти та виправляти недоліки, які вносить ШІ.