Разработването на агенти с изкуствен интелект, способни да откриват уязвимости в сложни системи все още е трудна задача, която изисква много ръчна работа. Такива агенти обаче имат важно предимство – за разлика от традиционните методи като fuzzing или формални проверки, тяхната работа може да бъде буквално „прочетена“ по логовете. Това позволява на изследователите да разберат по-добре силните и слабите страни на съвременните големи езикови модели. Авторите на експеримента са събрали повече от 100GB информация от такива логове и са избрали няколко представителни случая.
Първият тестов обект беше SQLite – лека и изключително популярна СУБД на C, която се използва в браузъри, мобилни операционни системи, автомобили, самолети и дори в самия двигател на CRS.
По време на практическия кръг на състезанието AIxCC агентите откриха не само специално въведени уязвимости, но и реални бъгове. Сред тях бяха два сериозни, отстранени от разработчиците на 5 август. Единият от тях се оказа класическо препълване на буфера в разрешеното по подразбиране разширение zipfile. Грешката позволяваше да се излиза извън границите на паметта при работа с архиви и е почти невъзможно да бъде открита чрез произволен fuzzing. Друг бъг в същия код водеше до четене на допълнителни данни при отваряне на повреден zip файл.
След това фокусът беше преместен върху FreeRDP – безплатна реализация на протокола за отдалечен работен плот. В допълнение към специално добавените проблеми, като например замаскирана задна врата, агентите успяха да идентифицират истинска уязвимост: препълване на цялото число при обработка на информация за клиентските монитори. Интересно е, че дори часовете на фазиране с libfuzzer не уловиха тази грешка, но компетентно генериран вход на изкуствен интелект успя да я възпроизведе.
Подобни експерименти бяха проведени и с други популярни проекти – Nginx, Apache Tika и Apache Tomcat. В дневниците можете да се види как AI системата се опитва да направи поправки, среща неясноти в кръпките и в крайна сметка успява, като понякога изразходва десетки минути и няколко долара изчислителни ресурси. В някои случаи агентите откриват необичайни пътища за експлоатиране – например, ако не могат да заобиколят защитата при работа с zip файл, те преминават към tar архиви.
Авторите подчертават, че подобни експерименти са полезни не само за откриване на грешки, но и за конфигуриране на самите AI агенти, техните инструменти и разпределението на ролите между тях.
Въпреки факта, че не всички открити грешки са критични, практиката показва, че LLM системите са в състояние да откриват и възпроизвеждат уязвимости, които избягват класическите методи. Въпреки че този процес все още е далеч от пълната автоматизация, той вече дава на изследователите съвсем нова перспектива за сигурността на познатия софтуер.
Всичко важно от света на технологиите, директно в пощата ти.
С абонирането приемате нашите Условия и Политика за поверителност. Може да се отпишете с един клик по всяко време.
Коментирайте статията в нашите Форуми. За да научите първи най-важното, харесайте страницата ни във Facebook, и ни последвайте в Google Новини, TikTok, Telegram и Viber или изтеглете приложението на Kaldata.com за Android, iPhone, Huawei, Google Chrome, Microsoft Edge и Opera!