Коротко: GitHub непомітно підняв базову планку безпеки репозиторіїв. Додав нові детектори для секретів, підкрутив push protection і зробив CodeQL кориснішим для гілок, які реально живуть у команді, а не тільки для default branch. Це не «ще одна галочка в адмінці». Це шанс зловити витік раніше, ніж токен опиниться в логах, issue або в чужому форку.

Що саме змінилося

У березні GitHub привіз одразу кілька практичних оновлень для тих, хто зберігає код, CI і інфраструктуру в одному місці.

Перше — Secret scanning отримав дев’ять нових типів секретів і додаткові перевірки валідності для npm. Це означає, що GitHub краще відрізняє справжній токен від випадкового рядка і частіше ловить те, що раніше могло прослизнути повз.

Друге — Push protection для частини провайдерів стає жорсткішим і кориснішим за замовчуванням. У людському перекладі: шанс випадково закомітити секрет усе ще існує, але тепер платформа частіше скаже “стоп, це схоже на ключ” ще до того, як зміни підуть у віддалений репозиторій.

Третє — CodeQL у security overview почав показувати дані для всіх Protected branches, а не тільки для default branch. Це важливо, бо в реальних командах ризик часто живе не в main, а в release-, hotfix- або maintenance-гілках, куди дивляться значно рідше.

Чому це важливо звичайним командам

Більшість витоків не виглядає як кіберпанк-інцидент. Ніхто не приходить із капюшоном у серверну. Частіше це банальний секрет у YAML, токен у тестовому конфігу, ключ у PR-коментарі або service account, який випадково поїхав у форк.

Для маленьких і середніх команд проблема ще простіша:

Оновлення GitHub корисні саме тут: вони не вирішують усе автоматично, але зменшують кількість місць, де можна тихо промахнутися.

Що перевірити за 20 хвилин

Ось короткий аудит, який можна зробити без великого рев’ю всього портфеля.

1. Визнач критичні репозиторії

Спочатку випиши 5–10 репозиторіїв, де найбільше шкоди від витоку:

Якщо список не можеш скласти за 2 хвилини — це вже сигнал, що карта ризиків у команди не дуже чітка.

2. Перевір secret scanning

Подивись, чи він увімкнений на цих репозиторіях і чи є покриття там, де дійсно лежать секрети.

Зверни увагу:

3. Перевір push protection

Тут важливе не просто “enabled”, а реальна поведінка.

Питання, які варто поставити:

Якщо bypass використовують часто, значить проблема не в GitHub, а в робочому процесі.

4. Відкрий CodeQL / Security Overview

Перевір, чи бачиш ти тільки default branch, чи вже всі protected branches.

Це особливо важливо для:

Якщо дані є лише по main, частина картини просто ховається.

5. Пройдися по місцях, де секрети люблять ховатися

Класичні схованки:

GitHub ловить багато, але не все. Особливо якщо команда любить зберігати “тимчасові” речі трохи довше, ніж планувала.

Що не робити

Коли GitHub змінив правила гри

Є тонкий, але важливий момент: ці оновлення мають сенс лише якщо команда їх помітила і налаштувала під себе.

Наприклад:

Інакше вийде класична історія: функція є, а профітів немає.

Практичний висновок

Якщо коротко, GitHub зробив вашу базову репозиторну безпеку трохи розумнішою. Але це не заміна процесу — це підсилювач процесу.

Найкращий наступний крок сьогодні:

  1. вибрати критичні репозиторії;
  2. перевірити secret scanning і push protection;
  3. відкрити CodeQL для всіх protected branches;
  4. прибрати місця, де секрети можуть лежати без потреби;
  5. домовитися, хто реагує, якщо push protection спрацює.

Якщо зробити це зараз, а не коли вже щось витекло, GitHub вперше за довгий час справді економить вам нерви, а не тільки видає ще один security report.