LIMB
Вход Регистрация

тема

Leaked Credentials: статистика и инсайты

3p49jv1a · · 0 ответов · 483 просмотров

В этой статье я покажу статистику и дам ключевые инсайты по Discovery и Initial Access технике - поиска Leaked Credentials. В частности по секретам в git и docker репозиториях.

Git​


Ключевая статистика и факты​

Источник - GitGuardian "State of Secrets Sprawl 2026": https://cdn.prod.website-files.com/5ee9da909a44e856ddcbaa4f/69c424234dad7521ead5ed42_The%20State%20of%20Secrets%20Sprawl%202026_v1.1.pdf
  • Количество новых hardcoded секретов в публичных GitHub-коммитах растёт на 25–34% ежегодно.
  • 2025 год — рекорд: 28.65 млн новых секретов (+34% к 2024).
  • AI-секреты (OpenAI, Anthropic, Gemini, DeepSeek и т.д.) — рост +81% за год.
  • Приватные репозитории содержат секреты в 6 раз чаще, чем публичные (32.2% vs 5.6%).
  • 66% валидных корпоративных секретов находили именно в персональных паблик-репо сотрудников и подрядчиков, а не в официальных паблик-репо компании.
  • Remediation gap огромный: Даже если компания видит алерт от GitHub Secret Scanning, rotation происходит далеко не всегда и не сразу.
  • Среди платформ по количеству секретов лидирует GitHub. GitLab и Bitbucket лидируют в качестве.

Подробнее​

Git-репозитории это самый объемный источник по количеству секретов и объем продолжает расти.  2025: 28.65 млн новых секретов в публичных коммитах (+34% к 2024) — рекорд. AI-секреты +81% (1.275 млн, в т.ч. 113k DeepSeek keys). Хотя это не значит что качество секретов увеличилось пропорционально количеству, большинсто это секреты от личных проектов разработчиков, но учитывая что "66% валидных корпоративных серкретов находили именно в персональных паблик-репо сотрудников" корреляция должна быть.

Сама концепция поиска секретов в репозиториях обрела популярность совсем недавно, только в 2022 были первые кейсы: "Toyota — ключ от базы с данными клиентов (270k+ записей) лежал в публичном репо 5 лет", "Uber — использование hardcoded credentials из GitHub для дальнейшего внедрения", "Okta, NVIDIA, Samsung — утечки source code через GitHub". В 2023–2026 наблюдается рекордный рост (+34% в 2025 к 2024) из-за внедрения AI в разработку

Для сканирования репозиториев атакующие используют абсолютно те же open-source инструменты, что и защитники. Чаще всего это Gitleaks для массового сканирования и TruffleHog для верификации секретов. Классические методы поиска заключаются в regex паттернах ("AKIA[0-9A-Z]{16}", "ghp_[0-9a-zA-Z]{36}") + верификации через TruffleHog. Могут применяться другие техники, вроде Entropy check или Context analysis (присутствие в строке "password=, key=, secret=, api_key=", название файла и т.д.). 
Сейчас методы атакующих эволюционируют - активно применяются LLM для фильтрации по контексту. Фокус охоты смещается больше на .har и .log файлы с активными сессионными токенами, которые не детектируются обычными паттернами для AWS.
Статистика:
  • Median time to discovery — 20 секунд. Как только коммит попадает в паблик, бот парсит его за секунды.
  • Для высококачественных секретов (AWS keys, CI/CD tokens, AI keys) время до первого использования третьими лицами часто составляет от нескольких минут до нескольких часов.

В реальности техника поиска секретов в git-репозиториях раскрывает себя лучше всего в рамках Discovery & Lateral Movement, когда у атакующего есть доступ к приватным репо. "Приватные репозитории содержат секреты в 6 раз чаще, чем публичные (32.2% vs 5.6%)".

Платформы (GitHub/GitLab/Bitbucket) внедряют меры по предохранению:
GitHub: один из самых сильных в индустрии. Поддерживает 500+ типов секретов (AWS, Azure, OpenAI, Stripe и др.), проверяет активен ли секрет.
Но:
  - Push Protection отключен в публичных репозиториях по умолчанию, активен только сканер с уведомлениями.
  - Полноценный secret scanning и Push Protection — в дорогом тарифе. На бесплатных/Team-планах функционал ограничен.
GitLab: Secret Detection встроен практически во все платные планы. Использует Gitleaks под капотом, качество паттернов немного уступает GitHub
Bitbucket: Secret Scanning присутствует, но самый слабый из трёх. Включён в Premium-тариф.

Компании принимают меры по митигации: Pre-commit hooks через Gitleaks, регулярное сканирование через TruffleHog в CI/CD, Centralized Secrets Managers (HashiCorp Vault, AWS Secrets Manager), автоматизированная ротация.
Но:
  • Приватные репо защищаются в меньшей мере.
  • Detection растёт быстрее, чем remediation. Многие компании находят секреты, но не ротируют их.
  • Push Protection покрывает только часть типов секретов (GitGuardian находит в 2+ раза больше).

