Як конкурс із винагородою від TeamPCP призвів до компрометації репозиторіїв GitHub

Більшість атак на ланцюг постачання не передбачають вступного внеску та призового фонду. Проте кампанія, яку TeamPCP запустила проти репозиторіїв GitHub у травні 2026 року, передбачала. Те, що почалося як допис на форумі з пропозицією $1 000 у Monero, переросло в організований конкурс проти ланцюга постачання програмного забезпечення. Були опубліковані правила, надані інструменти, а самовідтворюваного хробака додали безкоштовно. У підсумку близько 3 800 приватних репозиторіїв GitHub були виставлені на продаж.

Основні дані про кампанію

У травні 2026 року TeamPCP спільно з адміністраторами BreachForums запустила те, що вони назвали «Supply Chain Competition». Це була ініціатива, спрямована на заохочення широкого кола учасників до атак на ланцюг постачання. Щоб максимально збільшити кількість учасників, організатори відкрили вихідний код хробака Shai Hulud, розмістили його безпосередньо на CDN форуму та зробили його використання обов’язковою умовою участі.

За кілька тижнів та сама група оголосила, що отримала доступ до вихідного коду GitHub і приблизно 4 000 приватних репозиторіїв. Дані були виставлені на продаж за ціною від $50 000. GitHub підтвердила злам приблизно 3 800 внутрішніх репозиторіїв. Першопричину пов’язали зі співробітником, який встановив шкідливу версію розширення Nx Console, скомпрометованим через атаку на ланцюг постачання npm. Ці дві події, розділені кількома тижнями, є частинами однієї історії про те, наскільки дешево й швидко екосистему відкритого коду можна використати для масштабних атак.

Конкурс: краудсорсинг компрометації

Більшість атак на ланцюг постачання є роботою одного зловмисника або однієї групи. TeamPCP перевернула цю модель, запросивши до участі будь-кого з підключенням до інтернету та мінімальними етичними стандартами. Запропонувавши і фінансовий стимул, і конкретні інструменти, необхідні для проведення атаки, організатори усунули майже всі бар’єри для входу.

Механіка була простою:

  • Гроші на кону: $1 000 у Monero тому, хто скомпрометує пакети з найбільшою кількістю завантажень. Це напряму винагороджувало масштаб і вплив.
  • Обов’язкові інструменти: учасники мали використовувати хробака «Shai Hulud», розміщеного на власному CDN форуму. Це забезпечувало послідовний і дієвий метод атаки для всіх учасників.
  • Авторитет завдяки підтримці форуму: конкурс був організований спільно з адміністраторами BreachForums, що надало йому охоплення та авторитет у підпільній спільноті.

Замість того щоб одна група намагалася скомпрометувати ланцюг постачання, TeamPCP фактично набрала власну добровольчу армію, однаково її озброїла та одночасно спрямувала проти екосистеми відкритого коду.

Наслідки: розбір компрометації репозиторіїв GitHub

19 травня TeamPCP оголосила про доступ приблизно до 4 000 приватних репозиторіїв і виставила дані на підпільному форумі за ціною від $50 000. Пізніше GitHub підтвердила злам близько 3 800 внутрішніх репозиторіїв. Ланцюг компрометації був таким:

  1. Атака на ланцюг постачання npm через TanStack: початкова компрометація, яка вплинула на десятки npm-пакетів, зокрема на один із пакетів, що використовувався популярним розширенням для VS Code.
  2. Троянізоване розширення Nx Console: співробітник GitHub встановив скомпрометовану версію розширення, що дало зловмисникам початкову точку доступу на внутрішньому пристрої.
  3. Викрадені облікові дані CI/CD: після цього атака поширилася на інші проєкти з використанням викрадених облікових даних для безперервної інтеграції та розгортання. Це значно розширило масштаб наслідків за межі початкового пакета.

GitHub відреагувала, видаливши троянізоване розширення з маркетплейса VS Code та захистивши скомпрометований пристрій. Але шкоду вже було завдано. Від отруєного npm-пакета до ексфільтрації тисяч приватних репозиторіїв, конкурс TeamPCP досяг саме того, для чого був створений: масштабної компрометації пайплайну відкритого коду.

Чому екосистеми відкритого коду є пріоритетною ціллю

GitHub була не єдиною ціллю. RubyGems, основний менеджер пакетів для Ruby, минулого місяця тимчасово призупинив реєстрацію нових облікових записів після скоординованої шкідливої кампанії. Автоматизовані бот-акаунти опублікували понад 500 шкідливих пакетів, а дослідники виявили нову кампанію під назвою «GemStuffer», яка зловживала реєстром як каналом dead-drop для ексфільтрації даних. Замість поширення шкідливого ПЗ GemStuffer використовувала шкідливі gems (пакети RubyGems) для зберігання даних, зібраних із порталів муніципальних рад Великої Британії. Це повністю усувало потребу у виділеній інфраструктурі командування й контролю.

Різні зловмисники, однакова схема: кіберзлочинці творчо використовують екосистеми відкритого коду в шкідливих цілях, від яких залежить уся індустрія програмного забезпечення. Вони використовують їх як канал поширення, середовище для ексфільтрації або, як у випадку TeamPCP, як поле для краудсорсингових перегонів із завдання максимальної шкоди.

Висновки для команд безпеки

Слід виходити з того, що ланцюг постачання є об’єктом цілеспрямованих атак, а не лише ситуативно потрапляє під удар. Коли зловмисники платять винагороди за отруєння пакетів, модель загроз змінюється. Планування має враховувати скоординовані, фінансово стимульовані кампанії, а не лише поодинокі компрометації.

Облікові дані CI/CD слід розглядати як критично важливі активи. Компрометація репозиторіїв GitHub поширювалася через викрадені облікові дані для безперервної інтеграції та розгортання. Їх потрібно активно піддавати ротації, жорстко обмежувати за обсягом доступу та відстежувати аномальне використання.

Інструменти розробників потрібно перевіряти як ризик для ланцюга постачання. Єдине троянізоване розширення редактора стало точкою входу. Варто підтримувати інвентаризацію дозволених IDE та розширень редакторів, а кінцеві пристрої розробників розглядати як цінні цілі.

Необхідно контролювати цілісність залежностей і реєстрів. Оскільки реєстри використовують і для поширення шкідливого ПЗ, і для ексфільтрації даних, потрібно перевіряти походження та цілісність пакетів, що завантажуються. Не слід вважати, що довіра до реєстру автоматично поширюється на кожен пакет у ньому.

Конкурс із винагородою від TeamPCP – лише одна з кількох історій про ланцюг постачання у Cyber Threat Intelligence Report за травень 2026 року, який підготував Cynet. Звіт містить детальний аналіз, пов’язані інциденти та індикатори, необхідні команді безпеки.

Cynet – це платформа XDR, яка об’єднує в собі EDR, EPP, NDR, ITDR, SOAR, захист електронної пошти, SaaS та хмарні технології, мобільну безпеку та багато іншого. Якщо вас зацікавило це рішення і ви бажаєте отримати його пробну версію, будь ласка, залиште контактні дані у формі нижче.

Отримати пробну версію Cynet

Підписатися на новини