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 сканер для перевірки репозиторію.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: