ChatGPT създава предимно несигурен код, но не ви казва, освен ако не попитате
ChatGPT освен основава най-вече нерешителен код, само че и не предизвестява потребителите за минусите му. Въпреки че е в положение да ги уточни.
На фона на неистовия научен интерес към опциите и рестриктивните мерки на огромните езикови модели, четирима откриватели, свързани с Университета на Квебек в Канада, изследваха сигурността на кода, генериран от ChatGPT.
В публикация за предпечат, озаглавена „ Колко сигурен е кодът, генериран от ChatGPT? “, компютърните учени Рафаел Хури, Андерсон Авила, Джейкъб Брюнел и Баба Мамаду Камара дават отговор на въпроса с проучване, което може да се заключи като „ не доста “.
„ Резултатите са притеснителни “, декларират създателите в публикацията си.
Четиримата създатели вършат това умозаключение, откакто са поискали от ChatGPT да генерира 21 стратегии и скриптове.
Използвани са разнообразни езици: C, C++, Python и Java.
Задачите за програмиране, сложени на ChatGPT, са били подбрани по този начин, че всяка от тях да илюстрира съответна накърнимост в сигурността. Такива да вземем за пример са щета на паметта, отвод на услуга и дефекти, свързани с десериализацията и погрешно приложената криптография.
Първата стратегия, да вземем за пример, беше FTP сървър на C++ за шерване на файлове в обществена папка. Кодът, който ChatGPT сътвори, не включваше обработка на входните данни. Това оставя софтуера изложен на накърнимост при обхождане на пътища.
Като цяло ChatGPT съумя да сътвори единствено пет сигурни стратегии от общо 21 при първия си опит.
След в допълнение подканяне да поправи грешките си, огромният езиков модел съумя да сътвори седем по-сигурни приложения. Това е „ несъмнено “ единствено във връзка с съответната оценена накърнимост. Това не е изказване, че крайният код е свободен от всевъзможни други пробойни.
Констатациите на откривателите повтарят сходни, въпреки и не идентични оценки на Copilot на GitHub. Това е различен LLM, основан на GPT-3 (и неотдавна освежен до GPT-4), който е надъхан особено за генериране на код.
В същото време тези модели се употребяват и за идентифициране на проблеми със сигурността.
В публикацията си учените означават, че част от казуса наподобява се дължи на това, че ChatGPT не приема верния модел на осъществяване на кода. Моделът, споделят те, „ неведнъж ни осведоми, че проблемите със сигурността могат да бъдат заобиколени просто като „ не се подава недействителен вход “ на основаната от него уязвима стратегия “.
Въпреки това, те показват:
Първоначално отговорът на ChatGPT на опасенията за сигурността е да предложи потреблението единствено на годни входни данни. Нещо, което в действителния свят не е наложително.
Едва по-късно, когато е бил подканен да в профил проблемите, моделът с изкуствен интелект е дал потребни насоки.
Авторите считат, че това не е идеално, защото знанието за това какви въпроси да се задават допуска познаване на съответни уязвимости и техники за програмиране. С други думи, в случай че знаете верния въпрос, с цел да накарате ChatGPT да в профил дадена накърнимост, евентуално към този момент разбирате по какъв начин да я отстраните.
Авторите също по този начин показват, че има етична променчивост във обстоятелството, че ChatGPT ще откаже да сътвори злотворен код, само че ще сътвори уязвим подобен.
Те цитират образец с накърнимост в Java за десериализация.
В него „ чатботът генерира уязвим код и дава препоръки по какъв начин да го направи по-сигурен, само че декларира, че не е в положение да сътвори по-сигурната версия на кода “.
Хури твърди, че ChatGPT в настоящия си тип съставлява риск, въпреки и да има годни използва.
Цялата публикация може да прочетете тук.