
Традиционно решения класса SAST применяются для раннего выявления уязвимостей в исходном коде. Анализ выполняется без запуска приложения и используется на этапах разработки. Однако функциональность современных SAST этим не ограничивается. Рассмотрим, какие функции сегодня реализуют такие решения.
Введение
Работа организаций напрямую зависит от бизнес-приложений, через которые обрабатываются клиентские запросы, выполняются транзакции и предоставляются цифровые сервисы. При постоянном развитии этих систем особенно важно контролировать качество и безопасность исходного кода.
Основная проблема заключается в том, что уязвимости часто закладываются уже на этапе написания кода. Ошибки в логике работы или небезопасные конструкции могут привести к компрометации данных и нарушению доступности сервисов, а их обнаружение на поздних этапах разработки требует существенно больших ресурсов. Исправление дефекта на раннем этапе обходится значительно дешевле и снижает потенциальные риски для бизнеса.
Для системного решения этой задачи применяются инструменты статического тестирования безопасности приложений (Static Application Security Testing, SAST). Они позволяют выявлять потенциальные уязвимости до передачи продукта на тестирование или в эксплуатацию.
Что такое SAST
Статическое тестирование безопасности приложений — метод анализа программного обеспечения (ПО), относящийся к подходу «белого ящика». Его назначение — выявление дефектов безопасности на ранних этапах жизненного цикла разработки ПО. Анализ направлен на поиск уязвимостей внедрения кода, ошибок в реализации криптографических механизмов, логических дефектов и других проблем, влияющих на защищённость приложения.
На практике статический анализ применяется как на ранних стадиях разработки, когда функциональность приложения ещё формируется, так и на завершающих этапах подготовки к выпуску версии программного продукта. В последнем случае задача анализа заключается в выявлении уязвимостей, ошибок и недекларированных возможностей, которые могли остаться в коде.
К преимуществам SAST относится высокая скорость проверки при использовании автоматизированных анализаторов и возможность исследовать практически весь код приложения. Результаты анализа показывают проблемные участки программы и содержат рекомендации по их исправлению.
Недостатком метода остаются ложноположительные срабатывания. Анализатор может указать на потенциальную уязвимость, которая фактически отсутствует. Такие результаты требуют дополнительной проверки.
Как работает Static Application Security Testing?
Исходный код сначала преобразуется во внутреннее представление, после чего применяются алгоритмы анализа и правила поиска уязвимостей. Обнаруженные проблемы сопоставляются с конкретными фрагментами программы, чтобы разработчик мог увидеть источник ошибки в контексте кода. По итогам формируется перечень выявленных дефектов и рекомендации по их устранению.
Для анализа бинарных файлов применяются методы декомпиляции и деобфускации. Декомпиляция позволяет восстановить из машинного кода представление программы, близкое к исходному коду, что упрощает исследование логики работы приложения, используемых алгоритмов и взаимодействия между компонентами. Деобфускация направлена на устранение механизмов запутывания кода, которые применяются для усложнения анализа и сокрытия реальной функциональности программы.
При проверке применяются различные подходы к исследованию кода: лексический, синтаксический и семантический анализы, Taint-анализ, методы распространения типов и констант, а также анализ графов потока управления. Такой комплексный подход позволяет выявлять небезопасные конструкции, ошибки в логике работы приложения и потенциальные уязвимости.
Мировой рынок SAST
В целом все аналитические исследования сходятся в оценке тенденции: рынок Static Application Security Testing демонстрирует устойчивый рост, однако прогнозируемые значения объёма рынка и темпы роста отличаются.
Например, по оценке Global Growth Insights, мировой рынок SAST в 2025 году составил около 0,69 млрд долларов США. В 2026 году компания ожидает рост до 0,74 млрд долларов, а к 2035 году — до 1,33 млрд долларов при среднем ежегодном темпе роста 6,8 %. По данным Mordor Intelligence, объём рынка SAST в 2025 году составил 0,554 млрд долларов США. К 2030 году прогнозируется рост до 1,548 млрд долларов США при среднегодовом темпе роста 22,82 %.
Рост обусловлен следующими факторами:
- увеличение количества атак на программные приложения и усиление требований к безопасности ПО;
- внедрение практик разработки, безопасности и эксплуатации (DevSecOps);
- интеграция инструментов статического анализа в конвейеры непрерывной интеграции и доставки программного обеспечения (CI / CD);
- переход организаций к облачным моделям развёртывания средств анализа;
- применение методов искусственного интеллекта (ИИ) для повышения эффективности анализа и сокращения количества ложных срабатываний.
Рисунок 1. Объём мирового рынка SAST согласно Mordor Intelligence
В качестве основных игроков в отчётах названы компании: Synopsys (Software Integrity Group), Veracode, Checkmarx, Snyk, Sonatype, IBM / HCL, Qualys, Code Dx, CodeSecure, WhiteHat Security, Peach Tech, BugScout, AttackFlow.
Отдельно в исследовании отмечается распределение долей рынка между крупнейшими игроками. Наибольшая доля приходится на Checkmarx (около 16,5 %). В описании продукта Checkmarx SAST вендор подчёркивает, что инструмент обеспечивает сочетание высокой скорости анализа и надёжной безопасности: время проверки исходного кода сокращается на 90 %, а количество ложных срабатываний уменьшается на 80 %, что значительно повышает удобство работы разработчиков.
Второе место занимает IBM / HCL с долей около 15,8 %. Их решение HCL AppScan Source представляет собой SAST с расширенными возможностями. Его можно использовать в виде настольного приложения, плагина для IDE или автоматизированного инструмента для интеграции в рабочие процессы SDLC. С применением функций на основе ИИ решение обеспечивает более широкий охват исходного кода, снижает число ложных срабатываний и позволяет выявлять наиболее критичные уязвимости.
Российский рынок SAST
В 2025 году проведён цикл испытаний статических анализаторов исходного кода при организационной и методической поддержке ФСТЭК России. Полученные результаты оказались содержательными и во многом показательными. Испытания позволили проверить соответствие инструментов требованиям стандарта ГОСТ Р 71207–2024, а также выявить особенности практического применения средств статического анализа исходного кода. В то же время стало ясно, что методика оценки и сама тестовая база пока находятся на начальном этапе развития и требуют дальнейшего уточнения и расширения.
В исследовании участвовали решения ряда отечественных разработчиков: ИСП РАН, «НПО «Эшелон», ГК «СОЛАР», Positive Technologies, «ПВС» и «Базальт СПО». Часть из них рассматривалась нами ранее при изучении инструментов, предназначенных для проверки защищённости программного обеспечения на уровне исходного кода.
Но практическое участие разработчиков в этих испытаниях повлияло не только на сам процесс оценки, но и на развитие инструментов. В ряде решений были доработаны механизмы анализа и обработки результатов, что отразилось в последующих версиях продуктов. Поэтому в этом обзоре рассмотрим как новые инструменты, не участвовавшие в предыдущем анализе, так и решения, которые уже были представлены ранее, но с тех пор претерпели изменения.

