Рубріки: Новини

GitHub зберігає навіть «видалені» коміти — багхантер зумів заробити на цьому $25 000

Дмитро Сімагін

Експерт з кібербезпеки Шерон Брізінов розповів, що GitHub залишає доступними коміти навіть після команди force push. Як наслідок, в них все ще можна знайти токени, ключі і паролі. 

За допомогою безкоштовного інструменту Force Push Scanner Брізінову відшукати десятки багів і секретів, завдяки чому він заробив $25 000 як винагороду за знайдені помилки.

Наприклад, якщо розробник закомітив секрет і потім «видалив» його через git reset –hard і git push –force, то, на перший погляд, слідів не залишилося. Але це не зовсім так: GitHub зберігає всі коміти, включаючи ті, що більше не прив’язані до жодної гілки.

У публічному GitHub Archive вони фіксуються як PushEvent з нулем комітів, що сигналізує про перезапис історії.

Брізінов проаналізував такі події з 2020 року і знайшов десятки тисяч «висячих» коммітів. Їхній вміст можна було перевірити через інструмент для пошуку секретів TruffleHog. Ось як це працювало: 

  • дослідник використовував GitHub Archive та Event API, щоб знаходити force push-події без комітів;
  • для кожної події витягував «віддалений» хеш коміта;
  • клонував репозиторій та переглядав вміст коміту через TruffleHog;
  • фільтрував результати, виділяючи потенційно цінні секрети.

Для спрощення аналізу він навіть написав власну платформу та підключив ШІ з метою оцінки значущості знайдених ключів.

Найнебезпечнішим випадком знайдених секретів став доступ до репозиторій Istio. Один із знайдених токенів надав адміністраторський доступ до всіх репозиторій Istio — проекту з 36 000 зірок та десятками тисяч користувачів, включаючи Google, IBM та Red Hat. Ця вразливість могла призвести до масштабної supply-chain атаки. На щастя, команда швидко відреагувала та відкликала ключ.

Для розробників випадок з Брізіновим дає наступне:

  • force push не стирає історію — коміти все ще доступні публічно.
  • Будь-який закомічений секрет потрібно негайно відкликати навіть якщо він «видалений».
  • .env, config.js і README.md — найчастіші джерела витоків.

GitHub поки не має інструменту для виявлення таких вразливостей, але компанія Truffle Security вже випустила open-source сканер для перевірки репозиторію.

Останні статті

Microsoft заборонила користувачам зупиняти оновлення програм

Microsoft оновила Microsoft Store для Windows 10 та 11, яке видалило можливість постійно призупиняти оновлення…

18.08.2025

Claude зможе сам завершувати діалог, щоб запобігти шкідливому використанню

Компанія Anthropic додала до Claude нову функцію, яка дозволяє LLM-моделі самій завершувати розмови, якщо є…

18.08.2025

Хоча Дія.City об’єднує понад 2200 IT-компаній, схеми з ФОПами все ще популярні — Гетманцев

Резиденти спеціального податкового режиму Дія.City забезпечили зростання податкових надходжень у 2025 році, в основному завдяки…

18.08.2025

Google додає до Gemini нову функцію Projects

Google тестує нову функцію Gemini під назвою Projects. Вона буде схожа на однойменну функцію від…

18.08.2025

Розробник підлаштував свій режим сну під дію тарифу Claude Pro

Розробник Метт Візе підлаштував свій режим сну заради більш продуктивного використання інструменту кодування Claude Code.…

18.08.2025

У ChatGPT може з’явитись реклама

Компанія OpenAI розглядає додаткові способи отримання доходу, одним з яких є розміщення реклами в ChatGPT.…

15.08.2025