
Co znajdziesz w tym artykule?
Wprowadzenie do problemu / definicja
Ataki na łańcuch dostaw oprogramowania należą dziś do najgroźniejszych scenariuszy bezpieczeństwa, ponieważ pozwalają napastnikom ominąć bezpośrednie zabezpieczenia ofiary i uderzyć w zależności, procesy automatyzacji lub narzędzia deweloperskie. Incydent dotyczący Grafana Labs i ekosystemu TanStack pokazuje, że nawet szybka reakcja organizacji może okazać się niewystarczająca, jeśli choć jeden token lub element pipeline’u pozostanie aktywny.
W omawianym przypadku skutkiem ataku było nieautoryzowane pobranie publicznego i prywatnego kodu źródłowego oraz części wewnętrznych repozytoriów zawierających informacje operacyjne i biznesowe. Firma podkreśliła jednak, że nie ma dowodów na naruszenie środowisk produkcyjnych ani platformy Grafana Cloud.
W skrócie
- Grafana wykryła złośliwą aktywność 11 maja 2026 roku.
- Incydent był powiązany z atakiem supply chain wymierzonym w pakiety TanStack.
- Podczas reakcji rotowano tokeny workflow w GitHubie, ale jeden z nich nie został unieważniony.
- Napastnicy wykorzystali pominięty token do uzyskania dostępu do repozytoriów organizacji.
- Skradziono kod źródłowy oraz wybrane wewnętrzne repozytoria z danymi operacyjnymi i kontaktowymi.
- Grafana odmówiła zapłaty okupu po otrzymaniu żądania 16 maja 2026 roku.
Kontekst / historia
Tłem incydentu była szersza kampania wymierzona w ekosystemy NPM i PyPI, przypisywana rodzinie Mini Shai-Hulud. Atakujący wykorzystywali złośliwe pakiety oraz mechanizmy samopropagacji do pozyskiwania tokenów, sekretów i innych danych uwierzytelniających obecnych w środowiskach deweloperskich.
Grafana poinformowała, że 11 maja 2026 roku wykryła aktywność związaną z tym atakiem i rozpoczęła działania ograniczające, w tym rotację tokenów GitHub workflow. Późniejsza analiza wykazała jednak, że jeden z workflowów, początkowo uznany za bezpieczny, również został skompromitowany. To właśnie ten nieuwzględniony token umożliwił wtórny dostęp do repozytoriów.
Sytuacja eskalowała 16 maja 2026 roku, gdy organizacja otrzymała żądanie okupu pod groźbą ujawnienia pobranego kodu źródłowego. Firma odmówiła zapłaty, rozszerzyła działania reagowania oraz powiadomiła organy ścigania.
Analiza techniczna
Z technicznego punktu widzenia incydent pokazuje typowy łańcuch przejścia od kompromitacji zależności do naruszenia procesów CI/CD i zasobów deweloperskich. Kluczową rolę odegrały tokeny automatyzacji wykorzystywane przez workflowy GitHub Actions lub pokrewne mechanizmy integracyjne. Jeśli taki token zostanie przejęty przez złośliwy kod uruchomiony w środowisku programistycznym lub buildowym, może otworzyć drogę do repozytoriów, sekretów, artefaktów i konfiguracji.
Atak można podzielić na trzy etapy. Najpierw doszło do kompromitacji w łańcuchu dostaw związanej z pakietami TanStack. Następnie napastnicy uzyskali dostęp do tokenów workflow. W końcu wykorzystali co najmniej jeden nieodwołany token do wejścia do środowiska GitHub Grafany i pobrania zawartości repozytoriów.
Szczególnie istotny jest wymiar operacyjny tej sytuacji. Częściowa rotacja sekretów nie zapewnia pełnego bezpieczeństwa, jeśli organizacja korzysta z wielu workflowów, integracji botów, kluczy i poświadczeń aplikacyjnych. Wystarczy pominięcie jednego uprzywilejowanego elementu, aby utrzymać aktywny dostęp dla atakującego.
Z dostępnych informacji wynika, że zakres naruszenia ograniczył się do środowiska GitHub. Nie potwierdzono modyfikacji kodu ani przejścia napastników do produkcji, jednak sam wyciek prywatnego kodu źródłowego i repozytoriów wewnętrznych stanowi poważny problem. Tego typu zasoby mogą zawierać informacje o architekturze, integracjach, wzorcach wdrożeniowych, konfiguracji i organizacji środowiska.
Konsekwencje / ryzyko
Najważniejszą konsekwencją incydentu jest utrata poufności kodu źródłowego oraz danych operacyjnych. Nawet jeśli atakujący nie zmodyfikowali kodu i nie uzyskali dostępu do systemów produkcyjnych, pozyskane repozytoria mogą zostać wykorzystane do przyszłych kampanii rozpoznawczych i ukierunkowanych ataków.
Ryzyko obejmuje również działania następcze wobec pracowników i partnerów. Skradzione służbowe dane kontaktowe mogą zostać użyte w kampaniach spear phishingowych, próbach wyłudzeń BEC, podszywaniu się pod personel techniczny lub w kolejnych próbach zdobycia dostępu do infrastruktury.
Z perspektywy klientów i społeczności open source komunikat ma częściowo uspokajający charakter, ponieważ brak jest dowodów na wpływ na produkcję oraz na modyfikację kodu. Nie oznacza to jednak pełnego braku zagrożenia. Każdy incydent obejmujący środowisko deweloperskie powinien skutkować wzmożonym monitoringiem integralności kodu, buildów, release’ów i pochodzenia artefaktów.
Rekomendacje
Incydent w Grafana Labs to ważna lekcja dla organizacji korzystających z GitHub Actions, NPM, PyPI i rozbudowanych pipeline’ów CI/CD. Ochrona łańcucha dostaw musi obejmować nie tylko zależności, ale również sekrety i tożsamości maszynowe.
- Przeprowadzić pełną inwentaryzację tokenów, kluczy, sekretów repozytoryjnych i organizacyjnych.
- Ograniczać uprawnienia tokenów zgodnie z zasadą najmniejszych uprawnień.
- Stosować poświadczenia krótkotrwałe i federację tożsamości zamiast sekretów długowiecznych.
- Monitorować anomalie w repozytoriach i workflowach, w tym nietypowe klonowania i uruchomienia pipeline’ów.
- Przygotować procedurę pełnego resetu poświadczeń obejmującą potwierdzenie unieważnienia każdego sekretu.
- Wzmacniać integralność łańcucha dostaw poprzez pinning zależności, weryfikację podpisów, SBOM i attestation buildów.
Szczególną uwagę należy zwrócić na zależności transitywne oraz środowiska deweloperskie, które mają szeroki dostęp do sekretów chmurowych i repozytoryjnych. To właśnie tam często pojawiają się najcenniejsze dla napastników punkty zaczepienia.
Podsumowanie
Przypadek Grafana Labs pokazuje, że współczesny atak supply chain nie kończy się na złośliwym pakiecie. Jego prawdziwym celem są często tokeny automatyzacji, sekrety i uprzywilejowane procesy CI/CD, które umożliwiają dostęp do kodu źródłowego i danych operacyjnych.
W tym incydencie o skali naruszenia przesądziło pominięcie pojedynczego tokenu podczas reakcji. To wystarczyło, by napastnicy pobrali kod i zażądali okupu. Dla całej branży to kolejne ostrzeżenie, że bezpieczeństwo łańcucha dostaw musi obejmować pełną kontrolę nad sekretami, monitoring tożsamości maszynowych oraz rygorystyczne uszczelnienie środowisk deweloperskich.