Wyciek S1ngularity: GitHub i NPM zagrożone 🚨
Niedawne śledztwa w sprawie ataku na łańcuch dostaw, nazwanego „s1ngularity”, na Nx, ujawniły ogromny wyciek danych uwierzytelniających: ujawniono tysiące tokenów kont i sekretów repozytoriów, co miało konsekwencje w wielu fazach incydentu. Raport Wiz po incydencie dokumentuje zakres incydentu i dostarcza informacji o przebiegu i skutkach wycieku. 🚨📊
Według oceny opublikowanej przez badaczy Wiz naruszenie spowodowało ujawnienie 2180 kont i 7200 repozytoriów w trzech odrębnych fazach, przy czym wiele tajemnic nadal pozostaje ważnych i ryzyko dalszych uszkodzeńW dokumencie tym zawarto szczegółowe informacje na temat chronologii zdarzeń, technik stosowanych przez atakujących oraz charakteru ujawnionych tajemnic. 🔍📈
Atak na łańcuch dostaw NX ⚠️🚀
Nx to system kompilacji i zarządzania typu open source z jednym repozytorium, szeroko stosowany w ekosystemach JavaScript/TypeScript na skalę korporacyjną. Przy milionach pobrań tygodniowo w rejestrze NPM, skompromitowany pakiet ma daleko idący wpływ na liczne integracje i procesy programistyczne. ⚙️
Wektor zagrożenia i data incydentu 📅
26 sierpnia 2025 roku atakujący wykorzystał podatny na ataki przepływ pracy GitHub Actions w repozytorium Nx, aby opublikować złośliwą wersję pakietu w NPM. Pakiet zawierał złośliwy skrypt poinstalacyjny o nazwie „telemetry.js”, który działał jako złośliwe oprogramowanie do ekstrakcji danych uwierzytelniających w zaatakowanych systemach. 🔥
Jak działa złośliwe oprogramowanie telemetry.js 🕵️♂️
Szkodliwe oprogramowanie telemetry.js działało jako narzędzie do kradzieży danych uwierzytelniających w systemach Linux i macOS, próbując wykraść tokeny GitHub, tokeny npm, klucze SSH, pliki .env, portfele kryptowalut i inne poufne dane, a następnie przesyłać je do publicznych repozytoriów GitHub o nazwie „s1ngularity-repository”. Ten schemat działania pozwalał atakującemu na scentralizowanie i ujawnienie skradzionych informacji. 🔐

Źródło: Wiz
Atakujący zintegrował również narzędzia wiersza poleceń dla platform AI (np. Claude, Q i Gemini), aby zautomatyzować wyszukiwanie i zbieranie danych za pomocą ukierunkowanych komunikatów. Wiz dokumentuje, jak komunikat ewoluował podczas ataku, optymalizując ekstrakcję i omijając odrzucenia modelu dla określonych instrukcji, co odzwierciedla aktywne dostrojenie się atakującego do technik LLM. ✨💡
Zasięg uderzenia: promień i fazy obrażeń 📈🔥
Incydent przebiegał w trzech fazach. W pierwszej, między 26 a 27 sierpnia, zainfekowane wersje Nx bezpośrednio zaatakowały 1700 użytkowników i ujawniły ponad 2000 unikalnych sekretów, a także około 20 000 plików z zainfekowanych systemów. GitHub interweniował, ale większość danych została już zduplikowana.
- 🔹 Faza 1 (26–27 sierpnia): 1700 użytkowników zostało dotkniętych atakiem, ~2000 ujawnionych sekretów, 20000 naruszonych plików.
- 🔸 Faza 2 (28–29 sierpnia): Wykorzystanie wykradzionych tokenów do konwersji prywatnych repozytoriów na publiczne; naruszono 480 dodatkowych kont i ujawniono 6700 repozytoriów.
- 🔹 Faza 3 (od 31 sierpnia): atak wymierzony w organizację ofiary, wykorzystujący konta zagrożone publikacją 500 kolejnych prywatnych repozytoriów.
W drugiej fazie atakujący wykorzystali skradzione tokeny GitHub do upublicznienia prywatnych repozytoriów i zmiany ich nazw na ciąg „s1ngularity”, co zwiększyło ryzyko ataku. W trzeciej fazie atakujący wykorzystał konkretny cel do opublikowania setek dodatkowych prywatnych repozytoriów, co pokazuje upór i eskalację ataku. 🎯

Źródło: Wiz
Reakcja i łagodzenie skutków projektu Nx 🔧✅
Zespół Nx opublikował na GitHubie analizę przyczyn źródłowych, wyjaśniającą w jaki sposób wstrzyknięcie błędu w tytule żądania ściągnięcia w połączeniu z niebezpiecznym użyciem pull_request_target umożliwiło wykonanie dowolnego kodu z podwyższonymi uprawnieniami, uruchamiając potok publikacji i ułatwiając wykradanie tokenu publikacji npm. 🛠️
Wdrożone działania obejmowały usuwanie złośliwych pakietów, unieważnianie i rotację zagrożonych tokenów oraz wprowadzenie obowiązkowego uwierzytelniania dwuskładnikowego dla wszystkich kont wydawców. Dodatkowo, Nx wdrożył model zaufanego wydawcy NPM i dodał ręczne zatwierdzanie przepływów pracy uruchamianych przez PR. 🔐📌
Szybkie porady i najważniejsze punkty ✏️
- ✅ W przypadku podejrzenia naruszenia należy natychmiast przejrzeć i wymienić tokeny i sekrety.
- 📌 Unikaj niebezpiecznego użycia pull_request_target i wymuszaj ręczne zatwierdzenia w przypadku wrażliwych przepływów.
- 🔧 Wdrażaj uwierzytelnianie wieloskładnikowe i zaufane modele publikacji, takie jak Trusted Publisher.
- ⚡ Monitoruj publiczne repozytoria i wykonuj zautomatyzowane wyszukiwania tajnych informacji w celu wczesnego wykrywania.
Definiowanie fragmentów kodu i FAQ ✨
Czym jest telemetry.js?
telemetry.js to nazwa złośliwego skryptu wykonywanego po instalacji, zawartego w zainfekowanej wersji pakietu Nx. Działał on jako program do kradzieży danych uwierzytelniających w systemach Linux i macOS, gromadząc i wykradając poufne dane do publicznych repozytoriów kontrolowanych przez atakującego. 🔍
Ile kont i repozytoriów zostało dotkniętych?
Według raportu Wiz, atak ujawnił 2180 kont i 7200 repozytoriów w trzech udokumentowanych fazach incydentu, przy czym wiele tajemnic nadal pozostaje ważnych, a ryzyko dalszych skutków jest wysokie. 📊
Hasła zostały naruszone w 461 środowiskach TP3T, czyli prawie dwukrotnie więcej niż w 251 środowiskach TP3T w roku poprzednim. Pobierz raport Picus Blue Report 2025, aby uzyskać pełną analizę zapobiegania eksfiltracji danych, wykrywania jej i trendów. 📈
Raport zawiera dane statystyczne, zalecenia i studia przypadków mające na celu wzmocnienie obrony i poprawę reakcji na wycieki poufnych informacji.