🧨 GitHub отдал fuzzing AI агенту
GitHub Security Lab открыла инструмент, который автоматизирует fuzzing C и C++ проектов. AI агент изучает репозиторий, выбирает функции, пишет fuzz harness, собирает его, запускает AFL++, анализирует coverage и сам решает, как добраться до непройденных веток.
⚙️ Как устроен цикл
Taskflow Agent управляет процессом через YAML сценарии и MCP tools. LLM принимает решения, а реальные операции выполняют AFL++ и clang.
Каждый harness собирается в двух вариантах. Первый через "afl clang lto" с AddressSanitizer и UndefinedBehaviorSanitizer для поиска ошибок. Второй через clang с "fprofile instr generate" и "fcoverage mapping" для измерения покрытия.
После запуска агент получает непройденные ветки и выбирает следующий шаг: изменить harness, создать новый seed, добавить значения в AFL dictionary или пропустить бесперспективный участок.
Время fuzzing постепенно усваивается: 30, 60...960.
Если две итерации подряд дают меньше 1 процентного пункта нового line coverage, агент фиксирует plateau и останавливает цикл.
💣 Crash тоже уходит к AI
Найденные crashes сохраняются и дедуплицируются. Затем агент анализирует потенциальную эксплуатируемость и формирует отчёт об уязвимости с рекомендациями по исправлению.
За процессом можно наблюдать через dashboard: coverage каждого harness, динамика покрытия, crashes и история итераций.
⚠️ Нюанс
"afl fuzz", clang и команды, выбранные LLM, выполняются непосредственно в системе. Поэтому вредоносный репозиторий потенциально может использовать prompt injection, чтобы заставить агента выполнить нежелательные команды.
GitHub рекомендует запускать систему внутри disposable Codespace или VM с ограниченными правами и сетевым доступом.
AI ищет уязвимости в коде, а код может атаковать самого AI исследователя.
🔗 Источник: GitHub Security Lab
🔗 GitHub: seclab taskflows fuzzing
Stay secure and read SecureTechTalks 📚
#кибербезопасность #AISecurity #Fuzzing #AIAgents #AFL #MCP #GitHubSecurityLab #AppSec #VulnerabilityResearch #SecureTechTalks
Post #864
161
