Лідери думок
AI-генерований код прийшов, щоб залишитися. Чи менш безпечні ми в результаті?

Програмування в 2025 році не полягає в тому, щоб трудитися над фрагментами чи витрачати довгі години на налагодження. Це зовсім інший настрій. AI-генерований код стане більшістю коду в майбутніх продуктах і став єSENTIAL інструментом для сучасного розробника. Відомий як “настрійне програмування”, використання коду, згенерованого інструментами типу Github Copilot, Amazon CodeWhisperer і Chat GPT, стане нормою, а не винятком у скороченні часу побудови та збільшенні ефективності. Але чи ризикує зручність AI-генерованого коду темнішою загрозою? Чи збільшує генеративний AI уразливості в безпеці архітектури чи є способи для розробників “настрійного програмування” в безпеці?
“Інциденти безпеки внаслідок уразливості в AI-генерованому коді – одна з найменше обговорюваних тем сьогодні”, – сказав Санкет Саурав, засновник DeepSource. “Все ще багато коду, згенерованого платформами типу Copilot або Chat GPT, не проходять людську перевірку, і порушення безпеки можуть бути катастрофічними для компаній, які постраждали.”
Розробник відкритої платформи, яка використовує статичний аналіз для якості коду та безпеки, Саурав згадав хакерську атаку на SolarWinds у 2020 році як такий “подія вимирання”, яку компанії можуть зазнати, якщо вони не встановили правильні засоби безпеки при використанні AI-генерованого коду. “Статичний аналіз дозволяє ідентифікувати небезпечні шаблони коду та погані практики програмування”, – сказав Саурав.
Атаковані через бібліотеку
Загрози безпеки AI-генерованому коду можуть приймати винахідливі форми і можуть бути спрямовані на бібліотеки. Бібліотеки в програмуванні – це корисний багаторазовий код, який розробники використовують, щоб зберегти час при написанні.
Вони часто розв’язують регулярні завдання програмування, такі як керування взаємодією з базами даних, і допомагають програмістам не переписувати код з нуля.
Одна з таких загроз проти бібліотек називається “галюцинаціями”, коли AI-генерований код демонструє уразливість через використання вигаданих бібліотек. Інший більш недавній напрямок атак на AI-генерований код називається “slopsquatting”, коли атакувальники можуть безпосередньо націлюватися на бібліотеки, щоб проникнути в базу даних.
Відповідь на ці загрози може потребувати більше уваги, ніж може бути передбачено терміном “настрійне програмування”. Професор Рафаель Хурі, який говорить зі свого офісу в Université du Québec en Outaouais, довго слідкує за розвитком безпеки AI-генерованого коду і впевнений, що нові техніки покращать його безпеку.
У статті 2023 року професор Хурі досліджував результати запитів до ChatGPT на генерацію коду без додаткового контексту чи інформації, що призвело до небезпечного коду. Це були ранні дні Chat GPT, і Хурі тепер оптимістично налаштований щодо майбутнього. “Відтоді було багато досліджень, які зараз розглядаються, і майбутнє виглядає так, що стратегія використання LLM може привести до кращих результатів”, – сказав Хурі, додавши, що “безпека покращується, але ми не находимося в місці, де можемо дати прямий запит і отримати безпечний код.”
Хурі продовжував описувати перспективне дослідження, де вони згенерували код і потім надіслали цей код до інструменту, який аналізує його на уразливості. Метод, який використовується інструментом, називається Finding Line Anomalies with Generative AI (або FLAG для короткості).
“Ці інструменти можуть ідентифікувати потенційні уразливості в рядку 24, наприклад, які розробник потім може повернути до LLM з інформацією і попросити його розглянути і виправити проблему”, – сказав він.
Хурі припустив, що цей обмін може бути важливим для виправлення уразливого коду. “Це дослідження показує, що за п’ять ітерацій можна зменшити уразливості до нуля.”
Однак цей метод FLAG не позбавлений проблем, особливо оскільки він може привести до як хибних позитивних, так і хибних негативних результатів. Крім того, існують обмеження довжини коду, який можуть створити LLM, і акт з’єднання фрагментів може додати ще один шар ризику.
Збереження людини в циклі
Деякі учасники “настрійного програмування” рекомендують фрагментувати код і забезпечувати, щоб люди залишалися на передньому плані в найбільш важливих редагуваннях кодової бази. “Коли ви пишете код, думайте у термінах комітів”, – сказав Кевін Хоу, керівник інженерії продукції в Windsurf, хвалячи мудрість малих шматків.
“Розбийте великий проєкт на менші шматки, які зазвичай будуть комітами або запитами на витяг. Нехай агент побудує менший масштаб, одну ізольовану функцію за раз. Це може забезпечити, що вихідний код буде добре протестований і добре зрозумілий”, – додав він.
На момент написання Windsurf підійшов до більш ніж 5 мільярдів рядків AI-генерованого коду (під його попередньою назвою Codeium). Хоу сказав, що найбільш важливим питанням, на яке вони відповідали, було те, чи розробник був свідомий процесу.
“AI здатний робити багато редагувань в багатьох файлах одночасно, тому як ми можемо забезпечити, щоб розробник фактично розумів і переглядав, що відбувається, а не просто сліпо приймав все?” – запитав Хоу, додавши, що вони вклали багато зусиль у UX Windsurf “з великою кількістю інтуїтивних способів залишатися повністю в ладі з тим, що робить AI, і зберігати людину повністю в циклі.”
Відповідь на ці загрози може потребувати більше уваги, ніж може бути передбачено терміном “настрійне програмування”. Від “галюцинацій” до загроз типу “slopsquatting” виклики реальні, але так само реальні і рішення.
Нові інструменти, такі як статичний аналіз, ітеративні методи вдосконалення типу FLAG, і роздуми про UX-дизайн показують, що безпека і швидкість не повинні бути взаємовиключними.
Ключ лежить у збереженні розробників зайнятими, інформованими і під контролем. З правильними засобами безпеки і менталітетом “довіряй, але перевіряй” AI-допоміжне програмування може бути як революційним, так і відповідальним.