АИСТ-С
АИСТ-С — анализатор исходных текстов C и C++-программ, предназначенный для проверки исходного кода на отсутствие недекларированных возможностей. В автоматическом режиме формирует данные о структуре и ряде характеристик исследуемого программного комплекса.
Поддерживает работу эксперта в интерактивном режиме: результаты анализа представлены с привязкой к соответствующим участкам исходного кода, что позволяет проводить детальное исследование информации непосредственно в контексте анализируемого программного комплекса.
Рисунок 2. Анализатор исходных текстов С-программ
Особенности:
- Формирует список используемых подпрограмм с определением их взаимодействия через управление и передачу данных. На основе этих связей строятся возможные последовательности вызовов подпрограмм при выполнении функций комплекса.
- Выявляет критические маршруты вызова подпрограмм.
- Детектирует неиспользуемые переменные и подпрограммы, потенциально опасные конструкции языка программирования.
- Формирует блок-схемы алгоритмов.
Продукт внесён в реестр отечественного ПО (№ 7056 от 07.10.2020).
Больше информации об АИСТ-С — на сайте вендора.
AppSec.Wave
Анализ безопасности исходного кода с помощью SAST-инструментов помогает находить и устранять уязвимости на ранних стадиях разработки цифровых продуктов (ПО или мобильных приложений), позволяя внедрять полноценный shift-left-подход. Благодаря быстрому сканированию и качественному выявлению проблем сокращаются сроки вывода цифрового продукта на рынок, а также минимизируются риски и затраты на исправление ошибок после релиза.
AppSec.Wave интегрируется в существующий ландшафт безопасной разработки организации и легко встраивается в рабочие процессы AppSec-команд. Платформа предоставляет мгновенную обратную связь и рекомендации по исправлению ошибок и уязвимостей в коде в привычной для разработчика среде. Инструмент позволяет анализировать уязвимости, генерировать отчёты и обеспечивает полный контроль над процессом оценки исходного кода приложений.
Рисунок 3. Дашборд проекта с отчётом по сканированию в AppSec.Wave
Особенности:
- Возможность интеграции AppSec.Wave с MCP-сервером. Это делает проверку кода нативной частью работы ИИ-ассистента и позволяет избежать ручных операций.
- Собственная база из 14 000 готовых правил. Предусмотрена возможность создания новых правил, а также изменения и настройки существующих. Для каждого пайплайна или quality gate можно назначать индивидуальный набор правил по умолчанию и гибко управлять их применением.
- Поддержка более 30 языков программирования и технологий разработки, включая C#, C, C++, Go, Java, JavaScript, Kotlin, TypeScript, Python, JSX, Ruby, Scala, Swift, Rust, PHP, Terraform, Generic, JSON, Elixir, APEX и Dart.
- Быстрое развёртывание продукта в Docker и Kubernetes, автоматическое управление, масштабирование и эксплуатация.
Решение включено в реестр отечественного ПО (№ 29442 от 29.08.2025).
Больше информации об AppSec.Wave — на сайте вендора.
PVS-Studio
PVS-Studio — инструментальное средство, разрабатываемое с учётом требований, изложенных в ГОСТ Р 71207–2024. Оно выявляет все виды критических ошибок, перечисленные в стандарте (п. 6.3, п. 6.5), и может использоваться для предотвращения появления и устранения уязвимостей при разработке безопасного ПО. Продукт выполняет требования, изложенные в разделе 8, такие как выдача результатов в открытых форматах, указание соответствия типа ошибки согласно системе классификации MITRE CWE и другие.
Инструмент интегрируется в популярные среды разработки (как плагин) или используется в качестве отдельной консольной утилиты на машине разработчика, а также на выделенном (сборочном) сервере. Он запускается на большом количестве операционных систем, в том числе отечественных: Windows, macOS, Arch Linux, Astra Linux, CentOS, Debian GNU/Linux, Fedora, Linux Mint, openSUSE, Ubuntu, РЕД ОС и других.
Рисунок 4. Работа специального фильтра в PVS-Studio
Особенности:
- Поддерживает языки: C, C++, C#, Java. В 2026 планируется выпуск версии, где будет добавлен анализ языков Go, JavaScript, TypeScript.
- Содержит более 1000 диагностических правил.
- Возможно использование в полностью закрытом контуре, в офлайн-режиме.
- Отчёты анализатора доступны в форматах Html, Xml, Csv, Txt, Json, CompileError, TaskList, TeamCity. Сам генератор опубликован на GitHub для пользовательских модификаций.
Анализатор включён в отечественного ПО (№ 9837 от 18.03.2021).
Больше информации о PVS-Studio — на сайте вендора.

