GitHub Security Lab использует ИИ для автоматизированной триажи уязвимостей
GitHub Security Lab внедрил ИИ-систему для автоматической обработки уязвимостей, сократив ложные срабатывания и повысив эффективность анализа кода. Узнайте о технических деталях и результатах.
GitHub Security Lab внедряет ИИ для автоматизации триажи уязвимостей
Команда GitHub Security Lab разработала фреймворк на базе искусственного интеллекта для автоматизации триажи оповещений о безопасности. Это позволило значительно сократить количество ложных срабатываний и повысить эффективность работы. С августа текущего года с помощью GitHub Security Lab Taskflow Agent удалось выявить около 30 реальных уязвимостей в коде, используя большие языковые модели (LLM) для анализа оповещений, генерируемых CodeQL.
Как ИИ улучшает процесс триажи уязвимостей
Традиционная триажа уязвимостей часто носит повторяющийся характер, а ложные срабатывания возникают из-за шаблонов, которые легко распознаются человеком, но сложно формализуются в инструментах статического анализа. Большие языковые модели эффективно выявляют такие «нечёткие» шаблоны, что делает их идеальными для автоматизации процессов триажи.
Фреймворк Taskflow Agent использует YAML-основанные taskflows (потоки задач) для декомпозиции сложных процессов триажи на более мелкие и управляемые задачи. Каждая задача выполняет следующие функции:
- Сбор и анализ результатов сканирования кода
- Аудит оповещений на предмет типичных ложных срабатываний
- Генерация подробных отчётов об ошибках с точными ссылками на код
- Валидация результатов перед созданием Issues в GitHub
Благодаря такой структуре система минимизирует вероятность «галлюцинаций» (ошибочных выводов) и обеспечивает согласованность результатов.
Техническая реализация
Архитектура Taskflow
Потоки задач разделены на несколько этапов:
- Сбор информации – собираются необходимые данные (например, триггеры рабочих процессов, разрешения, санитайзеры) и сохраняются в структурированных заметках.
- Этап аудита – применяются проверки на базе LLM для фильтрации ложных срабатываний (например, отключённые рабочие процессы, ограничения прав доступа).
- Генерация отчёта – результаты компилируются в стандартизированный отчёт об ошибке с фрагментами кода и ссылками на строки.
- Валидация и создание Issues – проверяется полнота отчётов перед созданием Issues в GitHub для дальнейшего рассмотрения.
Ключевые особенности
- Модульная архитектура – задачи независимы, что снижает ограничения по контекстному окну и упрощает отладку.
- Асинхронная обработка – поддерживает пакетную обработку большого количества оповещений.
- Интеграция с MCP-серверами – передача детерминированных задач (например, API-вызовы) традиционным инструментам программирования для повышения точности.
- Повторно используемые компоненты – промпты и задачи могут использоваться в различных рабочих процессах триажи.
Результаты и влияние
С момента внедрения GitHub Security Lab использовал эти потоки задач для триажи оповещений в следующих областях:
- GitHub Actions (например, недоверенная загрузка кода, инъекции кода)
- JavaScript/TypeScript (например, клиентский межсайтовый скриптинг через
js/xss)
Система доказала свою эффективность в:
- Сокращении ложных срабатываний за счёт выявления типичных паттернов отклонения (например, отключённые рабочие процессы, проверки прав доступа).
- Повышении эффективности благодаря автоматизации повторяющихся проверок (например, событий-триггеров, санитизации).
- Улучшении точности за счёт структурированных промптов и этапов валидации.
Рекомендации для команд безопасности
- Внедряйте модульные ИИ-процессы – декомпозируйте триажу на дискретные, повторно используемые задачи для повышения масштабируемости.
- Сочетайте LLM с традиционными инструментами – используйте большие языковые модели для распознавания шаблонов, а детерминированные задачи передавайте статическому анализу или API.
- Используйте открытые фреймворки – репозитории seclab-taskflow-agent и seclab-taskflows доступны для кастомизации.
- Валидируйте выводы ИИ – всегда проверяйте отчёты, сгенерированные LLM, перед принятием мер по устранению уязвимостей.
- Контролируйте использование ресурсов – выполнение потоков задач может потреблять значительные квоты LLM, планируйте затраты заранее.
Будущие направления
GitHub Security Lab продолжает совершенствовать ИИ-ассистированную триажу, проводя эксперименты в области аудита кода и поиска уязвимостей. Командам безопасности рекомендуется изучить открытый фреймворк и адаптировать его под свои рабочие процессы.
Более подробную информацию можно найти в репозитории GitHub Security Lab Taskflow Agent.