SQLite, Nginx, Apache пали за один день. ИИ-агенты обошли лучших хакеров мира

0
SQLite, Nginx, Apache пали за один день. ИИ-агенты обошли лучших хакеров мира

Агенты раскрыли ошибки в ПО, где люди и инструменты провалились.

Разработка ИИ-агентов, способных находить уязвимости в сложных системах, до сих пор остаётся непростой задачей, требующей много ручной работы. Но у таких агентов есть важное преимущество — в отличие от традиционных методов вроде фаззинга или формальных проверок, их работу можно буквально «читать» по логам. Это позволяет исследователям лучше понимать сильные и слабые стороны современных LLM-моделей. Авторы эксперимента собрали свыше сотни гигабайт таких логов и выбрали несколько показательных случаев.

Первым объектом тестов стала SQLite — лёгкая и крайне популярная СУБД на C, которая используется в браузерах, мобильных ОС, автомобилях, самолётах и даже в самом движке CRS. В ходе практического раунда соревнования AIxCC агенты нашли не только специально внедрённые уязвимости, но и реальные ошибки. Среди них — два серьёзных бага, исправленных разработчиками 5 августа. Один из них оказался классическим переполнением буфера в расширении zipfile, включённом по умолчанию. Ошибка позволяла выйти за границы памяти при работе с архивами, и найти её случайным фаззингом практически невозможно. Другой баг в том же коде приводил уже к чтению лишних данных при открытии повреждённого zip-файла.

Затем внимание переключили на FreeRDP — свободную реализацию протокола удалённого рабочего стола. Помимо специально добавленных проблем, вроде обфусцированного «бэкдора», агенты сумели выявить и реальную уязвимость: переполнение знакового целого при обработке информации о мониторах клиента. Интересно, что даже многочасовой фаззинг с libfuzzer эту ошибку не задел, а вот грамотно сгенерированный ИИ ввод сумел её воспроизвести.

Схожие эксперименты были проведены и с другими популярными проектами — Nginx, Apache Tika и Apache Tomcat. В логах можно увидеть, как ИИ-система пытается вносить исправления, сталкивается с неоднозначностью в патчах и в итоге успешно справляется, иногда тратя на это десятки минут и несколько долларов вычислительных ресурсов. В ряде случаев агенты находили необычные пути эксплуатации — например, если не удавалось обойти защиту при работе с zip-файлом, они переключались на tar-архивы.

Авторы подчеркивают: подобные эксперименты полезны не только для поиска багов, но и для настройки самих агентов, их инструментов и разделения ролей между ними. Несмотря на то что далеко не все найденные ошибки критичны, практика показывает — LLM-системы способны обнаруживать и воспроизводить уязвимости, которые ускользают от классических методов. И хотя этот процесс ещё далёк от полной автоматизации, он уже даёт исследователям совершенно новый взгляд на безопасность привычного софта.

About The Author

Добавить комментарий