GitHub объявил об усилении защиты от попадания в репозитории конфиденциальных данных, по недосмотру оставленных разработчиками в коде. Например, случается, что в репозиторий попадают файлы конфигурации с паролями к СУБД, токены или ключи доступа к API.
Ранее сканирование осуществлялось в пассивном режиме и позволяло выявлять уже произошедшие утечки, попавшие в репозиторий. Для предотвращения утечек GitHub дополнительно начал предоставлять опцию для автоматического блокирования коммитов, в которых выявлено наличие конфиденциальных данных.
Проверка осуществляется при выполнении git push и приводит к генерации предупреждения о нарушении безопасности в случае выявления в коде токенов для подключения к типовым API. Всего реализовано 69 шаблонов для выявления различных видов ключей, токенов, сертификатов и учётных данных. Для исключения ложных срабатываний проверяются только гарантированно определяемые типы токенов. После блокировки разработчику предлагается провести рецензирование проблемного кода, устранить утечку и повторить коммит или пометить блокировку ложной.
Опция для превентивного блокирования утечек пока доступна только организациям, имеющим доступ к сервису “GitHub Advanced Security”. Сканирование в пассивном режиме осуществляется бесплатно для всех публичных репозиториев, но остаётся платным для приватных репозиториев. Сообщается, что пассивное сканирование уже выявило более 700 тысяч утечек конфиденциальных данных в приватных репозиториях.