На GitHub обнаружили 543 тысячи действующих токенов API-ключей и паролей

11.10.2026
0
7
---

Исследователи Truffle Security обнаружили 543 тысячи действующих учётных данных в публичных репозиториях GitHub. Среди утечек оказались API-ключи, токены доступа, пароли и параметры подключения к базам данных. Многие секреты оставались доступными в открытом доступе годами, несмотря на встроенные механизмы защиты от публикации конфиденциальных данных.

Исследование выявило сотни тысяч действующих секретов

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

Для оценки актуальности секретов исследователи сопоставили архивный срез GitHub от 7 августа предыдущего года с результатами проверок, проведённых в конце июля следующего года. Работоспособность ключей и токенов проверялась с помощью тестовых обращений к API, сетевым сервисам и хостам.

Медианное время нахождения учётных данных в открытом доступе составило 784 дня. При этом некоторые действующие ключи доступа датировались 2009 годом.

Почему GitHub не блокирует все утечки секретов

Около 200 тысяч действующих учётных данных были опубликованы уже после включения по умолчанию механизма GitHub Push Protection, предназначенного для предотвращения утечек секретов при отправке изменений в репозиторий.

Однако встроенная защита распознаёт не все типы конфиденциальных данных. По данным исследования, фильтры эффективнее работают с токенами популярных сервисов, включая GitHub, AWS, Slack, SendGrid, Stripe и Google Cloud Platform (GCP).

При этом система может пропускать следующие типы секретов:

  • параметры подключения к базам данных;
  • ключи доступа к Google API;
  • закрытые криптографические ключи.

Часть таких данных не блокируется по умолчанию из-за риска ложных срабатываний. Например, ключи Google API имеют общий префикс AIzaSy, который используется в том числе в ключах Google Maps, предназначенных для интеграции карт на веб-сайты.

Исследователи отмечают, что включение защитных фильтров примерно вдвое сократило количество утечек распознаваемых учётных данных. Тем не менее этот механизм не исключает публикацию секретов, которые не соответствуют поддерживаемым шаблонам.

Какие учётные данные чаще всего остаются активными

Проверка показала существенные различия между типами секретов. Токены сервисов с механизмами отзыва часто перестают работать после обнаружения утечки. Пароли и параметры подключения к базам данных могут оставаться действующими значительно дольше.

Результаты проверки отдельных типов учётных данных:

Тип учётных данных Всего найдено Действующих Доля активных
NPM-токены 101 886 1 0,001%
GitHub-токены 73 048 260 0,35%
Hugging Face 30 437 15 0,05%
PostgreSQL 12 985 11 465 88%
MySQL 2 421 1 806 74%
Google Cloud — сервисные аккаунты 126 963 69 041 54%
Docker Hub 3 790 1 244 33%
SendGrid 22 800 9 189 40%

Среди других результатов исследования — около 8% действующих ключей AWS и GCP, 4% ключей Stripe, 2% токенов Slack и 0,64% токенов GitLab.

Особенно заметна доля сохранивших работоспособность параметров подключения к базам данных. Из 12 985 найденных конфигураций PostgreSQL активными оставались 11 465. Это означает, что даже давно опубликованные настройки могут предоставлять доступ к действующим информационным системам.

Как снизить риск утечки токенов и паролей

Результаты исследования показывают, что автоматического сканирования репозиториев недостаточно для полной защиты от утечек. Разработчикам и администраторам рекомендуется:

  • не хранить пароли, API-ключи и токены непосредственно в исходном коде;
  • использовать переменные окружения и специализированные хранилища секретов;
  • включать Push Protection и дополнительные инструменты поиска конфиденциальных данных;
  • немедленно отзывать обнаруженные токены и менять скомпрометированные пароли;
  • проверять историю Git, поскольку удаление секрета из последнего коммита не гарантирует его удаления из истории;
  • регулярно обновлять учётные данные и ограничивать их права доступа.

Особое внимание следует уделять параметрам подключения к базам данных и сервисным аккаунтам. Как показывают результаты исследования, такие секреты могут оставаться действующими даже спустя несколько лет после публикации.

Утечки секретов обнаруживают и в наборах данных для ИИ

Ранее исследователи изучили около 7,5 петабайта данных для обучения моделей искусственного интеллекта, распространяемых через Hugging Face. В этих данных было выявлено ещё 221 тысяча действующих учётных данных.

Оба исследования демонстрируют масштаб проблемы хранения секретов в общедоступных источниках. Утечки могут происходить не только из-за ошибок разработчиков, но и вследствие ограничений автоматических фильтров, особенностей форматов файлов и недостаточного контроля над историей репозиториев.

Вывод: публикация токена или пароля в GitHub может создавать долгосрочный риск для безопасности даже в том случае, если утечка произошла несколько лет назад. Поэтому защита должна включать не только предотвращение публикации секретов, но и регулярный поиск утечек, отзыв скомпрометированных ключей и контроль доступа к инфраструктуре.

Понравиласть статья? Жми лайк или расскажи своим друзьям!
Теги к новости:
AWS, Security, интернет, Google Cloud, GCP
Комментарии
Добавить комментарий
Добавление комментария
Ваше Имя:
Ваш E-Mail:
Это код:
Кликните на изображение чтобы обновить код, если он неразборчив
Введите сюда: