18 września 2026 roku CrowdSec — francuska firma tworząca popularny, otwartoźródłowy system wykrywania ataków na serwery — opublikowała raport z analizy własnego incydentu. Napastnik skopiował około 170 prywatnych repozytoriów firmy. Zrobił to 22 maja, a CrowdSec dowiedział się o tym dopiero wtedy, gdy 16 września kod pojawił się na forum cyberprzestępczym. Cztery miesiące ciszy.
Łańcuch, który do tego doprowadził
Punkt wyjścia to atak na łańcuch dostaw z maja. 11 maja opublikowano 84 złośliwe wersje 42 pakietów npm z ekosystemu TanStack (incydent oznaczono jako CVE-2026-45321). Instalacja którejkolwiek z nich uruchamiała kod wykradający z komputera dane logowania: tokeny GitHuba, klucze SSH, poświadczenia do chmury.
Jeden z takich pakietów trafił na laptopa programisty, który właśnie kończył pracę w CrowdSecu. Firma zostawiła mu dostęp do GitHuba, żeby mógł domknąć rozpoczęte zadania — typowa, ludzka decyzja. Jedenaście dni po zatruciu pakietów ktoś użył skradzionego tokenu OAuth z jego konta i pobrał zawartość prywatnych repozytoriów. Konto zostało usunięte z organizacji 25 maja, trzy dni za późno.
Ten sam atak na TanStack dotknął również innych. Mistral AI potwierdził zainfekowanie urządzenia programisty, a OpenAI — dwóch, wraz z nieautoryzowanym dostępem do części wewnętrznych repozytoriów.
Co się znalazło w archiwum
W skopiowanym kodzie były między innymi konsola webowa, skrypty i modele data science, automatyzacje oraz algorytm konsensusu decydujący o tym, które adresy IP trafiają na listy blokad. Wyciekły też progi tego algorytmu, wcześniej nieujawniane publicznie — CrowdSec twierdzi, że zatrucie list nadal jest nieopłacalne, bo wymagałoby dziesiątek zgłoszeń z dziesiątek zaufanych instalacji w dziesiątkach różnych sieci.
Gorzej wypada reszta. W archiwum znalazły się adresy e-mail 83 użytkowników oraz nazwiska, adresy i kontekst inwestycyjny 51 potencjalnych inwestorów z 2020 roku. Jedyne działające poświadczenie dotyczyło usługi AWS SNS z prawem publikacji w jednym temacie — ktoś próbował je wykorzystać 17 sierpnia, bez powodzenia.
Warto odnotować jeszcze jedną rzecz. Pierwszy komunikat firmy, z 17 września, zapewniał, że nie wyciekły żadne dane klientów ani nazwiska. Raport z kolejnego dnia tę wersję skorygował. To dobra ilustracja tego, dlaczego warto z ostrożnością czytać pierwsze oświadczenia po incydencie — również własne.
Wnioski dla każdej firmy
Pierwszy i najważniejszy: odbieranie dostępów przy odejściu pracownika to nie formalność, tylko element bezpieczeństwa. Jeśli ktoś naprawdę musi coś dokończyć, dostęp powinien mieć termin ważności, a nie „na razie zostawimy”. W GitHubie da się to zrobić przez czasowe zaproszenie do konkretnego repozytorium zamiast pełnego członkostwa w organizacji.
Drugi: tokeny osobiste i OAuth to hasła, tylko wygodniejsze do kradzieży. Warto je cyklicznie rotować, ograniczać zakres uprawnień i włączyć w organizacji wymóg 2FA oraz podpisywania commitów.
Trzeci dotyczy każdego, kto uruchamia npm install, composer install czy pip install. Instalacja pakietu to uruchomienie cudzego kodu na własnej maszynie — z pełnymi uprawnieniami użytkownika i dostępem do wszystkiego, co ma w plikach konfiguracyjnych. Blokowanie skryptów instalacyjnych (npm config set ignore-scripts true), przypinanie wersji w lockfile’u, opóźnianie aktualizacji o kilka dni i budowanie w izolowanym kontenerze to dziś minimum higieny.
Czwarty: CrowdSec przyznaje, że w maju nie wymagał oprogramowania ochronnego na komputerach programistów. Zmienił to dopiero po incydencie. Stacja robocza dewelopera jest w praktyce kluczem do całej infrastruktury i powinna być chroniona tak samo jak serwer.
Podsumowanie
To nie była wyrafinowana operacja na systemach firmy bezpieczeństwa. To złożenie trzech zwyczajnych zaniedbań: zatrutej zależności, niezabezpieczonego laptopa i konta, którego zapomniano wyłączyć. Każde z osobna wyglądało niegroźnie. Razem wystarczyły, żeby kod firmy chroniącej 150 tysięcy użytkowników wylądował na forum — i żeby nikt nie zauważył tego przez cztery miesiące.
źródło: https://thehackernews.com/2026/09/crowdsec-says-tanstack-npm-attack-led.html