AFL-фаззер работает следующим образом: 4
Для этого в коде программы добавляют небольшие фрагменты кода, которые при выполнении собирают информацию о покрытии. 3 Когда фаззер отправляет входные данные, исполняемый файл собирает сведения о выполненных или посещённых участках кода и возвращает эту информацию фаззеру. 3
Затем фаззер может мутировать входные данные, использовать их в программе и оценивать, улучшило ли новое входное значение покрытие. 3 Для этого используется генетический алгоритм, который мутирует входные данные, обнаруживает новые участки кода и увеличивает покрытие, оценивая, какие входные данные дают одинаковый результат, а какие расширяют покрытие функциональности. 3