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

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

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

У сервіси Google додали чат-боти Gem, доступні для налаштування під конкретні завдання

Google відкрила користувачам додатків Workspace доступ до Gem — кастомних чат-ботів на базі Gemini. Їх…

03.07.2025

Microsoft випустила безкоштовний курс по Model Context Protocol для Python, C# та Java з підтримкою української мови

Компанія Microsoft запустила безкоштовний практичний курс по Model Context Protocol (MCP) з прикладами на Python,…

03.07.2025

Становище в українському IT оцінили як «найкраще півріччя з початку війни»

Чисельність вакансій в українському IT поступово зростає. За даними DOU, за кількістю вакансій перша половина…

03.07.2025

Дослідження виявило, хто найчастіше бреше в резюме

Згідно з опитуванням career.io, 64,2% співробітників хоча б раз збрехали в своєму резюме, причому найчастіше…

03.07.2025

Індійських айтівців просять «не працювати більше 46 годин на тиждень»

Індійська компанія Infosys, яка є одним з найбільших світових аутсорсерів з розробки програмного забезпечення, розіслала…

02.07.2025

Зустріч Diia.City Union зібрала понад 100 компаній-резидентів Дія.City. Про що говорили на івенті

19 червня в UNIT.City відбулася чергова щоквартальна зустріч Intro Meeting, організована Diia.City Union. Подія зібрала…

02.07.2025