Что такое fuzz-тестирование и где его используют?
1. Что такое Fuzz-тестирование
Fuzz Testing (Fuzzing) — это метод автоматического тестирования программного обеспечения путём подачи на вход случайных, некорректных или неожиданных данных с целью выявления ошибок, сбоев или уязвимостей.
Цель:
Найти баги, которые не выявляются обычным функциональным тестированием
Проверить устойчивость системы к некорректным, нестандартным или злонамеренным данным
2. Особенности Fuzz-тестирования
Обычно автоматизированное, генерация входных данных происходит программно
Часто применяется для безопасности и стабильности
Не гарантирует полное покрытие, но позволяет находить «тяжёлые» баги
3. Где используется Fuzz Testing
Безопасность (Security Testing)
Проверка на уязвимости: buffer overflow, SQL-injection, XSS
Системы с критической стабильностью
ОС, драйверы, сетевые протоколы, базы данных
API и веб-приложения
Проверка обработки некорректных или случайных данных
Форматы файлов и мультимедиа
Проверка загрузки PDF, изображений, видео
4. Примеры инструментов
AFL (American Fuzzy Lop) — для C/C++ приложений
Burp Suite Intruder / OWASP ZAP — для веб-приложений
Peach Fuzzer — для сетевых протоколов и приложений
Fuzzing в Python/JavaScript — простые скрипты генерации случайных данных
Last updated
Was this helpful?