Svace
Svace — статический анализатор, реализующий функциональные возможности, характерные для зарубежных решений (Synopsis Coverity Static Analysis, Perforce Klocwork Static Code Analysis, Fortify Static Code Analyzer). В основе работы используются открытые промышленные компиляторы, что обеспечивает поддержку актуальных стандартов языков программирования.
Анализатор совместим с ГОСТ Р 71207–2024, нормативными документами и требованиями регуляторов (ФСТЭК России). Его можно использовать для реализации обеспечительных мер ГОСТ Р 56939–2016 / 2024, а также процедур последних редакций «Методики выявления уязвимостей и недекларированных возможностей в программном обеспечении» ФСТЭК России (при необходимости сертификации ПО для использования в России). Для создания ряда специфических детекторов для ГОСТ-ошибок используется Svace API.
Svace поставляется с веб-интерфейсом просмотра предупреждений Svacer (Svace History Server).
Рисунок 5. Веб-интерфейс Svacer
Особенности:
- Поддерживает языки C / C++, C#, Java, Kotlin, Go, Python, Scala, Visual Basic .NET. В режиме лёгкого анализа — JavaScript. Из новых языков Svace поддерживает анализ программ на Lua, пока легковесный — на уровне универсального синтаксического дерева.
- Детектирует более 1000 типов ошибок в исходном коде, включая более 70 критических, а также множество недостатков кодирования и стилистических недочётов.
- Используется межпроцедурный статический анализ на основе резюме функций, при котором функции программы обходятся в порядке «снизу вверх» в соответствии с графом вызовов: вызываемая функция анализируется раньше вызывающей.
- Покомпонентный режим предназначен для анализа независимых подпрограмм и крупных программных систем. Выделение независимых модулей выполняется автоматически на основе данных графа компоновки. Зависимые компоненты при этом продолжают анализироваться совместно.
- Предусмотрена интеграция в типовые процессы CI / CD за счёт интерфейса командной строки и возможностей инкрементального анализа.
- Работают ИИ-ассистенты, которые предсказывают истинность срабатывания.
Статический анализатор внесён в реестр отечественного ПО (№ 4047 от 11.12.2017).
Больше информации о Svace — на сайте вендора.
Выводы
Решения SAST становятся более универсальными и функциональными. Вендоры расширяют список поддерживаемых языков программирования, внедряют интеллектуальные ассистенты для ускорения и упрощения анализа. Также они увеличивают перечень операционных систем, на которых инструменты могут запускаться.
При этом статические анализаторы исходного кода сохраняют своё основное назначение — раннее выявление потенциальных уязвимостей. Современные инструменты позволяют точнее определять проблемные участки кода, снижать количество ложноположительных срабатываний и облегчать работу разработчиков при устранении уязвимостей. Это повышает надёжность и безопасность создаваемых бизнес-приложений.











