Фаззер на «вайбах» нашёл баг в одном из самых популярных медиафреймворков мира

Команда исследователей обнаружила ошибку деления на ноль (division by zero) в FFmpeg — и сделала это с помощью инструмента для фаззинга, написанного методом вайб-кодинга (vibe coding). Баг был задокументирован в официальном трекере FFmpeg под номером #24290 и уже попал в обсуждение на Hacker News. История примечательна не только самим багом, но и способом его нахождения: AI-ассистированный, почти непроверенный вручную код нашёл реальную уязвимость в проекте с многолетней историей аудитов.

ℹ Что такое вайб-кодинг?
Vibe coding — подход к разработке, при котором разработчик описывает задачу в виде промпта, а LLM (большая языковая модель) генерирует реализацию. В вайб-кодинге разработчик описывает желаемый результат, модель генерирует реализацию, а человек нередко принимает код, не читая каждую строку.

Что такое фаззинг и почему это важно

Fuzzing (фаззинг) — это техника тестирования безопасности, при которой программе подаются случайные или намеренно искажённые входные данные в поисках ошибок и сбоев. Суть метода — случайное или систематическое искажение входных данных программы, чтобы спровоцировать её падение.

FFmpeg использует мощную инфраструктуру фаззинга для выявления повреждений памяти, падений и неопределённого поведения во всех своих библиотеках. Эта система интегрирована с Google OSS-Fuzz и предоставляет таргетированные инструменты тестирования.

Однако даже многолетнее покрытие фаззингом не гарантирует полного охвата кода. Лучшие цели для фаззинга — не те, которые никто не тестировал, а те, которые все считают протестированными, хотя на самом деле это не так.

Division by zero: чем опасен этот тип ошибки

Division by zero (деление на ноль) — классическая ошибка в низкоуровневом коде на C/C++. Уязвимость такого типа возникает из-за дефекта в исходном коде, связанного с некорректной обработкой делителя. Злоумышленник может спровоцировать ошибку деления на ноль, что приводит к атаке типа «отказ в обслуживании» (DoS). Это может привести к краху приложения или его нестабильной работе, делая его неотзывчивым или вызывая неожиданное завершение.

⚠ Почему это критично для FFmpeg
FFmpeg широко используется в различных приложениях и платформах, включая программы для редактирования видео, медиаплееры и стриминговые сервисы. Падение библиотеки из-за деления на ноль может затронуть миллионы пользователей по всему миру.

Как «вайб-фаззер» нашёл то, что пропустили традиционные инструменты

Авторы задокументированного бага создали фаззер с минимальным ручным написанием кода — преимущественно через AI-промпты. Подобный подход становится всё более популярным на фоне роста интереса к автоматизированному поиску уязвимостей.

Этот случай вписывается в более широкий тренд: в июне 2026 года стартап depthfirst сообщил, что его автономный AI-агент обнаружил 21 уязвимость нулевого дня в FFmpeg, проанализировав около 1,5 миллиона строк C-кода примерно за $1 000.

AI-ассистированный статический анализ кода уже позволяет находить в FFmpeg различные уязвимости безопасности памяти, которые традиционные инструменты пропускают.

«Даже проекты с многолетней историей фаззинга имеют огромные пробелы в покрытии» — вывод из исследования фаззинга FFmpeg-аудио-энкодеров

Как это работало: от промпта до краша


graph TD
    A[Промпт разработчика] -->|LLM генерирует код| B[Вайб-фаззер]
    B -->|Подаёт случайные данные| C[FFmpeg]
    C -->|Некорректный делитель| D[Division by Zero]
    D -->|Краш / DoS| E[Баг #24290 задокументирован]
    E -->|Репорт в трекер| F[Исправление патчем]

Сравнение подходов к поиску уязвимостей в FFmpeg

МетодСтоимостьНайдено баговСкорость
Ручной аудитВысокая ($$$)НемногоМедленно
Традиционный фаззинг (OSS-Fuzz)НизкаяМного, но пробелы в покрытииДни–недели
AI-агент (depthfirst)~$1 00021 zero-dayЧасы
Вайб-фаззер (issue #24290)Минимальная1 confirmed bugБыстро

Парадокс вайб-кодинга в безопасности

Сама по себе концепция вайб-кодинга несёт риски: AI-модели вносят ошибки примерно с той же частотой, что и неопытный разработчик без ревью, но генерируют код в сотни раз быстрее. Тестирование показывает, что около четырёх из десяти AI-сгенерированных программ содержат эксплуатируемую уязвимость.

Однако в данном случае инструмент, написанный методом вайб-кодинга, сыграл на руку защитникам, а не атакующим. Это демонстрирует двойственность подхода: тот же метод, который порождает уязвимый код в продакшене, может служить мощным инструментом для поиска ошибок в чужом коде.

💡 Вывод для разработчиков
Если вы работаете с FFmpeg — обновите библиотеку до актуальной версии. Пользователям рекомендуется обновить установку FFmpeg до последней доступной версии, чтобы обеспечить безопасность и стабильность своих приложений. Следите за официальным трекером ошибок на code.ffmpeg.org.

Что дальше

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

FFmpeg остаётся одной из самых критически важных open source библиотек в мире. FFmpeg присутствует повсюду — в браузерах, стриминговых платформах, системах видеонаблюдения, облачной инфраструктуре, Python-пакетах, контейнерных образах и IoT-устройствах. Это делает каждый найденный баг — даже кажущийся «простым» division by zero — потенциально значимым для безопасности всей экосистемы.