Фаззер или агент по коммитам: чем платим за каждый
Команда выпускает изменения в критичный код и хочет ловить дефекты раньше пользователей. В разборе Project Zero на V8 сравниваются непрерывный фаззер Fuzzilli и LLM-агент BigSleep, который раз в сутки просматривает новые коммиты.
Непрерывный фаззер полезен, когда нужен сигнал о поломке в рантайме: крэш, сработавший ассерт или расхождение поведения. Он работает постоянно и, по описанию разбора, реагирует за несколько часов. Плата: логическую ошибку без явного падения он почти не видит, а причину не объясняет — на выходе сигнал, разбор остаётся человеку.
LLM-агент по коммитам подключают, когда нужна гипотеза о проблеме рядом со свежим изменением и тесткейс, который воспроизводит подозрительное место. BigSleep раз в сутки просматривает новые коммиты. Плата: более поздняя реакция, зависимость от качества диффа и объёма контекста вокруг него; без хорошего диффа полезность падает.
Выбор такой: нужен непрерывный сигнал о падении — начинайте с фаззера; нужна гипотеза о проблеме рядом с изменением и тесткейс — подключайте агента. Но авторы разбора советуют держать оба подхода: так до пользователей доберётся меньше уязвимостей.
Оговорка: выводы сделаны на одном движке V8 и двух конкретных системах. Это не норма для произвольной кодовой базы — переносить цифры и ожидания один в один нельзя.
Разбор