Импортозамещение SAST в дипломе: анализ безопасности кода в CI/CD — кейс Сбера
Короткий факт: в марте 2026 года «Сбер» полностью заменил зарубежный SAST-инструмент на собственное решение SASTAV, встроив его в производственный конвейер разработки. Это не просто новость из мира больших корпораций — это сигнал для всех, кто готовит ВКР по направлениям «Программная инженерия», «Информационная безопасность» или «Прикладная информатика». Теперь тема статического анализа кода становится не абстрактной лабораторной работой, а реальным кейсом, который можно разобрать на уровне архитектуры, метрик и внедрения.
Для вашего диплома этот кейс даёт готовый повод показать актуальность: вы берёте не выдуманную задачу, а тренд, который уже реализован в крупнейшем банке страны. Ниже разберём, как превратить эту новость в полноценные главы ВКР: от аналитики до тестирования и экономического обоснования.
Темы ВКР на основе кейса Сбера (от актуальности до структуры)
Если вы ещё не выбрали тему или хотите скорректировать текущую — вот три проработанных варианта. Каждый включает актуальность, цель, задачи и возможную структуру.
Вариант 1. Проектирование SAST-модуля для CI/CD-пайплайна (DevSecOps)
Актуальность: Сбер перешёл на собственный SASTAV и опубликовал результаты — время анализа снизилось, покрытие кода выросло. Это подтверждает: безопасность — не отдельный этап, а часть конвейера разработки.
Цель: спроектировать и реализовать модуль статического анализа безопасности, встраиваемый в CI/CD на базе GitLab CI или Jenkins.
Задачи:
- Проанализировать существующие SAST-решения (SonarQube, Semgrep, SpotBugs) по критериям: скорость, типы уязвимостей, языки программирования, лицензирование.
- Обосновать выбор архитектуры для собственного анализатора или адаптации open-source ядра.
- Разработать механизм интеграции: сборка артефактов, запуск анализа, генерация отчёта, остановка пайплайна при критических уязвимостях.
- Оценить эффективность: сравнить время прогона, процент ложных срабатываний и полноту покрытия CWE/OWASP.
Структура:
- Глава 1 — Анализ предметной области: статический анализ, SAST в DevSecOps, обзор инструментов, нормативные требования.
- Глава 2 — Проектирование: архитектура модуля, схема данных, алгоритм анализа, интеграция с пайплайном.
- Глава 3 — Тестирование и экономическая эффективность: функциональное тестирование, метрики производительности, расчёт экономии на устранении уязвимостей.
Вариант 2. Сравнительный анализ SAST-инструментов для импортозамещения (аналитическая ВКР)
Актуальность: После ухода зарубежных вендоров российские компании выбирают между отечественными решениями и собственными разработками. Кейс Сбера показывает: обоснованный выбор возможен, если есть формализованные критерии.
Цель: разработать методику сравнительной оценки SAST-инструментов и применить её к списку российских решений.
Задачи:
- Определить критерии сравнения: скорость анализа, точность, поддерживаемые языки, типы уязвимостей, лицензия, стоимость владения.
- Составить карту функциональности SASTAV, Solar AppScreener, Checkmarx (если доступен), PVS-Studio.
- Провести экспериментальное тестирование на учебном проекте (репозиторий с типовыми уязвимостями).
- Разработать рекомендации для выбора инструмента в зависимости от размера организации.
Структура:
- Глава 1 — Теоретические основы анализа безопасности приложений: модели уязвимостей, стандарты CWE, OWASP Top 10.
- Глава 2 — Методика сравнения: критерии, весовые коэффициенты, тестовая платформа.
- Глава 3 — Результаты эксперимента и рекомендации.
Вариант 3. Метрики эффективности SAST-инструмента после внедрения в CI/CD
Актуальность: Сбер заявляет, что импортозамещение завершено, но какие метрики использовались? В дипломе можно разработать систему метрик для оценки влияния SAST на процесс разработки.
Цель: построить модель мониторинга эффективности SAST-анализа на основе OpenTelemetry и метрик типа MTTR, RTO/RPO безопасности.
Задачи:
- Собрать данные о работе SAST-инструмента в игрушечном пайплайне (время анализа, число уязвимостей, ложные срабатывания).
- Выбрать метрики: average time to detect, false positive rate, coverage, время простоя пайплайна.
- Интегрировать OpenTelemetry для сбора трейсов анализа.
- Сравнить метрики «до» и «после» оптимизации.
Структура:
- Глава 1 — Показатели качества систем безопасности: ISO/IEC 25010, ISO/IEC 27001.
- Глава 2 — Архитектура сбора метрик: OpenTelemetry, Jaeger, Prometheus.
- Глава 3 — Эксперимент и анализ результатов.
Как применить новость в разделах ВКР: конкретные примеры
Аналитическая глава: сравнительная таблица SAST-решений
Вместо словесного описания «этот инструмент хороший, а этот нет» используйте таблицу. Ниже — шаблон, который можно адаптировать под свою тему:
| Критерий | SASTAV (Сбер) | SonarQube (open source) | Semgrep | PVS-Studio |
|---|---|---|---|---|
| Языки программирования | Java, Kotlin, Swift, Python | Java, C#, JS, TS и др. | Python, Go, Java, JS | C/C++, C#, Java |
| Типы уязвимостей | OWASP Top 10, CWE | Качество кода + безопасность | OWASP, CWE, пользовательские правила | CWE, MISRA, OWASP |
| Скорость на 100k строк (мин) | ~10 (по данным Сбера) | 15-20 | 5-8 | 20-30 |
| Ложные срабатывания | Низкие | Средние | Средние | Низкие |
| Интеграция с CI/CD | Нативно | GitLab CI, Jenkins | CLI, API | CLI |
| Лицензия | Проприетарная (Сбер) | LGPL для community | LGPL-2.1 | Проприетарная |
В аналитической главе обязательно сошлитесь на источник: «Сбер завершил импортозамещение SAST-инструмента, выбрав SASTAV…». Это усилит позицию «тема не взята с потолка, а отражает реальный рыночный тренд».
Проектная часть: архитектура интеграции SAST в CI/CD
Когда вы переходите к проектированию, не рисуйте общую схему «разработчик → репозиторий → CI → SAST → отчёт». Покажите глубже:
- Как SAST получает код: через git-хуки, во время сборки, или как отдельный сервис, вызываемый по API.
- Как обрабатываются результаты: экспорт в JSON → парсер → формирование SARIF-отчёта → публикация в GitLab MR или Jira.
- Как принимается решение о блокировке пайплайна: по пороговому значению критичности (например, CVSS ≥ 7,0 останавливает деплой).
# Пример стадии SAST в .gitlab-ci.yml
sast:
stage: security
image: sastav/cli:latest
script:
- sastav analyze --workdir .
artifacts:
paths: [report.sarif]
when: always
variables:
SASTAV_THRESHOLD: "critical"
Упомяните, что Сбер встроил SASTAV в «производственный конвейер» — значит, в ВКР надо показать, как ваш модуль встраивается в существующий пайплайн и какой шаг добавляется (или заменяется). Используйте нотацию BPMN или UML — это оценят на защите.
Тестирование и метрики: RTO/RPO, нагрузка и качество
Одна из самых слабых частей студенческих ВКР — отсутствие численных показателей. Новость из статьи дает отправную точку: сравните свою реализацию с теми цифрами, которые упоминает Сбер. Например:
- Время анализа на 100 000 строк кода — у меня N минут, у Сбера примерно M. Сравнение корректно, если оговорить условия (железо, типы правил).
- Процент ложных срабатываний — можно измерить на датасете из OWASP Benchmark.
- Влияние на скорость пайплайна — замеряйте время сборки до и после добавления стадии SAST.
Используйте OpenTelemetry для трейсинга: запуск анализа, парсинг результата, публикация в реестр. Это даст вам красивые дашборды для презентации.
Чему вы научитесь, взяв такую тему
Работа над SAST-тематикой прокачает навыки, которые действительно спрашивают на собеседованиях:
- Проектировать архитектуру безопасной разработки (DevSecOps).
- Обосновывать выбор стека: не «так принято», а через сравнение с метриками.
- Подключать инструменты к CI/CD: GitLab CI, GitHub Actions, Jenkins.
- Работать с отчётами SARIF, форматами JSON, API.
- Составлять техническую документацию по ГОСТ 34.602-89 для ТЗ, ГОСТ 19.701 для схем.
Типичные ошибки студентов в таких работах
1. Подмена терминов без обоснования. Путают SAST, DAST, IAST и пишут «мы используем статический и динамический анализ», но не объясняют, почему нужны оба. Решение: в главе 1 чётко разграничьте классы анализаторы и приведите примеры задач для каждого.
2. Отсутствие метрик эффективности. Заявили, что «инструмент ускоряет разработку», но нет ни одной цифры. Решение: возьмите хотя бы три метрики — время анализа, время сборки до/после, доля ложных срабатываний. Замеры делайте на реальном (учебном) репозитории, например, на проекте с уязвимостями из OWASP WebGoat.
3. Игнорирование требований ГОСТ при оформлении ТЗ. Тема безопасности — это как раз тот случай, когда проверяющий смотрит на соответствие ГОСТ 34.602-89 (техническое задание). Если вы пишете «просто модуль», без раздела «Требования к функциям» или «Требования к безопасности», оценка снижается.
FAQ: частые вопросы студентов про ВКР по SAST
Обязательно ли писать свой код, если я беру аналитическую тему?
Желательно, но допустимо провести эксперимент на готовом open-source инструменте и написать скрипты для сравнения результатов. Например, прогнать SonarQube и Semgrep на одном наборе файлов и собрать статистику. Это считается практической частью, если оформлено как «программное обеспечение для автоматизации сравнения». ВУЗы обычно требуют хотя бы фрагменты кода — не пугайтесь, простой Python-скрипт достаточно.
Где взять тестовые данные для проверки уязвимостей?
Есть готовые проекты: OWASP WebGoat (Java), OWASP Juice Shop (Node.js), DVCA (C#), а также наборы с преднамеренно внедрёнными уязвимостями — например, OWASP Benchmark или Security Shepherd. Для экспериментов лучше использовать маленькие репозитории, чтобы SAST отрабатывал быстро.
Как оформить UML-диаграммы для проектной части?
Язык моделирования — UML 2.5. Основные диаграммы: компонентная (компоненты SAST, CI, хранилище отчётов), последовательности (процесс сканирования после commit), развёртывания (где живёт анализатор — в Kubernetes-поде или отдельной ВМ). Не забудьте подписи и соответствие ГОСТ 19.701-90. Если в вузе требуют BPMN — нарисуйте процесс с обнаружением уязвимости и нотификацией.
Как быть, если тема ВКР не связана с безопасностью, а новость про Сбер не подходит?
Импортозамещение и SAST — это часть более широкого тренда «качество кода». Даже если ваша тема — «Разработка интернет-магазина», вы можете включить раздел «статистический анализ кода» как способ контроля качества. Тогда новость станет аргументом для актуальности: «крупные компании внедряют SAST, значит мне полезно использовать его в своей разработке».
Чек-лист перед сдачей работы
- В разделе «Актуальность» есть ссылка на новость или тренд — не просто «в современном мире».
- Аналитическая глава содержит таблицу сравнения как минимум двух SAST-инструментов.
- В проектной главе есть архитектурная схема (UML или BPMN), где SAST-модуль показан в контуре CI/CD.
- В главе с тестированием — минимум 3 метрики: время анализа, ложные срабатывания, влияние на конвейер.
- Оформление соответствует ГОСТ: ТЗ — ГОСТ 34.602-89, программная документация — ЕСПД.
- Сделан вывод по импортозамещению: сформулировано, что замена зарубежных инструментов даёт (или требует) в контексте вашей работы.
- Цель работы достигнута, задачи соответствуют структуре глав.
Ваша ВКР может быть готова быстро и без лишнего стресса. Мы знаем, как написать диплом по IT-тематике, даже если вы новичок в программировании. Предложим план, литературу и доведём работу до защиты. Первичная консультация — бесплатно. Поможем с любой темой, включая SAST, DevOps, Kubernetes, анализ данных. При разработке ВКР на заказ ваш научный руководитель получает готовую, проверенную работу — вы успеваете подготовиться к защите. Оставьте заявку на сайте, и мы рассчитаем срок выполнения (в среднем — 120 часов на полный проект).
Источник: Сбербанк импортозаместил инструмент статического анализа безопасности приложений в производственном конвейере (опубликовано 2026-03-17)
```