Atak na łańcuch dostaw przez VS Code. Jak skompromitowano repozytoria GitHub
GitHub potwierdził, że włamanie do 3800 wewnętrznych repozytoriów było skutkiem ataku na łańcuch dostaw. Złośliwe rozszerzenie Nx Console, skompromitowane w kampanii Mini Shai-Hulud, posłużyło do kradzieży sekretów CI/CD. Sprawdzamy, co to oznacza dla deweloperów i firm.
„Jeden z naszych deweloperów został skompromitowany w wyniku niedawnego ataku na łańcuch dostaw TanStack, co doprowadziło do wycieku jego danych uwierzytelniających do GitHub CLI” – tak zespół Nx tłumaczy, jak doszło do publikacji złośliwej wersji rozszerzenia Nx Console w oficjalnym marketplace Visual Studio Code. Incydent, który ujawniono w połowie maja 2026 roku, doprowadził do włamania na 3800 wewnętrznych repozytoriów GitHub i kradzieży kodu źródłowego. To kolejny przykład, jak ataki na łańcuch dostaw oprogramowania mogą uderzyć w największe platformy deweloperskie.
Mechanizm ataku – od npm po VS Code
Wszystko zaczęło się od kampanii Mini Shai-Hulud, którą badacze przypisują grupie TeamPCP. Jak opisuje SecurityWeek, w jej ramach skompromitowano ponad 320 pakietów npm, w tym popularne biblioteki, takie jak timeago.js (1,5 miliona tygodniowych pobrań) czy echarts-for-react (~1,1 miliona tygodniowych pobrań). Atakujący przejęli konto opiekuna pakietów @antv i opublikowali złośliwe wersje, które podczas instalacji uruchamiały wieloetapowy łańcuch infekcji. „Każdy skompromitowany pakiet zawiera zaciemniony ładunek, który odczytuje pamięć procesów GitHub Actions Runner w celu wydobycia maskowanych sekretów CI/CD w postaci jawnego tekstu” – wyjaśniają eksperci z StepSecurity.
W przypadku ataku na Nx Console mechanizm był podobny. Zespół Nx ujawnił, że jeden z deweloperów padł ofiarą wcześniejszego ataku na TanStack, co pozwoliło przestępcom na przejęcie jego danych uwierzytelniających do GitHub CLI. Następnie opublikowali oni złośliwą wersję rozszerzenia Nx Console 18.95.0, która przez około 18 minut była dostępna w Visual Studio Marketplace, a przez kolejne 36 minut na OpenVSX. Według danych Microsoftu i OpenVSX pobrało ją odpowiednio 28 i 41 użytkowników, ale aktywacji rozszerzenia odnotowano około 6000.
Reakcja GitHub i skala wycieku
GitHub potwierdził incydent we wtorek 19 maja, a w środę 20 maja jego dyrektor ds. bezpieczeństwa Alexis Wales opublikował szczegółowy wpis. „Obrociliśmy krytyczne sekrety w poniedziałek i wtorek, priorytetowo traktując najważniejsze dane uwierzytelniające” – napisał Wales. Dodał, że nie znaleziono dowodów na kradzież danych klientów przechowywanych poza dotkniętymi repozytoriami. BleepingComputer informuje, że grupa TeamPCP już na forum Breached ogłosiła posiadanie dostępu do kodu źródłowego GitHub i zażądała co najmniej 50 000 dolarów za skradzione dane.
„Obrociliśmy krytyczne sekrety w poniedziałek i wtorek, priorytetowo traktując najważniejsze dane uwierzytelniające. Kontynuujemy analizę logów, weryfikację rotacji sekretów i monitorowanie infrastruktury pod kątem dalszej aktywności.” – Alexis Wales, CISO GitHub
Warto podkreślić, że atak nie ograniczył się do GitHub. Wcześniejsze doniesienia wskazują, że TeamPCP skompromitował także pakiety npm związane z Mistral AI, UiPath, Guardrails AI i OpenSearch, wykorzystując skradzione dane uwierzytelniające CI/CD. To pokazuje, jak jeden punkt wejścia – skompromitowane konto dewelopera – może doprowadzić do kaskadowego naruszenia bezpieczeństwa w całym ekosystemie open source.
Co to oznacza dla polskich deweloperów i firm?
Atak na GitHub to nie tylko problem giganta. Każda firma, która używa rozszerzeń VS Code, pakietów npm i GitHub Actions, powinna wyciągnąć wnioski. Przede wszystkim warto:
- Ograniczyć zaufanie do rozszerzeń marketplace – nawet oficjalne rozszerzenia mogą zostać skompromitowane. Przed instalacją warto sprawdzić ich historię, liczbę pobrań i opinie społeczności.
- Stosować zasadę najmniejszych uprawnień – tokeny CI/CD i klucze dostępowe powinny być rotowane regularnie, a ich zakres ograniczony do niezbędnego minimum.
- Monitorować aktywność kont deweloperskich – nietypowe logowania, nowe repozytoria czy zmiany w konfiguracji mogą świadczyć o przejęciu konta.
- Wdrożyć skanowanie zależności – narzędzia takie jak Socket czy Snyk mogą wykryć złośliwe pakiety w łańcuchu dostaw.
Jak zauważają badacze z Wiz, w najnowszej odsłonie kampanii Mini Shai-Hulud malware pobierał i wykonywał kod Python z infrastruktury atakujących, co zapewniało im zdalną kontrolę nad skompromitowanymi systemami. To oznacza, że zagrożenie nie kończy się na kradzieży sekretów – atakujący mogą utrzymywać trwały dostęp do środowisk deweloperskich.
Co dalej?
GitHub nadal analizuje skalę incydentu i rotuje pozostałe sekrety. Firma nie podała jeszcze harmonogramu pełnego przywrócenia bezpieczeństwa. Dla użytkowników platformy najważniejsze jest, aby nie bagatelizować ryzyka związanego z rozszerzeniami IDE i pakietami open source. W najbliższych tygodniach możemy spodziewać się kolejnych rewelacji na temat działań TeamPCP, a także wzmożonych kontroli bezpieczeństwa ze strony Microsoftu i GitHub. W międzyczasie każdy deweloper powinien sprawdzić, czy nie używa skompromitowanych wersji pakietów z rodziny @antv lub rozszerzenia Nx Console w wersji 18.95.0.


