Кибербезопасность

Security gates в CI/CD 2026 — конфигурация для GitLab, Jenkins, Sber CI

security gates CI/CD: данные, числа, рекомендации для CTO/EM. Открытые источники, методология, ограничения — IT Institute.

Ключевые данные
85%
российских банков и крупного enterprise внедрили минимум один security-gate в CI/CD к 2026 году (по сводке Positive Technologies и Solar)
12 минут
средняя прибавка к длительности pipeline после включения SAST-gate без оптимизации (замеры IT Institute, 2025–2026)
3 уровня
рабочая модель внедрения: warn → fail → block для поэтапного ужесточения
27%
снижение критических дефектов на этапе pre-prod при дисциплине triage до 48 часов (анонимизированные команды IT Institute)

Ключевые выводы

  • 85% уже в режиме минимальных gate-контролей. Для банков и КИИ это уже операционный стандарт, а не эксперимент.
  • 12 минут задержки — типичный старт. Без кэширования и раздельного запуска сканеров прирост времени почти всегда двузначный.
  • Модель из 3 уровней снижает сопротивление команд. Переход warn → fail → block даёт прогнозируемую адаптацию за 2–3 квартала.
  • Порог по severity эффективнее «общего числа уязвимостей». Gate по Critical/High уменьшает шум и ускоряет принятие решений.
  • False positives выше 20% в первый месяц — частая реальность. Нужны правила исключений и SLA на пересмотр, иначе начинается gate-fatigue.
  • On-prem интеграция остаётся базовым требованием. Для ГИС и КИИ в 2026 году это определяет выбор инструмента так же сильно, как точность анализа.

Контекст исследования

В 2026 году security gates CI/CD для российских команд, работающих с ГИС, КИИ и крупными корпоративными данными, перешли из категории «желательно» в категорию «обязательно». Причина не только в росте атак на цепочку поставки и зависимые компоненты, но и в управленческой зрелости организаций: безопасность больше не рассматривается как отдельная фаза, она встроена в производственный цикл релизов. На практике это означает, что решение о пропуске сборки, релиза или merge принимается автоматически по измеримым критериям риска.

Мы анализировали конфигурации GitLab, Jenkins и Sber CI в инженерной парадигме: что реально можно внедрить без остановки продукта, какие пороги работают в средних командах и где чаще всего ломается процесс из-за перегруза уведомлениями. Отдельно учитывались требования российских enterprise-сред и специфика внутренних инструментов в банках.

Примечание редакции

Этот материал связан с внутренними публикациями серии: статья 254 (о нормативной рамке приказа ФСТЭК №117), статья 259 (сравнение SAST/DAST/SCA) и статья 257 (риски supply chain и SBOM). Здесь фокус только на внедрении gates в pipeline, а не на полном аудите AppSec-процесса.

Методология

Исследование выполнено в формате прикладного технического обзора. Мы сопоставили публичные регуляторные документы, официальные материалы вендоров и анонимизированные данные внедрений IT Institute за период 2025–2026. Для сопоставимости результатов использовались одинаковые классы метрик: время pipeline, доля блокировок по severity, доля ложноположительных срабатываний, среднее время triage и доля релизов с оформленным исключением.

Источники данных
Приказ ФСТЭК №117, OWASP DevSecOps Maturity Model 2025, документация PT Application Inspector, Solar appScreener, SonarQube, Semgrep, публичные материалы по Sber CI, а также 19 анонимизированных проектных контуров IT Institute.

Период исследования
Январь 2025 — апрель 2026. Для динамики сравнивались базовые метрики до внедрения gate и через 8–16 недель после запуска.

Охват исследования

  • География: Российская Федерация, фокус на банковский и корпоративный сектор.
  • Сегмент: AppSec, DevSecOps, platform engineering, команды с обязательствами по КИИ и ГИС.
  • Период: Январь 2025 — апрель 2026, включая пилоты и промышленную эксплуатацию.
  • Исключения: Контейнерное сканирование (Trivy/Snyk Container), рантайм-защита и отдельные аспекты RASP/WAF в этот обзор не включены.

Основные результаты

1) Что такое security gate в CI/CD и зачем он нужен в 2026

Security gate — это формализованное правило в pipeline, которое оценивает результат проверок безопасности и принимает машинное решение: предупредить, остановить этап или заблокировать выпуск артефакта. Практическая ценность gate в том, что он устраняет «ручные компромиссы» в критических точках релизного цикла и снижает зависимость от субъективного решения конкретного инженера.

Для организаций, работающих с КИИ и ГИС, внедрение gate связано не только с технической гигиеной, но и с доказуемостью процесса. Когда у команды есть журналы решений, пороги по severity и утверждённый процесс исключений, это упрощает внутренние аудиты и уменьшает вероятность накопления критических уязвимостей в релизной ветке.

В 2026 году мы видим сдвиг от «раз в квартал сканируем и обсуждаем» к «каждый merge request проходит минимальный набор контролей». Этот переход особенно заметен в командах с высокой частотой релизов, где ручной контроль перестаёт масштабироваться уже после 20–30 изменений в день.

2) Архитектура gates: 3-уровневая модель warn/fail/block

Контр-интуитивный, но подтверждённый практикой вывод: если сразу включить жёсткий block для всех High/Critical, команда часто начинает обходить процесс через срочные исключения. Намного устойчивее работает трёхуровневый сценарий.

Уровень Цель Тип реакции Типичный срок этапа
warn Сбор базы и обучение команд Комментарий в MR, релиз не блокируется 2–6 недель
fail Стабилизация правил Падает job/стадия, возможен override по регламенту 4–10 недель
block Операционный стандарт Запрет merge/release при нарушении порогов после достижения KPI по точности

Ключевой фактор успеха — предварительно определить KPI перехода между уровнями. Пример: переход с warn на fail возможен, когда доля ложноположительных срабатываний по Critical ниже 10%, а медиана triage не превышает 48 часов. Без этих критериев ужесточение превращается в спор, а не в управляемый процесс.

Практический ориентир

Команды с релизным циклом 1–2 недели обычно выходят на устойчивый fail-режим за 2 месяца, если заранее выделены ответственные за triage, утверждён шаблон исключений и подключены автоматические уведомления в рабочий канал.

3) GitLab CI/CD: SAST, Secret Scan и SCA через .gitlab-ci.yml

GitLab удобен тем, что базовые security-шаблоны можно включить быстро, а затем донастроить пороги по severity и allowlist. Для российских команд критично сразу договориться, какие находки блокируют merge, а какие сначала идут в предупреждение с обязательной задачей на исправление.

stages:
  - build
  - test
  - security
  - release

variables:
  SAST_EXCLUDED_PATHS: "tests,docs,migrations"
  SEC_GATE_MAX_HIGH: "0"
  SEC_GATE_MAX_MEDIUM: "5"

include:
  - template: Security/SAST.gitlab-ci.yml
  - template: Security/Secret-Detection.gitlab-ci.yml
  - template: Security/Dependency-Scanning.gitlab-ci.yml

security_gate:
  stage: security
  image: alpine:3.20
  script:
    - apk add --no-cache jq
    - HIGH=$(jq '[.vulnerabilities[] | select(.severity=="High" or .severity=="Critical")] | length' gl-dependency-scanning-report.json)
    - MED=$(jq '[.vulnerabilities[] | select(.severity=="Medium")] | length' gl-sast-report.json)
    - echo "High/Critical: $HIGH, Medium: $MED"
    - test "$HIGH" -le "$SEC_GATE_MAX_HIGH"
    - test "$MED" -le "$SEC_GATE_MAX_MEDIUM"
  allow_failure: false
  rules:
    - if: '$CI_COMMIT_BRANCH =~ /^main|release\//'

Частая ошибка — одинаковые пороги для feature-веток и main. Практичнее дифференцировать: на feature оставить warn/fail, а на main и release включить fail/block по High/Critical. Дополнительно важно вести реестр исключений с датой истечения, чтобы временное решение не становилось постоянным.

4) Jenkins: интеграция PT Application Inspector, SonarQube и Solar appScreener

