Плейбук: компрометация контура CI/CD

Остановите пайплайны и отзовите токены раннеров, если сборка или выкладка идут без вашей задачи. Один утёкший ключ в файле — другой плейбук: утечка секрета. Как хранить переменные: секреты для GitLab CI. Сутки: первые 24 часа. Каталог: каталог плейбуков.
Статья опирается на логику направления «Управление инцидентами» из методики зрелости Группы Сбер (источник); это методика для крупных компаний, мы используем её как ориентир и пересказываем своими словами. CIS Control 17: cisecurity.org/controls. Это не российский закон. Значения токенов в чат не копируем. Чужие GitLab не трогаем.
Признаки и что не делать
Job в час ночи, неизвестный коммит с правом на прод, новый раннер, образ в registry, который вы не собирали. Не «ещё разок прогоним тот же пайплайн». Не оставляйте shared runner с вашими секретами.
Первые шаги
- Pause/disable pipelines и раннеров в своей консоли CI.
- Отзовите deploy keys, job tokens, переменные, webhook. Новый комплект — после чистого коммита с известной машины.
- Артефакты и образы с момента подозрительного job не катите в прод. Подпись образов — сосед: cosign.
- Кто имел maintainer: сверка доступа: отзыв доступа.
- Если выкладывали на периметр — журналы веб-сервера и сценарий сайта в обзоре пяти.
Приоритет: критический при выкладке в прод; высокий при доступе к секретам без выкладки. Эскалация директору. Связь не через тот же GitLab, если он и скомпрометирован.
Диагностика
| Симптом | Причина и что делать |
|---|---|
| Пайплайн остановили, ключ в Kubernetes жив | Не полный отзыв. Секреты в кластере тоже |
| История git «чистая», job был | Форс-пуш. Смотрите журнал CI, не только ветку |
Где это в модели зрелости
Материал относится к направлению «Управление инцидентами» (хаб: инциденты, карта: карта зрелости). SSDLC закрывает порог merge. Плейбук — когда контур сборки уже чужой.
Как проверить
- Есть кнопка/роль остановить все job за минуту.
- Плейбук отделяет один утёкший токен от захваченного раннера.
- Токены не печатают в карточку инцидента.
Источники
- CIS Control 17: cisecurity.org/controls.


















