Майже половина коду, написаного ШІ, містить критичні вразливості

|
Майже половина коду, написаного ШІ, містить критичні вразливості

Останнє дослідження компанії Veracode виявило, що близько 45% програмного коду, створеного за допомогою штучного інтелекту, має суттєві вразливості. Для аналізу було використано понад 1600 зразків коду, згенерованих моделями GPT-4, GPT-3.5 та Codex від OpenAI. Ці моделі отримали 12 різних завдань, а результати показали численні помилки авторизації, недостатню валідацію введення, SQL-інʼєкції та інші потенційні небезпеки.

Про це розповідає ProIT

Java лідирує за кількістю уразливостей

Найбільше проблем було зафіксовано у коді на мові Java: 80% зразків містили вразливості. Для порівняння, у JavaScript та Python цей показник був удвічі меншим — на рівні 30–40%. Експерти зазначили, що якість коду можна значно покращити, якщо під час генерації чітко вказувати ШІ на необхідність врахування безпеки.

Рекомендації щодо підвищення безпеки коду від ШІ

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

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

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