Исследователи представили новый подход к автоматизированному поиску уязвимостей, заменив традиционные методы фаззинга на агентные системы. Вместо случайной генерации входных данных, агенты обучаются создавать специфические наборы тестов, ориентируясь на структуру кода. Метод значительно повышает покрытие покрытия кода и эффективность обнаружения багов в сложных программных проектах по сравнению с классическими алгоритмами.
Традиционный фаззинг часто сталкивается с проблемой «глубоких» путей выполнения, которые сложно достичь случайными мутациями. Предложенная архитектура использует LLM-агентов, которые анализируют логику программы и динамически корректируют генераторы входных данных. Это позволяет системе «понимать», какие участки кода требуют проверки, и целенаправленно генерировать последовательности, способные вызвать ошибки или переполнения буфера.
Авторы подчеркивают, что использование генераторов на базе ИИ позволяет сократить время на настройку тестовых сред. Система демонстрирует высокую результативность на стандартных наборах тестов, обнаруживая уязвимости, которые пропускают автоматизированные инструменты предыдущего поколения. Подход открывает путь к созданию автономных систем безопасности, способных проводить аудит кода без участия человека в режиме реального времени.
Ключевые факты
- Метод основан на использовании LLM-агентов для генерации входных данных вместо случайных мутаций.
- Агентная система показывает более высокое покрытие кода в сравнении с классическими фаззерами (например, AFL++).
- Исследование подтверждает эффективность подхода при поиске глубоко скрытых логических ошибок.
- Автоматизация процесса снижает трудозатраты на создание специфических тестовых сценариев для новых модулей ПО.