Всё началось с отчёта от багхантера. В одном из наших публичных репозиториев на GitHub была опасная настройка: использовался триггер pull_request_target. Если кратко, он позволял коду из внешнего Pull Request запускаться с правами основной ветки — со всеми секретами и доступом.
Злоумышленник мог бы украсть токены, подменить процесс сборки или даже захватить репозиторий. К счастью, хакер действовал добросовестно и просто показал уязвимость.
Когда мы разбирали ситуацию, то поняли главное: проблема была не в одной настройке. У нас не было целостной картины. Мы не знали полного списка репозиториев, не отслеживали используемые сторонние скрипты и не имели системы мониторинга для таких рисков.
Мы решили не просто латать дыры, а выстроить полноценный процесс. Так появился внутренний проект — Mega GitHub Security Automation (MGSA). Мы прошли несколько ключевых этапов:
1️⃣Инвентаризация и контроль Actions. Мы нашли и проанализировали все сторонние скрипты в репозиториях (57 штук) и ввели «белый список». Теперь любой новый Action можно добавить только через запрос с согласованием безопасности.
2️⃣Харденинг. Мы написали подробное руководство по безопасности для репозиториев. Оно включает настройки доступа, защиту веток, обязательное использование Dependabot для обновлений и Secret Scanning для поиска утечек токенов.
3️⃣Автоматизация проверок. Чтобы стандарт работал, мы написали скрипты для сбора данных и мониторинга. Они показывали, какие репозитории отклоняются от правил. Это дало нам первую видимость.
Что это дало:
• Контроль над тем, какой код выполняется в наших CI/CD процессах.
• Понимание рисков и чек-лист для оценки новых настроек.
• Единые правила для всех команд, кто работает с GitHub.
Но на этом мы не остановились. Со временем старая система, построенная на скриптах, перестала справляться с ростом числа проектов и новых требований.
Мы пересобрали наш проект в MGSA — платформу с веб-интерфейсом. Теперь вместо сложных отчётов есть наглядный дашборд. В нём видно:
🔹Все репозитории и их статус безопасности.
🔹Конкретные проблемы с ссылками на правила.
🔹Возможность запустить проверку любого репозитория по запросу.
Это сделало работу и для нас, и для разработчиков гораздо проще и прозрачнее.
Что будет дальше?
Сейчас мы развиваем MGSA в трёх направлениях:
▫️Масштабирование. Подключаем репозитории новых команд и проектов.
▫️Расширение. Мы хотим, чтобы платформа работала не только с GitHub, но и с нашим внутренним GitLab, став единым центром аудита для всех Git-платформ.
▫️Интеграция. Планируем связать её с другими системами безопасности, например, для статического анализа кода (SAST), чтобы видеть полную картину по каждому проекту.
Мы прошли от реакции на одну уязвимость до построения проактивной системы, которая помогает предотвращать проблемы на раннем этапе. Главные выводы: нужны чёткие правила, автоматизация их проверки и, что важно, — удобный инструмент, который позволяет всем участникам процесса видеть общую картину.
VK Security | Буст этому каналу
#эксперты #проект #mgsa
