В отчёте от 29 сентября разработчик сканера TruffleHog, компания Truffle Security, представил результаты исследования публичных репозиториев GitHub. Исследователи нашли 543 699 ключей API, токенов, паролей и других учётных данных, которые продолжали работать во время проверки 27–28 июля 2026 года. Это не утечка из систем самого GitHub.
Исследователи просканировали The Stack v3: снимок 224 553 295 публичных репозиториев и примерно 58,5 млрд файлов, собранный для обучения больших языковых моделей. Одинаковые секреты в разных файлах и форках считали один раз. Медианный возраст находок составил 784 дня. Самый старый действующий секрет находился в файле, не менявшемся с 2009 года.
Где заканчивается защита GitHub
GitHub включил защиту при отправке кода по умолчанию для публичных репозиториев 29 февраля 2024 года. Она проверяет код и блокирует распознанные ключи и токены, если разработчик не обойдёт предупреждение.
Читайте также
Исследователи обнаружили 199 843 действующих секрета в файлах, изменённых после включения этой защиты по умолчанию. Это не означает, что момент публикации каждого секрета установлен точно: датой находки считалось последнее изменение файла.
При этом 51,8% всех рабочих учётных данных относились к типам, которые стандартная защита не блокирует. Среди них строки подключения к базам данных, закрытые ключи и ключи Google API. GitHub также не поддерживает такую защиту для паролей.
Среди распознаваемых типов число находок на миллион файлов после включения защиты сократилось примерно на 53%. Однако удаление файла или переписывание истории Git не лишает старый ключ доступа: его необходимо отозвать или заменить.
Ограничения исследования
The Stack v3 содержит только основные ветки репозиториев на момент завершения сбора 7 августа 2025 года. В набор не вошли история коммитов, удалённые ветки и более свежие изменения. Возраст оценивали по дате последнего изменения файла, поэтому он может быть неточным. Исследование также не показывает, использовали ли найденные данные злоумышленники и к каким системам они давали доступ.
Что это значит
- Просканировать полную историю Git, включая старые коммиты и ветки, а не только текущие файлы.
- Отозвать или заменить каждый обнаруженный действующий ключ, токен или пароль.
- Затем проверить, что прежние учётные данные больше не позволяют войти или обратиться к сервису.
Встроенная защита GitHub помогает предотвращать публикацию поддерживаемых типов секретов, но не заменяет поиск старых учётных данных и их отзыв.