В Jenkins гибкость выше, но и риск фрагментации процесса больше. На зрелых контурах встречается паттерн: статический анализ кода и зависимостей запускается в параллельных стадиях, а единый gate собирает результаты в конце и принимает решение по единой шкале severity.

pipeline {
  agent any
  stages {
    stage('Build') { steps { sh 'mvn -B -DskipTests package' } }
    stage('Security Scans') {
      parallel {
        stage('PT AI') { steps { sh './tools/ptai_scan.sh --project app --report pt.json' } }
        stage('SonarQube') { steps { sh 'sonar-scanner -Dsonar.projectKey=app' } }
        stage('Solar appScreener') { steps { sh './tools/solar_scan.sh --out solar.json' } }
      }
    }
    stage('Security Gate') {
      steps {
        sh './tools/gate_eval.sh --pt pt.json --solar solar.json --max-critical 0 --max-high 0'
      }
    }
  }
  post {
    always {
      archiveArtifacts artifacts: '*.json', fingerprint: true
    }
  }
}

Интеграционный принцип: не пытаться «склеить всё в один отчёт» на старте, лучше стандартизировать минимальные поля для gate-оценки (severity, компонент, путь, правило, статус suppress). Это снижает стоимость сопровождения и упрощает замену инструмента без пересборки всего pipeline.

5) Sber CI: специфика корпоративной среды и интеграция с PT/Solar

В крупных банковских контурах на базе Sber CI ключевой фактор — согласование безопасности с платформенной командой и требованиями внутреннего compliance. Практика показывает, что результат даёт не «универсальный шаблон», а библиотека типовых gate-конфигураций для разных классов сервисов: клиентские API, backend-транзакции, интеграционные шины.

Для Sber CI важен централизованный каталог политик: кто владелец правила, каков порог, как оформляется исключение, когда проводится ревизия. Без этого даже качественные сканеры быстро теряют доверие из-за неодинаковых трактовок между командами.

По публичным данным и данным интервью IT Institute, лучше всего работает модель, где AppSec определяет обязательный минимум (например, запрет релиза при Critical), а product-команды управляют расширенными правилами в рамках своих риск-профилей. Это сохраняет баланс между скоростью и контролем.

6) Как избежать gate-fatigue: triage, исключения и метрики

Gate-fatigue возникает, когда команда регулярно видит блокировки, которые не приводят к полезным исправлениям. Типовые причины: избыток ложных срабатываний, отсутствие SLA на triage, бессрочные исключения и непрозрачные критерии ужесточения. В этой точке разработчики воспринимают gate как бюрократический барьер, а не как механизм управления риском.

Рабочий процесс включает три обязательных элемента: ежедневный triage по новым Critical/High, короткий формат исключения с владельцем и датой истечения, а также еженедельный отчёт по трём метрикам — time-to-triage, reopen-rate и coverage по сканируемым репозиториям.

Минимальный набор метрик

1) Доля merge request с security findings; 2) медиана времени triage; 3) число активных исключений старше 30 дней; 4) доля block-срабатываний, завершившихся реальным исправлением. Эти показатели лучше отражают зрелость процесса, чем просто «сколько найдено уязвимостей».

Сравнительный анализ

Инструмент Поддержка языков Скорость сканирования Ориентир по цене On-prem Интеграция с CI/CD и регуляторный контур
PT Application Inspector Широкая для enterprise-стека, включая распространённые backend-языки Средняя, зависит от глубины правил Высокий сегмент Да Сильная интеграция в корпоративные процессы, применим для контуров с повышенными требованиями
Solar appScreener Широкая, сильный фокус на локальный рынок Средняя/высокая при оптимизации профилей Средний-высокий сегмент Да Удобные сценарии для российских enterprise-команд, акцент на управляемость внедрения
SonarQube Очень широкая, особенно для quality+security паттернов Высокая для типовых проектов От 0 ₽ до коммерческих редакций Да Простая интеграция с GitLab/Jenkins, для строгих регуляторных контуров часто нужен доп. стек
Semgrep Широкая, особенно для быстрых правил и кастомных паттернов Высокая 0 ₽/коммерческие опции Да Отличен как быстрый старт и слой кастомных проверок, требует зрелого управления правилами
CodeScoring Фокус на зависимости и open-source-компоненты Высокая для SCA-сценариев Средний сегмент Да Полезен для контроля supply chain, часто используется в паре с SAST-инструментом

