За повідомленням Cybernews, кампанія, побудована навколо викрадених токенів GitHub і WFX stealer, наражає на ризик приблизно 66 000 репозиторіїв. Зловмисники нібито використовували викрадені токени доступу, щоб упроваджувати шкідливі файли робочих процесів, перетворюючи конвеєр розробки на спосіб збору секретів. Доступні повідомлення є короткими, тому цей пост дотримується лише викладеного та зосереджується на практичних кроках, які розробники можуть зробити вже зараз.
Як викрадені токени уможливили атаку на робочі процеси GitHub
Згідно зі звітом, кампанія використовувала викрадені токени, щоб додати робочі процеси «WFX stealer» до приблизно 66 000 репозиторіїв GitHub. Токен — це обліковий запис, який дозволяє особі або застосунку діяти від імені акаунта без введення пароля. Якщо зловмисник має чинний токен із достатніми дозволами, GitHub вважає його дії легітимними.
Саме це робить робочі процеси привабливою ціллю. Робочі процеси GitHub Actions — це файли, що зберігаються в репозиторії та запускаються автоматично, часто з доступом до секретів, які проєкт використовує для збирання, тестування та розгортання коду. Шкідливому робочому процесу не потрібно експлуатувати програмну помилку. Достатньо, щоб його закомітив хтось, кого GitHub вважає авторизованим, і далі він запускається всередині конвеєра.
У вихідному резюме не деталізується, як саме токени були спочатку викрадені, і ми не будемо здогадуватися. Для читачів важлива сама схема: конвеєр стає механізмом доставки, а облікові дані, що його відкривають, — справжньою здобиччю.
Що WFX stealer може розкрити з акаунтів розробників
У повідомленні робочі процеси описуються як такі, що крадуть секрети, а запропонований кут зазначає, що конвеєри CI/CD можуть стати шляхом до секретів розробників і особистих акаунтів. Практично кажучи, stealer, що працює в конвеєрі, може мати доступ до всього, до чого має доступ цей конвеєр. Типові приклади таких матеріалів включають:
- API-ключі та хмарні облікові дані, що зберігаються як секрети репозиторію
- Токени розгортання та облікові дані реєстрів пакетів
- Інші токени GitHub, доступні робочому процесу
Точні дані, які збирає WFX stealer, не були підтверджені в наявній у нас інформації, тому сприймайте наведений вище список як категорії ризику, типові для секретів конвеєра, а не як перевірені висновки про цю кампанію. Ширша проблема полягає в тому, що один викрадений токен може призвести до інших викрадених токенів. Секрети, зібрані з одного репозиторію, можуть відкрити інші сервіси — саме так компрометація репозиторію може поширитися на особисті та організаційні акаунти.
Це вписується в ширшу тему, яку ми вже висвітлювали: системи, яким люди мають довіряти, обертають проти них самих. Наш огляд того, як нуль-клікова вразливість Pixel і атаки ScreenConnect на MSP поділяє ту саму незручну лінію, показує, як часто довірений інструмент є слабким місцем.
Як перевірити, чи постраждали ваші репозиторії
Ми не можемо сказати вам, чи є конкретний репозиторій у постраждалому списку, і доступні повідомлення його не публікують. Ви все ще можете самостійно шукати ознаки втручання:
- Перегляньте файли робочих процесів. Відкрийте теку
.github/workflowsу кожному репозиторії та пошукайте файли, яких ви не впізнаєте, або зміни, яких ви не робили. - Перевірте історію комітів і pull request. Пошукайте нещодавні коміти або гілки, що торкаються робочих процесів, особливо від незнайомих акаунтів або в незвичний час.
- Огляньте журнали запусків Actions. Неочікувані запуски, нові тригери або кроки, що роблять вихідні мережеві запити, заслуговують на уважніший розгляд.
- Перегляньте журнал безпеки та авторизовані застосунки. У налаштуваннях GitHub перевірте, які персональні токени доступу, OAuth-застосунки та GitHub Apps мають доступ, і видаліть усе, чим ви не користуєтеся.
- Припускайте компрометацію, якщо щось знайшли. Вважайте кожен секрет, який міг прочитати цей робочий процес, скомпрометованим і замініть його.
Посилення захисту GitHub: токени, MFA та сторонні Actions
Жоден із цих кроків не є екзотичним, але разом вони зменшують те, що може зробити викрадений токен.
Ротуйте та звужуйте токени. Відкликайте старі персональні токени доступу та видавайте нові з найвужчою областю дії та найкоротшим терміном дії, які працюють. Дрібнозернисті токени, обмежені конкретними репозиторіями, безпечніші за широкі.
Увімкніть багатофакторну автентифікацію. MFA захищає вхід до вашого акаунта, хоча варто пам’ятати, що викрадений токен може повністю обійти крок входу. Саме тому гігієна токенів має не менше значення.
Обмежте дозволи робочих процесів. Установіть типовий токен робочого процесу на доступ лише для читання та надавайте доступ на запис лише там, де це справді потрібно завданню. Вимагайте перевірки перед злиттям змін у файлах робочих процесів, наприклад через захист гілок і code owners.
Перевіряйте сторонні Actions. Закріплюйте Actions на конкретному коміті замість рухомого тегу та надавайте перевагу тим, що походять від супровідників, яким ви довіряєте. Тримайте секрети подалі від завдань, які їх не потребують.
Що це означає для вас
Якщо ви підтримуєте навіть невеликий проєкт на GitHub, ваші файли робочих процесів є частиною вашої поверхні атаки. Викрадений токен може дозволити комусь додати робочий процес, який тихо читає ваші секрети, і ви можете ніколи не побачити сповіщення. Окремі розробники, супровідники open source і компанії з автоматизованими розгортаннями — усі в зоні ризику.
Добра новина в тому, що засоби захисту в межах вашого контролю й коштують мало часу. Це також частина повторюваної схеми, у якій зловмисники атакують акаунти та інструменти, яким люди вже довіряють. Наше висвітлення заяви Incransom про атаку на TrRAC Inc. — це інший тип інциденту, але воно підкреслює, як швидко викрадений доступ може перетворитися на реальну шкоду.
Практичні висновки
- Ротуйте свої токени GitHub уже сьогодні та видаляйте ті, якими більше не користуєтеся.
- Увімкніть MFA на кожному акаунті з доступом до репозиторіїв.
- Перевірте свої файли
.github/workflowsна зміни, яких ви не робили. - Установіть дозволи робочих процесів на доступ лише для читання за замовчуванням і закріплюйте сторонні Actions.
- Якщо знайдете щось підозріле, замініть кожен секрет, до якого міг мати доступ цей робочий процес.
Повідомлення про викрадені токени GitHub і WFX stealer ще розвиваються, і деталі можуть змінитися. Не чекайте підтвердження, щоб упорядкувати власне налаштування: ротуйте токени, увімкніть MFA та перевірте свої робочі процеси вже сьогодні.




