В GitHub выявлено 543 тысячи оставленных в репозиториях действующих токенов, ключей и паролей

Компания Truffle Security опубликовала результаты анализа утечек учётных данных в репозиториях, размещённых на GitHub. В результате сканирования 224 млн репозиториев, насчитывающих 58 миллиардов файлов, было выявлено 543 тысячи уникальных учётных данных (токенов, ключей и паролей), продолжающих действовать. Действующие учётные данные оставались в репозиториях как минимум год, так как в исследовании использовался срез состояния GitHub от 7 августа прошлого года, а проверка актуальности учётных данных, реализованная через пробные обращения к API, сетевым сервисам и хостам, была выполнена в конце июля нынешнего года.

Медианное время нахождения учётных данных в открытом доступе оценено в 784 дня, при том что самые старые ещё действующие ключи доступа были датированы 2009 годом. Около 200 тысяч найденных действующих учётных данных были помещены в репозитории после включения по умолчанию в GitHub механизма для блокировки утечек конфиденциальных данных и токенов доступа, выполняющего проверку на этапе отправки push-запросов. Утечки не были распознаны из-за размещения в форматах, не поддерживаемых в реализованной защите, при том, что непосредственно включение фильтров примерно в два раза снизило утечки распознаваемых учётных данных.

Оказалось, что GitHub успешно выявляет утечки токенов к распространённым сервисам, таким как GitHub, AWS, Slack, SendGrid, Stripe и GCP, но пропускает оставленные в коде параметры подключения к БД, ключи доступа к API Google и закрытые ключи. Параметры подключения к БД и закрытые ключи по умолчанию не блокируются для избежания ложных срабатываний. Ключи доступа к API Google не блокируются, так как имеют префикс AIzaSy, как у открытых ключей Google Maps, предназначенных для интеграции на web-страницы.

Что касается найденных учётных данных, которые оказались нерабочими, то большая часть из них относится к токенам доступа и ключам, связанным с сервисами, предоставляющими механизм отзыва. Например, из 101886 NPM-токенов был выявлен только один действующий (0.001%), из 73048 GitHub-токенов — 260 (0.35%), а из 30437 токенов Hugging Face — 15 (0.05%). Для ключей Stripe показатель выживаемости составил 4%, AWS — 8%, GCP — 8%, Slack — 2%, GitLab — 0.64%. Для сравнения из 12985 выявленных параметров подключения к СУБД PostgreSQL активными остались 11465 (88%), из 2421 параметров подключения к MySQL — 1806 (74%), из 126963 сервисных аккаунтов Google Cloud — 69041 (54%), из 3790 токенов к Docker Hub — 1244 (33%), а из 22800 ключей к SendGrid — 9189 (40%).

До этого исследователи изучили около 7.5 ПБ данных для обучения AI-моделей, распространяемых через Hugging Face, и выявили в них 221 тысячу действующих учётных данных.

Источник: http://www.opennet.ru/opennews/art.shtml?num=66419