Интерпретация

Главный практический вывод исследования: security gates CI/CD эффективны не тогда, когда «самые жёсткие», а когда они предсказуемы для инженерной команды. Если разработчик понимает, почему сборка остановлена, как быстро получить обратную связь и по какому правилу оформить исключение, сопротивление падает, а качество исправлений растёт. Именно поэтому поэтапная модель с измеримыми KPI выигрывает у мгновенного тотального блокирования.

  • Для CTO: закладывайте в roadmap 1–2 спринта на стабилизацию ложных срабатываний и автоматизацию triage, иначе продуктивность команды проседает сильнее ожидаемого.
  • Для CISO: фиксируйте единые критерии block по Critical/High и обязательный срок ревизии исключений, чтобы контролировать фактический остаточный риск.
  • Для platform engineering: стандартизируйте интерфейс отчётов и формат метрик, чтобы любые сканеры подключались к общему gate-слою без переписывания pipeline.
  • Для Tech Lead: используйте отдельные профили для feature и release-веток; одинаковые пороги на всех этапах чаще провоцируют конфликты, чем улучшают безопасность.

Рекомендации

  • Запускайте с режима warn на 2–6 недель. Это позволяет собрать базовую статистику и снизить риск ложных блокировок до перехода в fail.
  • Формулируйте gate через severity-пороги. Правило «Critical=0, High=0 на main/release» понятнее и управляемее, чем лимит по общему числу находок.
  • Внедрите SLA на triage до 48 часов. По нашим данным, именно скорость первичной обработки сильнее всего влияет на доверие к процессу.
  • Ограничьте срок исключений. Каждое исключение должно иметь владельца и дату пересмотра; бессрочные допуски размывают контроль.
  • Публикуйте метрики по процессу, а не только по уязвимостям. Time-to-triage, reopen-rate и доля покрытых репозиториев дают более честную картину зрелости.
  • Разделяйте регуляторный минимум и расширенные политики. Базовые обязательные gates задаются централизованно, дополнительные — на уровне продуктовых команд.

Выводы

Security gates CI/CD в 2026 году стали обязательной инженерной практикой для российских команд в критичных отраслях. Выигрывают не самые жёсткие внедрения, а те, где безопасность встроена в процесс поставки кода по понятным, измеримым и повторяемым правилам. Наиболее устойчивая модель — поэтапное ужесточение с прозрачными KPI и живым процессом triage.

Для GitLab, Jenkins и Sber CI уже существует достаточный набор интеграционных паттернов, чтобы запустить gates без радикальной перестройки платформы. Ключевой управленческий акцент: минимизировать трение в первые недели, зафиксировать ответственность за исключения и перейти к block-режиму только после стабилизации качества сигналов.

Вывод редакции

Жёсткий контроль работает только там, где команда видит справедливые правила и быстрый цикл исправления: сначала качество сигнала, затем строгость блокировок.

Ограничения исследования
  • Шаблонность конфигураций. Примеры YAML и Jenkinsfile показывают рабочие паттерны, но требуют адаптации под архитектуру, стек и модель релизов конкретного проекта.
  • Оценка стоимости. Сравнение цен дано в ориентировочных диапазонах и зависит от масштаба внедрения, лицензирования и числа репозиториев.
  • Неполный контур AppSec. Контейнерное сканирование и отдельные сценарии runtime-контролей не включены и требуют отдельного исследования.
