Внедрили трёхуровневую защиту секретов в процесс разработки, сохранили высокую скорость... — 23 июня 2026 г. в 14:42:07.679
Внедрили трёхуровневую защиту секретов в процесс разработки, сохранили высокую скорость доставки кода в прод и минимизировали риски утечки на всех этапах — от локального коммита до выполнения пайплайнов❕ Привет, на связи Роман Тращинский, старший ИБ-инженер. Мы в команде отвечаем за обнаружение секретов до того, как они попадут в репозиторий. Для этого у нас есть три уровня проверки. ⚙️ Уровень 1: pre-receive hook. Он построчно анализирует изменяемые файлы на наличие секретов при помощи регулярных выражений: ➡️ если секрет обнаружен, push блокируется с указанием найденного в коде потенциального секрета; ➡️ если результат ложный, у разработчиков есть возможность проставить тег \[NOSEC\] в сообщение коммита; ➡️ если в сообщении коммита присутствует тег \[NOSEC\], pre-receive hook пропускает push, но отправляет событие в SIEM для анализа секрета. На основании события на платформе создаётся обращение в Jira с контекстом обнаружения секрета; ➡️ дежурный оперативно проверяет, легитимно ли разработчик использовал тег \[NOSEC\]: 🔵 если да, то сработка поступает в ответственного за разработку pre-receive hook для устранения ложного срабатывания; 🔵 если нет, создаётся задача на инвалидацию секрета. ⚙️ Уровень 2: post-receive сервис с более жёсткими регулярными выражениями. Пост-сканирование запускается каждый день вечером и проверяет содержимое всех файлов в master-ветке по проектам, которые изменились за 24 часа. Утром дежурный изучает все найденные системой секреты и заводит задачу на инвалидацию секрета на ответственных за утечку. ⚙️ Уровень 3: маскирование секретов в логах. Никто не застрахован от того, что в процессе выполнения одного из этапов пайплайна CI/CD в job-логах окажется секрет от какого-нибудь Service Account. Перед тем как попасть к пользователю, логи попадают в хранилище S3, где при помощи S3 Lambda мы перехватываем содержимое и проверяем его регулярными выражениями на наличие секретов. Если обнаружен секрет, мы создаём заявку на обработку, а сам секрет в логах маскируем. Благодаря гибкости с тегом \[NOSEC\] и пост-сканированию мы сохраняем высокую скорость разработки, обучаем систему на ложных срабатываниях и за счёт S3 Lambda надёжно закрываем слепую зону среды выполнения✨ #ozontech_experts #cybersec

