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

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 сканер для перевірки репозиторію.

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

Gmail додає наскрізне шифрування на відправку електронних листів будь-кому

Google оголошує, що користувачі Gmail тепер можуть надсилати електронні листи з наскрізним шифруванням будь-кому, навіть…

03.10.2025

Кількість IT-вакансій в Україні за квартал зросла на 12%. Це рекордний показник з початку війни

У третьому кварталі (липень, серпень, вересень) на сервісі пошуку роботи jobs.dou.ua опублікувано 20899 IT-вакансій. Це…

03.10.2025

Google вимагає по $25 з кожного Android-розробника «за верифікацію». Але будуть виключення

Представники Google розкрили додаткові подробиці майбутньої верифікації Android-розробників, яка почнеться в 2026 році. За реєстрацію…

03.10.2025

Python-розробники отримали можливість імпортувати в Excel бібліотеки на свій вибір

Microsoft анонсувала нову потужну функцію для Python-розробників у Microsoft Excel для Windows: редагування ініціалізації. Вона…

03.10.2025

В інструмент кодування Jules додали інтерфейс командного рядка та публічний API

Google додає в Jules інтерфейс командного рядка та публічний API, що дозволяє цьому інструменту кодування…

03.10.2025

Хакери зламали приватні репозиторії Red Hat на GitHub

Хакерське угруповання Crimson Collective зламало приватні GitHub-репозиторії компанії Red Hat, яка займається розробкою корпоративного програмного…

02.10.2025