Ghost Security: традиционные инструменты SAST дают 91% ложных срабатываний и мешают командам выявлять реальные уязвимости

Изображение: Blake Connally (unsplash)
Компания Ghost Security представила отчёт Exorcising the SAST Demons, в котором подробно рассмотрела эффективность популярных решений для статического анализа безопасности кода (SAST). В ходе исследования были протестированы почти 3000 открытых репозиториев GitHub, написанных на Go, Python и PHP. Результаты показали: 91% обнаруженных уязвимостей оказались ложными.
В центре анализа — три критически значимых типа атак, встречающихся в реальных приложениях: SQL-инъекции, командные инъекции и произвольная загрузка файлов. Несмотря на распространённость этих векторов, традиционные инструменты SAST оказались неспособны точно идентифицировать реальные угрозы.
Ключевые итоги исследования:
- из 2116 оповещений только 180 подтверждены как настоящие уязвимости;
- в проектах на Python с Flask зафиксировано 99,5% ложных срабатываний при проверке внедрения команд;
- в Go-фреймворке Gin — 80% оповещений об SQL-инъекциях не подтвердились;
- в связке PHP и Laravel 10% предупреждений по загрузке файлов оказались обоснованными.
Главная проблема заключается в том, что традиционные движки SAST полагаются на шаблонное сканирование и предопределённые правила. Такие методы плохо справляются с контекстом: анализаторы реагируют на потенциально опасные конструкции, не учитывая, ограничен ли ввод пользователя или применены защитные меры. В результате безопасный участок кода может быть отмечен как уязвимый.
Это приводит к перегрузке: аналитикам приходится вручную сортировать каждое срабатывание, что занимает в среднем по 10 минут. Для крупных проектов это оборачивается сотнями часов работы. В исследовании показано, что использование ИИ для приоритизации и фильтрации предупреждений позволило сэкономить более 350 часов на трёх различных стек-технологиях.
Из-за потока нерелевантных оповещений команды вынуждены либо настраивать инструменты на максимальную агрессию, рискуя пропустить важное, либо игнорировать всё, что не помечено как угроза высокой критичности. Это создаёт условия, при которых реальные уязвимости могут остаться незамеченными.
Ghost Security подчёркивает, что подходы к статическому анализу нуждаются в переосмыслении. Необходима интеграция контекстных механизмов, адаптивной оценки и интеллектуальных фильтров, чтобы вывести процессы обнаружения угроз на уровень, соответствующий сложности современного кода.