Docker​


Docker-образы — очень качественный источник по сравнению с git. Тут практически не бывает мусорных секретов, один валидный ключ из образа может дать прямой доступ в IaaS или к CI/CD.

​

Ключевая статистика и факты​

Источник - GitGuardian "Fresh From The Docks" (май 2025): https://blog.gitguardian.com/fresh-from-the-docks-uncovering-100-000-valid-secrets-in-dockerhub/
  • Просканированно 15 миллионов Docker-образов.
  • Обнаружено 1,2 миллиона уникальных секретов.
  • Из них 100 000 валидных (проверено автоматически).
  • 97% валидных секретов находятся только в  (не в Dockerfile).
  • Большинство секретов в маленьких слоях (<15 МБ).
  • Среди валидных: AWS, GCP, GitHub tokens, в т.ч. от Fortune 500 компаний.

Источник - Flare Research (декабрь 2025): https://flare.io/learn/resources/docker-hub-secrets-exposed
  • Сканирование образов, загруженных на Docker Hub только за ноябрь 2025 (30 дней).
  • Обнаружено 10 456 образов с одним или более секретами.
  • 42% из этих образов содержали 5+ секретов каждый.
  • Затронуто 205 различных namespaces (организаций).
  • Выявлено более 100 компаний, включая Fortune 500 и крупный национальный банк.
  • Типы секретов: production credentials, cloud keys, AI/LLM keys, database passwords, CI/CD tokens.

2021 (GitGuardian)
- 7% публичных Docker-образов содержали хотя бы один секрет.

Подробнее​

Главные вектора утечек:

- Build-time Metadata Ingestion

Этот пункт про секреты в метадате попавшие через команды  ENV или ARG в Докерфайле.
Разработчики могут хардкодить переменные ENV AWS_ACCESS_KEY_ID=XXX, думая что если при сборке ее переопределить, то она сотрется. При сборке они навсегда остаются в json-конфиге образа.

- Utility Cache Contamination
Секреты попадают в образ прицепом через утилиты сборки (pip, npm) или облачные cli (aws-cli, gcloud).
Если при сборке образа не использовался мултистейдж в рутовой директори останется кэш утилит с валидными кредами (/root/.aws/credentials, /root/.config/gcloud/, /root/.npmrc).

- Context Over-copying
Банальная утечка из-за отсутствия нужного файла в .dockerignore.
Чаще всего можно встретить .git.

- Ephemeral File Leakage
Этот метод базируется на непонимании принципа работы слоев UnionFS. Вот такого типа:
Code:
COPY private_ssh_key /root/.ssh/id_rsa
RUN git clone [email protected]:company/repo.git
RUN rm /root/.ssh/id_rsa
Многие разработчики не понимают как работает BuildKit в докере и что такое слои. В Докерфайле слой представлен как командой COPY, RUN или ADD. Физически же каждый слой это отдельный tar-файл, который невозможно изменить или стереть из образа просто добавив новую команду поверх. RUN rm -rf /app/.env не сработает как ожидается, /app/.env останется в предыдущем слое образа.

- Container Commit Abuse
Это про интерактивную сборку/дебаг контейнеров и ручным вводом команд с последующим коммитом.
Иногда сотрудники делают exec в контейнер docker run -it, чтобы быстро починить баг оставляя креды в .bash_history. После docker commit, контейнер превращается в готовый образ. Помимо /root/.bash_history могут быть еще /app/.cursor/ или /app/.vscode/.

В репозиториях образов публичных (Docker Hub) и приватных (GitHub\Gitlab CR, Quay, ECR/ACR) ситуация с секретами выглядит еще более запущенной, чем в Git. В отличие от GitHub, который компании жестко контролируют через Enterprise-политики, Docker Hub часто остается вне поля зрения. Разработчики создают личные бесплатные аккаунты (по умолчанию Public) на Docker Hub, чтобы быстро протестировать или прокинуть на сервер. В итоге рабочие приложения компании со всеми конфигурациями улетают в паблик. По статистике, до >7% всех публичных образов на Docker Hub содержат валидные секреты.




Тренд​

Техника Leaked Credentials уже занимает долю ~13% – 20% всех Initial Access векторов в облаках, в последующих Discovery & Lateral Movement эта техника вовсе является одной из основных. Тренд остается стабильно высоким из-за огромного количества секретов в публичных Git/Docker (особенно на Docker Hub), плохого контроля и ротации секретов в приватных репо, роста Shadow IT и персональных аккаунтов разработчиков.
👍22 🔥4 👏6

Гостевой просмотр. Чтобы отвечать и ставить реакции, войдите или зарегистрируйтесь.