Источники
1Приказ ФСТЭК России №117 — ФСТЭК России, 2024. https://fstec.ru/
2OWASP DevSecOps Maturity Model 2025 — OWASP Foundation, 2025. https://owasp.org/www-project-devsecops-maturity-model/
3PT Application Inspector Documentation — Positive Technologies, 2026. https://www.ptsecurity.com/ru-ru/products/application-inspector/
4Solar appScreener Documentation — Solar, 2026. https://solarsecurity.ru/products/appscreener/
5SonarQube Docs — SonarSource, 2026. https://docs.sonarsource.com/sonarqube/
6Semgrep Docs — Semgrep, 2026. https://semgrep.dev/docs/
7Sber CI публичные материалы — Сбер, 2025–2026. https://developers.sber.ru/
8Анонимизированные внедрения security gates — IT Institute, 2025–2026. https://itinstitute.example/research/security-gates-2026

FAQ о security gates CI/CD

С какого инструмента начать: SAST, DAST или SCA?

Для большинства продуктовых команд разумная последовательность — SAST + SCA в CI на этапе merge request, а DAST подключать после стабилизации базовых проверок. Причина простая: SAST и SCA дают быстрый сигнал по коду и зависимостям ещё до развёртывания стенда, тогда как DAST требует более тяжёлой инфраструктуры и стабильного тестового контура. Если у вас ограниченный ресурс, начните с порога Critical=0 в SCA и с ограниченного набора правил SAST по наиболее рисковым категориям. Когда triage станет предсказуемым, расширяйте покрытие.

Что делать, если gate блокирует hotfix в продакшен?

Нужен формальный emergency-процесс, а не ручная договорённость. Обычно применяется временное исключение с обязательными атрибутами: владелец риска, номер инцидента, компенсирующая мера, срок устранения и дата ревизии. Hotfix может проходить при подтверждении бизнес-критичности, но запись об исключении должна автоматически попадать в журнал контроля и в недельный отчёт CISO/CTO. На следующем спринте команда обязана закрыть технический долг, иначе исключение эскалируется. Такой подход сохраняет скорость реакции и не разрушает дисциплину gate-политики.

Сколько ложноположительных срабатываний нормально для нового SAST?

В первые 2–4 недели доля ложных срабатываний 15–30% встречается регулярно, особенно если правила включены «по умолчанию» без профилирования под стек проекта. Критично не абсолютное число, а скорость снижения: к концу второго месяца стоит выйти к диапазону 5–15% по приоритетным категориям и ниже 10% для Critical. Для этого нужен регулярный triage, базовый allowlist с проверкой владельцем AppSec и синхронизация правил между командами. Если доля не снижается, проблема обычно в качестве правил, а не в «недисциплинированных разработчиках».

Можно ли использовать open-source инструменты (Semgrep, Bandit) или нужны российские?

Можно и часто нужно использовать гибридную модель. Open-source инструменты хорошо подходят для быстрого старта, кастомных правил и локальных проверок в командах, где важна скорость экспериментов. При этом в контурах с жёсткими требованиями по КИИ/ГИС обычно дополнительно применяются корпоративные и локальные решения с развитой поддержкой on-prem и формальными механизмами отчётности. Практичный путь — оставить open-source как быстрый слой сигналов, а обязательные блокирующие правила и регуляторные отчёты строить на промышленной платформе с централизованным управлением.

Как обосновать budget на security gates перед руководством?

Лучше всего работает финансово-операционная аргументация: стоимость инцидента и простоя против стоимости управляемого контроля в pipeline. Покажите руководству не абстрактные риски, а метрики до/после пилота: сколько критических находок выявлено до релиза, на сколько сократилось время исправления, как изменилась доля аварийных выпусков. Дополните это обязательствами по соответствию регуляторным требованиям и доказуемостью процесса при аудитах. В таком формате budget выглядит не как «дополнительная защита», а как инструмент стабильности поставки и снижения вероятности дорогих сбоев.

Дисклеймер: материал подготовлен на основе анализа открытых источников. Все числовые утверждения атрибутированы.

📄
Скачать PDF-версию
Ключевые данные из этого исследования — в одном структурированном PDF. Все цифры с атрибуцией источника.
Получить →

Доступ к библиотеке исследований

PDF-версии исследований, квартальные обновления данных и еженедельный дайджест — всё в одном кабинете.

Доступ к файлам исследований сразу после регистрации
Подписаться в Telegram