GitHub представил функцию для обнаружения и блокировки коммитов, которые могут привести к утечке секретов. Новая возможность позволяет обнаружить 69 типов токенов в коде.
Больше защищенности
Функция push-защита предназначена для проактивного предотвращения случайных утечек. Она доступна для пользователей GitHub Enterprise Cloud с лицензией GitHub Advanced Security. Функция включает дополнительное сканирования для репозиториев и в автоматическом режиме блокирует код, который раскрывает конфиденциальные токены.
Для защиты в системе применяются четко идентифицируемые шаблоны, с помощью которых утилита способна находить в коде 69 типов токенов, в числе которых ключи API, токены аутентификации, токены доступа, сертификаты управления, учетные данные, закрытые ключи, секретные ключи. Благодаря такому подходу функция снизит риски раскрытия данных перед коммитом кода в удаленные репозитории.
Как работает функция
Инженеры GitHub уточняют, что push-защита проверяет секреты с высокой степенью достоверности в процессе отправки кода разработчиком. Блокировка будет происходить лишь в том случае, если обнаружена конфиденциальная информация. Для того, чтобы не нарушать эффективность разработки, функция настроена на поиск только тех токенов, шаблоны которых могут быть точно найдены в коде.
При обнаружении секрета перед его отправкой, push-защита заблокирует команду git push. Разработчик в это время может просмотреть проблемный участок кода и удалить из него конфиденциальные данные. Кроме того, программист может делать собственные пометки и отмечать предупреждения системы как ложные, тестовые или оставлять их для последующего исправления.
По сведениям GitHub, на текущий момент в частных репозиториях уже выявлено более 700 тыс. секретов.
Как активировать
Чтобы включить новую функцию, нужно открыть профиль на GitHub и перейти в раздел «Настройки». В пункте «Безопасность» выбрать вкладку на боковой панели «Безопасность и анализ кода» и найти «Расширенная безопасность GitHub». Необходимая утилита находится в разделе «Сканирование секретов», где следует активировать пункт «Включить все».
Кроме того, можно подключить функцию только для отдельных репозиториев. Для этого нужно открыть «Настройки репозитория» и перейти в пункт «Безопасность и анализ». Включение push-защиты находится в разделе «Дополнительная безопасность GitHub».