SAST до деплоя, policy gating по severity, multi-CI. Включил toggle на проекте - перед каждым релизом сканер прогоняется по коду, findings в той же вкладке деплоя, policy решает можно ли катить.
SAST в классическом DevOps - это отдельный overhead: завести CI-template, написать конфиг под каждый язык, договориться о severity-политике, прикрутить отчёты к пайплайну и не забыть про gating. Часто на это не хватает времени - и проверка либо стоит галочкой, либо не запускается.
В Opsy security-проверки встроены в деплой. Никаких отдельных пайплайнов и YAML-конфигов.
Определяет язык по содержимому репозитория и подбирает релевантные сканеры. Настраивать не нужно - включил pre-deploy checks, и проект подхватывает конфигурацию.
Хочется точнее - можно выключить auto-select и выбрать конкретный набор плагинов. Архитектура pluggable: каждый сканер - отдельный модуль, новые добавляются без правок core.
В классике security-фичи привязаны к провайдеру (GitLab Ultimate, GitHub Advanced Security). У Opsy единый UX поверх всех трёх: в пайплайн вставляется одинаковая SAST-стадия, артефакты собираются и парсятся в общий формат findings.
Стадия в .gitlab-ci.yml, чтение артефактов из job.
Чтение build artifacts через REST API.
Artifacts тянутся через GitHub API + ZIP.
Severity-матрица на уровне организации (часть Policy и Governance): critical блокирует, high предупреждает, остальное отображается. Решение видно прямо в UI деплоя.
Пример того, что видит инженер на деплое:
Каждый запуск сканера хранится на уровне организации: кто инициировал деплой (через RBAC), какой коммит, какие findings, было ли gating-решение и кем одобрено. Для разборов инцидентов и compliance: «покажите, кто и когда катил в прод с открытыми critical».
Развернём в тестовом контуре и пройдём ваш security-чеклист.