# Truffle Security нашла в публичных репозиториях GitHub 543 699 учётных данных, которые всё ещё проходят аутентификацию

> Truffle Security проверила учётные данные из 224 миллионов публичных репозиториев и сообщает о 543 699 действующих, при медианном сроке раскрытия 784 дня. Что это значит для разработчиков на Mac.

FireAI Security & Research Team (HisnLabs) · Published 2026-10-02
Canonical: https://hisnlabs.com/ru/news/truffle-security-543000-valid-credentials-public-github-repositories

Truffle Security сообщает, что нашла в публичных репозиториях GitHub 543 699 уникальных учётных данных, которые по-прежнему проходили аутентификацию при проверке 27 и 28 июля 2026 года [[1]](https://trufflesecurity.com/blog/github-repos-exposed-543699-credentials-nobody-revoked-them). BleepingComputer сообщил о результатах 30 сентября 2026 года [[2]](https://www.bleepingcomputer.com/news/security/over-543-000-valid-credentials-exposed-in-public-github-repositories/). В подсчёт вошли облачные ключи, строки подключения к базам данных и ключи ИИ-сервисов [[1]](https://trufflesecurity.com/blog/github-repos-exposed-543699-credentials-nobody-revoked-them).

## Предыстория

GitHub включил push protection для всех пользователей в феврале 2024 года, но эта защита охватывает не все форматы учётных данных [[1]](https://trufflesecurity.com/blog/github-repos-exposed-543699-credentials-nobody-revoked-them) [[2]](https://www.bleepingcomputer.com/news/security/over-543-000-valid-credentials-exposed-in-public-github-repositories/). Анализ Truffle Security ставит иной вопрос, чем сканирование новых коммитов: какие учётные данные в существующем публичном корпусе всё ещё действуют и как долго они оставались публичными [[1]](https://trufflesecurity.com/blog/github-repos-exposed-543699-credentials-nobody-revoked-them).

## Результаты

Корпус составили 224 553 295 репозиториев и 58 467 468 698 файлов из набора данных The Stack v3. Truffle Security проверила каждого кандидата на сервисе, который выдал учётные данные, и учитывала их по значению, поэтому один ключ, найденный в 62 репозиториях, считается один раз [[1]](https://trufflesecurity.com/blog/github-repos-exposed-543699-credentials-nobody-revoked-them). Обход охватывал только ветку по умолчанию и завершился 7 августа 2025 года [[1]](https://trufflesecurity.com/blog/github-repos-exposed-543699-credentials-nobody-revoked-them).

Медианный возраст действующих учётных данных в публичном репозитории составил 784 дня, а 90-й процентиль — 6,3 года; самые старые были закоммичены в 2009 году и всё ещё работают [[1]](https://trufflesecurity.com/blog/github-repos-exposed-543699-credentials-nobody-revoked-them). Среди действующих учётных данных сервисных аккаунтов Google Cloud было 69 041, ключей Google API — 33 343, ключей Gemini — 31 374, а 51 067 строк подключения к MongoDB относились к категории, которую push protection не блокирует [[1]](https://trufflesecurity.com/blog/github-repos-exposed-543699-credentials-nobody-revoked-them).

Выживаемость различалась по поставщикам. Из 101 886 закоммиченных токенов npm действовал 1, из 73 048 закоммиченных токенов GitHub — 260; из строк подключения к Postgres действовали 11 465 из 12 985, то есть 88 из каждых 100 [[1]](https://trufflesecurity.com/blog/github-repos-exposed-543699-credentials-nobody-revoked-them). Вывод Truffle Security состоит в том, что их различает наличие у поставщика конвейера, который берёт утёкший токен и аннулирует его [[1]](https://trufflesecurity.com/blog/github-repos-exposed-543699-credentials-nobody-revoked-them).

О push protection в отчёте говорится, что чуть менее 200 000 действующих учётных данных были отправлены уже после её включения по умолчанию, что 51,8 из каждых 100 действующих учётных данных относятся к категориям, которые защита не распознаёт, и что защищённая группа сократилась на 53 из 100, а незащищённая — на 7 из 100 [[1]](https://trufflesecurity.com/blog/github-repos-exposed-543699-credentials-nobody-revoked-them) [[2]](https://www.bleepingcomputer.com/news/security/over-543-000-valid-credentials-exposed-in-public-github-repositories/).

> FireAI, сетевой межсетевой экран для macOS от HisnLabs, перечисляет приложения на Mac, выходящие в интернет, и адреса, к которым они обращаются, с правилами для каждого приложения. Доступен пробный период 17 дней. [Download FireAI for Mac](https://hisnlabs.com/en/download)

## Выводы для пользователей Mac

Данные описывают репозитории, а не компьютеры, и источники не говорят, какими операционными системами пользовались разработчики. Для пользователя Mac важны сами учётные данные: ключ, лежащий в публичном репозитории, можно использовать откуда угодно, независимо от устройства, на котором он был создан. Число ключей Gemini — пример ключей ИИ-сервисов, оказавшихся в тех же данных, что и облачные ключи [[1]](https://trufflesecurity.com/blog/github-repos-exposed-543699-credentials-nobody-revoked-them).

Методология также ограничивает то, что показывают цифры. Всё, что было удалено принудительной отправкой, перенесено в ветку не по умолчанию или закоммичено и отменено до августа 2025 года, методу не видно, поэтому цифра — это число найденного, а не всего раскрытого [[1]](https://trufflesecurity.com/blog/github-repos-exposed-543699-credentials-nobody-revoked-them).

## Рекомендации

1. Считайте закоммиченные учётные данные скомпрометированными с момента коммита, отметило их что-нибудь или нет, сначала меняйте их, а историю очищайте потом, как советует отчёт [[1]](https://trufflesecurity.com/blog/github-repos-exposed-543699-credentials-nobody-revoked-them).
2. Меняйте любой ключ, который когда-либо был закоммичен, в том числе в старых ветках и в репозиториях, позднее ставших приватными, поскольку медианный возраст действующих учётных данных в публичном доступе составлял 784 дня [[1]](https://trufflesecurity.com/blog/github-repos-exposed-543699-credentials-nobody-revoked-them).
3. Отдавайте предпочтение учётным данным с автоматическим истечением срока; в материале BleepingComputer автоматическое истечение срока действующих секретов названо среди мер [[2]](https://www.bleepingcomputer.com/news/security/over-543-000-valid-credentials-exposed-in-public-github-repositories/).
4. Храните ключи в хранилище секретов или в переменных окружения вне репозитория и проверяйте историю репозитория, прежде чем делать его публичным.

## Какое отношение это имеет к FireAI

FireAI — межсетевой экран для одного Mac. Он определяет приложение по подписи кода или пути и применяет [правила для приложений](https://hisnlabs.com/ru/docs/per-app-rules) к соединениям, которые это приложение открывает, а страница [«Активность»](https://hisnlabs.com/ru/docs/activity-and-connection-history) перечисляет, какие приложения выходили в сеть и куда. Это помогает пользователю увидеть, какие программы на Mac обращаются к облачному или ИИ-сервису, и написать правило, чтобы доступ к нему имело только нужное приложение.

FireAI не сканирует репозитории или файлы на учётные данные, не видит, что содержит запрос внутри зашифрованного соединения, и не видит ключ, используемый с другого компьютера. Он не может аннулировать или сменить ключ и не может убрать уже опубликованные учётные данные. Отзыв ключа у поставщика — мера, которая относится к выводам этого отчёта.

> Утёкшим ключом пользуются откуда-то ещё, но приложения на Mac, хранящие ключи, продолжают подключаться с него. FireAI ведёт список таких соединений и спрашивает, прежде чем установить новое. Попробуйте бесплатно 17 дней. [Download FireAI for Mac](https://hisnlabs.com/en/download)

## Ограничения

Цифры получены по собственной методологии и набору данных Truffle Security. Два источника описывают распределение по возрасту разными словами: BleepingComputer пишет, что около десятой части работающих учётных данных старше 6,3 года, а Truffle Security — что 90-й процентиль равен 6,3 года [[1]](https://trufflesecurity.com/blog/github-repos-exposed-543699-credentials-nobody-revoked-them) [[2]](https://www.bleepingcomputer.com/news/security/over-543-000-valid-credentials-exposed-in-public-github-repositories/). Дата коммита файла — единственные часы на файл, которые даёт корпус, поэтому возраст приблизителен [[1]](https://trufflesecurity.com/blog/github-repos-exposed-543699-credentials-nobody-revoked-them).

Обход набора данных завершился в августе 2025 года, а проверки действительности проводились в июле 2026 года, поэтому часть учётных данных в подсчёте была раскрыта годами до проверки, а отчёт не может сказать, использовал ли их кто-нибудь и кто именно [[1]](https://trufflesecurity.com/blog/github-repos-exposed-543699-credentials-nobody-revoked-them).

Попробуйте [FireAI от HisnLabs](https://hisnlabs.com/ru/download) бесплатно 17 дней.

## Sources

- [Truffle Security: 543,699 credentials in public GitHub repos still work, and nobody revoked them](https://trufflesecurity.com/blog/github-repos-exposed-543699-credentials-nobody-revoked-them)
- [BleepingComputer, 30 September 2026: Over 543,000 valid credentials exposed in public GitHub repositories](https://www.bleepingcomputer.com/news/security/over-543-000-valid-credentials-exposed-in-public-github-repositories/)
