
GitHub посилює надійну публікацію npm після вразливості SlugFest, яка викрила 1 500 пакетів
GitHub заблокував невалідні конфігурації публікації npm на 48 годин після того, як дослідники виявили діру: за допомогою покинутих slug-ів можна було привласнити понад 1 500 пакетів. Виправлення спирається на незмінні ID репозиторіїв.
GitHub реагує на вразливість надійної публікації npm
GitHub встановив 48-годинний термін для невалідних конфігурацій надійної публікації npm після того, як дослідники Bloom Security виявили вразливість, яка залишила понад 1 500 пакетів під ризиком захоплення. Згідно з змінами, нова конфігурація надійного видавця має завершити першу успішну публікацію за два дні, після чого конфігурація валідується і прив'язується до незмінного ідентифікатора репозиторію.
Як працювала атака SlugFest
Надійна публікація, яка почалася у липні 2025 року, дозволяє розробникам публікувати пакети з CI/CD платформ за допомогою короткоживучих OIDC токенів замість довгострокових секретів. Однак npm спочатку перевіряв лише slug репозиторію, власника та назву репозиторію, ігноруючи постійний числовий ID, призначений GitHub. Коли користувач перейменовував, передавав або видаляв репозиторій, slug ставав доступним будь-кому. Зловмисник міг створити репозиторій на звільнений slug, запустити workflow публікації та отримати дійсний токен публікації для пакета, яким не володів. Ця атака, відома як SlugFest, дозволяла опублікувати шкідливу версію під ім'ям легітимного пакета та привласнити його репутацію та кількість завантажень.
Вплив і пом'якшуючі заходи
Bloom Security повідомила GitHub про проблему 6 червня 2026 року і виявила понад 1 500 вразливих пакетів, загальна кількість завантажень яких перевищувала 10 мільйонів. Компанія попередила, що AI-агенти, які автоматично вирішують залежності, можуть посилити ризик завантаження останньої шкідливої версії без перевірки людиною. GitHub тепер відхиляє токени надійної публікації, отримані з подій issue_comment GitHub Actions, і зберігає наявне обмеження pull_request_target. Розробникам рекомендують перевірити прив'язки надійного видавця, переконатися, що вказаний slug все ще вказує на репозиторій під їхнім контролем, і видалити та створити заново прив'язки, коли репозиторій перейменовують, передають або видаляють.
Широкі уроки ланцюжка постачання
Відкриттю SlugFest передувало раніше відкриття Bloom Security у серпні, пов'язане з пакетами розширень Open VSX та VS Code Marketplace. Ця техніка, названа Extension Resurrection, дозволяла зловмисникам претендувати на покинуті namespace у надійних пакетах, що призводило до можливості дистанційного виконання коду. Обидва випадки показують, що системи довіри, які спираються на змінювані ідентифікатори, зручні для читання людиною, можуть бути зламані, коли ці ідентифікатори змінюють власники.
Джерела: The Hacker News
SiTech — веброзробка з підтримкою AI
Створюємо швидкі та сучасні сайти й інтегруємо AI у бізнес-процеси. Маєте проєкт чи запитання? Із задоволенням допоможемо.