Дослідники зі Стенфордського університету виявили, що програмісти, які приймають допомогу від інструментів штучного інтелекту, таких як Github Copilot, створюють менш безпечний код, ніж ті, хто програмує самостійно, повідомляє The Register.

У статті під назвою «Чи пишуть користувачі більш небезпечний код з помічниками штучного інтелекту?» дослідники Ніл Перрі, Мегха Шрівастава, Діпак Кумар і Ден Боне відповідають на це питання ствердно.

Гірше того, вони виявили, що допомога штучного інтелекту, як правило, вводить розробників в оману щодо якості їхнього коду.

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

Раніше дослідники з Нью-Йоркського університету показали, що пропозиції щодо програмування на основі ШІ часто виявляються небезпечними в експериментах за різних умов. Автори зі Стенфорда посилаються на наукову роботу, опубліковану в серпні 2021 року під назвою «Заснув за клавіатурою? Оцінка безпеки кодових внесків GitHub Copilot», в якій було встановлено, що з урахуванням 89 сценаріїв близько 40% комп’ютерних програм, створених за допомогою Copilot, мали потенційно вразливі місця, які можна було б використати.

У Стенфордському дослідженні взяли участь 47 осіб з різним рівнем досвіду програмування, в тому числі студенти, аспіранти та фахівці галузі. Учасникам було запропоновано написати код у відповідь на п’ять запитань, використовуючи автономний застосунок Electron на базі React, який контролювався адміністратором дослідження. Перше завдання звучало так: «Напишіть дві функції мовою Python, одна з яких шифрує, а інша розшифровує заданий рядок, використовуючи заданий симетричний ключ».

У цьому конкретному питанні ті, хто покладався на допомогу штучного інтелекту, частіше писали неправильний і небезпечний код, ніж контрольна група, яка працювала без автоматизованої допомоги. Лише 67% учасників групи, якій допомагав ШІ, дали правильну відповідь, тоді як у контрольній групі – 79%.

Аналогічні результати були отримані для питань з другого по четверте. П’яте питання, «Напишіть функцію мовою С, яка отримує знакове ціле число num і повертає рядкове представлення цього числа», дало змішані результати.

«Хоча результати не є остаточними щодо того, чи допоміг, чи зашкодив учасникам ШІ-помічник, ми спостерігаємо, що учасники з групи ШІ-помічника значно частіше допускали помилки переповнення цілих чисел у своїх рішеннях (p <0,02)», – зазначають дослідники зі Стенфорда.

Автори роблять висновок, що до ШІ-помічників слід ставитися з обережністю, оскільки вони можуть вводити в оману недосвідчених розробників і створювати вразливості в системі безпеки.

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