Przejęta akcja reviewdog w GitHub Actions (CVE-2025-30154) ujawniła hasła z procesów budowania
11 marca 2025 roku przez 109 minut podmieniony reviewdog/action-setup wypisywał sekrety do dzienników GitHub Actions, także w pięciu akcjach pochodnych. Sprawdź, czy budowaliście projekt w tym oknie, i wymień klucze.
Ten alert jest dla zarządu, CTO i CFO firm, które tworzą oprogramowanie i budują je automatycznie w GitHub Actions, także przez podwykonawców. Werdykt: jeśli 11 marca 2025 roku między 18:42 a 20:31 UTC uruchamiał się u Was proces korzystający z narzędzi reviewdog, uznaj wszystkie hasła i klucze z tego procesu za ujawnione i wymień je dziś, a przy okazji przypnij narzędzia do konkretnych identyfikatorów kodu.
1. CO SIĘ STAŁO? Fakty w pigułce
Amerykańska agencja CISA 24 marca 2025 roku dopisała podatność CVE-2025-30154 do katalogu KEV, czyli listy luk, o których ma dowody, że są wykorzystywane w prawdziwych atakach. To nie błąd programisty, tylko atak na łańcuch dostaw: 11 marca 2025 roku ktoś obcy podmienił kod oznaczony jako wersja v1 narzędzia reviewdog/action-setup. Przez 109 minut podstawiony kod wypisywał do dziennika przebiegu wszystkie hasła i klucze udostępnione procesowi budowania.
Skażenie objęło też pięć innych narzędzi reviewdog, które wewnętrznie wołają action-setup@v1, niezależnie od sposobu ich przypięcia. CISA opisała sprawę razem z przejęciem narzędzia tj-actions/changed-files (CVE-2025-30066), które, jak napisała, zostało „potencjalnie umożliwione” przez ten incydent. Termin naprawy wg CISA minął 14 kwietnia 2025 roku.
Element
Szczegóły
Identyfikator CVE
CVE-2025-30154 (GHSA-qmg3-hpqr-gqvc; w europejskiej bazie: EUVD-2025-6724); powiązana: CVE-2025-30066
action-setup@v1 w oknie 11.03.2025, 18:42 do 20:31 UTC; wg NVD także action-shellcheck poniżej 1.29.2, action-ast-grep poniżej 1.26.2, action-staticcheck poniżej 1.26.2, action-composite-template poniżej 0.20.2, action-typos poniżej 1.17.2, niezależnie od sposobu przypięcia (CISA: „mogą być dotknięte”)
Wersje bezpieczne
action-shellcheck 1.29.2, action-ast-grep 1.26.2, action-staticcheck 1.26.2, action-composite-template 0.20.2, action-typos 1.17.2 i nowsze; dla action-setup CISA zaleca przypięcie do identyfikatora kodu 3f401fe zamiast etykiety wersji
Typ podatności
Wbudowany złośliwy kod (atak na łańcuch dostaw); CWE-506 wg GitHub i CISA, NVD: kategoria ogólna
Ocena CVSS
8.6/10 (CVSS 3.1, WYSOKA) zgodnie wg GitHub, NVD i ENISA. Atak przez sieć, bez konta i udziału człowieka, wysoki wpływ tylko na poufność
2. O CO CHODZI W PROSTYCH SŁOWACH?
Wyobraź sobie restaurację, która w umowie z hurtownią precyzyjnie określiła, jakie warzywa i od jakiego producenta chce dostawać. Hurtownia dotrzymuje umowy, ale jeden składnik kupuje u podwykonawcy, z którym restauracja umowy nie ma. Pewnego wieczoru, przez niecałe dwie godziny, ktoś u tego podwykonawcy dokłada do skrzynek kartkę, na której kucharz ma zapisać kod do sejfu i odłożyć ją na ladę. Restauracja kontrolowała dostawcę bardzo starannie, ale kontrola nie sięgała o poziom głębiej.
Tak wyglądał ten atak. Firmy budują swoje aplikacje automatycznie w GitHub Actions, korzystając z gotowych „klocków” od innych autorów. Narzędzie reviewdog/action-setup zostało podmienione i w trakcie budowania wypisywało hasła i klucze do dziennika przebiegu. Nawet firma, która starannie przypięła u siebie narzędzie reviewdog do konkretnego kodu, była narażona, bo to narzędzie wewnątrz wołało podmieniony instalator przez etykietę v1.
💡 GitHub Actions to usługa, która automatycznie buduje, testuje i publikuje oprogramowanie po każdej zmianie kodu. Akcja (action) to gotowy klocek tego procesu, pisany często przez zewnętrznych autorów. Etykieta wersji (np. v1) to nazwa, którą autor może przestawić na inny kod; identyfikator kodu (commit SHA) jest niezmienny. Sekrety to hasła, tokeny i klucze udostępniane procesowi budowania. Atak na łańcuch dostaw to przejęcie komponentu, z którego korzystają inni. KEV to katalog CISA z lukami potwierdzonymi w atakach.
Scenariusz
Normalnie
Z podatnością
Proces budowania korzysta z akcji reviewdog
Sprawdza jakość kodu
W oknie ataku wypisuje sekrety do dziennika
Firma przypina akcję do identyfikatora kodu
Chroni przed podmianą
Nie chroni, bo akcja wewnątrz woła action-setup@v1
Dziennik przebiegu budowania
Zawiera komunikaty techniczne
Zawiera zakodowane hasła i klucze
Szukanie fragmentu hasła w dzienniku
Wystarcza do sprawdzenia
Nie wystarcza, bo sekrety mogą być podwójnie zakodowane (wg CISA)
Aktualizacja akcji
Zamyka problem
Nie wystarcza, konieczna wymiana sekretów
źródło: Pexels, Kampus Production
3. JAK HAKERZY TO WYKORZYSTUJĄ?
Poniżej typowy przebieg ataku dla tej klasy incydentu. To scenariusz poglądowy, a nie odtworzenie konkretnego incydentu. Po stronie ofiary nie trzeba było żadnego działania poza uruchomieniem budowania w oknie ataku; CISA ocenia, że atak był w pełni automatyczny. Skutki trwają dłużej niż samo okno, bo wykradzione sekrety działają, dopóki nie zostaną wymienione.
Etap
Czas
Akcja hakerów
Wynik
1. Przejęcie komponentu
T+0 (11.03.2025, 18:42 UTC)
Podmiana kodu wskazywanego przez etykietę v1 w reviewdog/action-setup
Każde budowanie z tą akcją wykonuje złośliwy kod
2. Wyciek sekretów
T+0 do 109 min
Procesy budowania firm wypisują sekrety do dzienników
Tokeny i klucze w dziennikach
3. Zebranie danych
T+minuty do dni
Odczyt dzienników, szczególnie publicznych repozytoriów
Lista działających haseł i kluczy
4. Wykorzystanie tokenów
T+godziny do dni
Logowanie do chmury, repozytoriów, rejestrów pakietów
Dostęp do kodu i infrastruktury firm
5. Dalsze przejęcia
T+dni
Podmiana kolejnych komponentów lub paczek (CISA wiąże z tym przejęcie tj-actions/changed-files jako potencjalne)
Kolejni poszkodowani w łańcuchu
6. Uderzenie w klientów
T+tygodnie
Publikacja złośliwej wersji paczki lub instalatora pod nazwą firmy
Straty u wszystkich klientów naraz
Konkretne scenariusze zagrożenia
🔴 Scenariusz 1: producent oprogramowania dla warsztatów trzyma w procesie budowania token do rejestru pakietów; po wycieku napastnik publikuje złośliwą wersję biblioteki, którą klienci pobierają automatycznie.
🔴 Scenariusz 2: klucz dostępu do chmury z procesu budowania trafia do publicznego dziennika; napastnik uruchamia na koncie firmy kosztowne zasoby i kopiuje dane.
🔴 Scenariusz 3: podwykonawca budujący aplikację mobilną firmy używał akcji reviewdog; firma nie wie o incydencie, bo nie ma wglądu w jego procesy, a klucz podpisujący aplikację pozostaje niewymieniony.
4. DLACZEGO TO RYZYKO DLA TWOJEJ FIRMY?
Proces budowania oprogramowania ma dostęp do najcenniejszych kluczy firmy: do chmury, repozytoriów, rejestrów pakietów i podpisywania aplikacji. Wyciek tych kluczy uderza nie tylko w firmę, ale w jej klientów, którzy ufają aktualizacjom. Samo okno ataku minęło, ale nie wymienione sekrety działają nadal.
Obszar biznesu
Potencjalny wpływ
Czas do wystąpienia
Koszty szacunkowe
Operacyjny
Wymiana wszystkich sekretów, przegląd procesów budowania, wstrzymanie wydań
Dni
10 tys. do 80 tys. PLN (praca zespołu, wstrzymane wydania)
Bezpieczeństwo danych
Dostęp napastnika do kodu, chmury i danych
Godziny do dni
30 tys. do 250 tys. PLN (analiza, audyt dostępu do chmury)
Finansowy
Rachunki za nadużyte zasoby chmury, koszty obsługi incydentu
Dni do tygodni
20 tys. do 400 tys. PLN łącznie
Reputacyjny
Utrata zaufania klientów po złośliwej aktualizacji wydanej pod nazwą firmy
Tygodnie do miesięcy
100 tys. do 1 mln PLN (utraceni klienci, odszkodowania)
Prawny
Przy wycieku danych osobowych obowiązek zgłoszenia do UODO w ciągu 72 godzin; możliwa kara RODO do 20 mln EUR lub 4% rocznego obrotu, zależnie od okoliczności; roszczenia klientów z umów
72 godziny od wykrycia
20 tys. do 200 tys. PLN (obsługa prawna), bez ewentualnej kary
Kwoty są orientacyjnymi widełkami dla małej i średniej firmy, nie danymi z tego incydentu.
Macierz ryzyka dla firmy, która budowała projekt z akcjamireviewdog 11.03.2025 i nie wymieniła sekretówWpływ 5 | . . . ■ . ← KRYTYCZNE 4 | . . . . . 3 | . . . . . 2 | . . . . . 1 | . . . . . +-------------------- 1 2 3 4 5 Prawdopodobieństwo
Interpretacja: dla firmy, której budowanie trafiło w okno ataku, a sekrety nie zostały wymienione, ryzyko jest krytyczne, bo klucze do chmury i publikacji mogą wciąż działać; firma, która w tym oknie nie budowała projektu z akcjami reviewdog, nie była narażona na ten konkretny wyciek.
5. CO MUSISZ ZROBIĆ NATYCHMIAST?
Lp.
Priorytet
Działanie
Termin
Odpowiedzialny
1
🔴 NATYCHMIAST
Przeszukać wszystkie repozytoria i procesy budowania (także podwykonawców) pod kątem akcji reviewdog, w tym pięciu pochodnych
Dziś
Kierownik zespołu programistów / DevOps
2
🔴 NATYCHMIAST
Sprawdzić, czy 11.03.2025 między 18:42 a 20:31 UTC uruchamiał się proces z tymi akcjami
Dziś
DevOps
3
🔴 NATYCHMIAST
Jeśli tak: wymienić wszystkie sekrety tego procesu (klucze chmury, tokeny GitHub, tokeny npm, klucze RSA i podpisujące), bez względu na ślady użycia
Dziś
DevOps / właściciele systemów
4
🟠 PILNIE
Usunąć lub ukryć dzienniki przebiegów z tego okna, szczególnie w publicznych repozytoriach
Do 3 dni
DevOps
5
🟠 PILNIE
Zaktualizować akcje pochodne do wersji z poprawką i przypiąć action-setup do identyfikatora kodu 3f401fe
Do 3 dni
DevOps
6
🟠 PILNIE
Przejrzeć logi chmury, rejestrów pakietów i GitHub pod kątem użycia starych kluczy od marca 2025 roku
Do 7 dni
DevOps / zespół bezpieczeństwa
7
🟡 WAŻNIE
Przypinać wszystkie akcje zewnętrzne do identyfikatorów kodu i ograniczyć sekrety w procesach do minimum
Do 30 dni
CTO
Jeśli aktualizacja nie jest dostępna
Dla akcji pochodnych dostępne są wersje z poprawką, a dla action-setup CISA zaleca przypięcie do identyfikatora kodu 3f401fe. Najważniejsza nie jest tu aktualizacja, tylko wymiana sekretów, które CISA nakazuje uznać za ujawnione. Oceny efektywności to ocena ekspercka.
Czasowa miara ochronna
Efektywność
Łatwość wdrożenia
Wymiana wszystkich sekretów z procesów, które działały w oknie ataku (zalecenie CISA)
Wysoka: unieważnia wykradzione dane
Średnia: wymaga pracy przy wielu systemach
Przypinanie akcji do identyfikatorów kodu zamiast etykiet
Średnia: nie chroni przed zależnościami wewnątrz akcji
Łatwa
Krótkotrwałe tokeny (np. logowanie do chmury bez stałych kluczy)
Wysoka wobec przyszłych wycieków
Średnia
Lista dozwolonych akcji w ustawieniach organizacji GitHub
Średnia
Łatwa
Przed i po działaniu
Stan
Przed działaniem
Po działaniu
Sekrety z procesu budowania
Mogły wyciec i nadal działają
Wymienione, stare unieważnione
Dzienniki z 11.03.2025
Mogą zawierać zakodowane sekrety
Usunięte lub ukryte
Akcje reviewdog
Etykieta v1, wersje podatne
Wersje z poprawką, przypięte identyfikatory
Wiedza o zależnościach
Tylko akcje użyte bezpośrednio
Także akcje wołane wewnątrz
Zgodność z terminem CISA
Możliwa zaległość sprzed 17 miesięcy
Incydent zamknięty i udokumentowany
6. KONTEKST I SKALA ZAGROŻENIA
Aspekt
Informacja
Czy jest wykorzystywana?
TAK (potwierdzone przez CISA); złośliwy kod działał 11.03.2025 w oknie 109 minut
Grupy przestępcze
Brak publicznych informacji o sprawcy
Kampanie ransomware
Brak potwierdzenia (CISA: Unknown)
Ocena CVSS
8.6/10 WYSOKA (CVSS 3.1, zgodnie GitHub, NVD i ENISA)
PoC dostępny publicznie?
Nie dotyczy w zwykłym sensie; NVD odsyła do analizy firmy Wiz opisującej złośliwy kod
Liczba atakowanych firm
Brak publicznych informacji
Powiązany incydent
Przejęcie tj-actions/changed-files (CVE-2025-30066), wg CISA „potencjalnie umożliwione” przez ten atak
Prognoza EPSS
Ok. 2,4% (wg analizy źródłowej); niska, bo zdarzenie było jednorazowe, co nie zmniejsza skutków dla tych, których dotknęło
Uwaga dla działu IT: europejska baza ENISA podaje 24 marca 2025 roku jako początek wykorzystania, bo to data wpisu do KEV. Faktyczne okno ataku to 11 marca 2025 roku, 18:42 do 20:31 UTC.
Sygnały zagrożenia dla CVE-2025-30154CVSS 3.1 (GitHub, NVD) 8.6/10 █████████████████░░░ WYSOKAEPSS (próba w 30 dni) ~2,4% ░░░░░░░░░░░░░░░░░░░░ zdarzenie jednorazoweCISA KEV TAK ████████████████████ atak potwierdzonyOkno ataku 109 min ████░░░░░░░░░░░░░░░░ 11.03.2025Skutki bez wymiany TRWAJĄ ████████████████████ sekrety nadal ważne
Linia czasu incydentu
2025-03-11 18:42 UTC Podmiana kodu reviewdog/action-setup@v12025-03-11 20:31 UTC Koniec okna ataku2025-03-18 CISA publikuje alert o tj-actions i reviewdog, KEV dla CVE-2025-300662025-03-19 Publikacja CVE-2025-30154 w NVD2025-03-24 CISA dodaje CVE-2025-30154 do katalogu KEV2025-03-26 Ostatnia aktualizacja alertu CISA2025-04-14 Termin naprawy wg CISA dla agencji federalnych2026-06-17 Ostatnia aktualizacja wpisu w NVD2026-09-17: TUTAJ JESTEŚMY
7. BEZPOŚREDNI LINK DO DZIAŁANIA: checklista dla CTO/CFO
Czy w naszych procesach budowania występuje którakolwiek akcja reviewdog?
TAK / NIE
🔴
2
Czy 11.03.2025 między 18:42 a 20:31 UTC uruchamiał się proces z tymi akcjami?
TAK / NIE
🔴
3
Kiedy wymieniono sekrety z tych procesów?
[data]
🔴
4
Czy dzienniki z tego dnia są publiczne?
TAK / NIE
🔴
5
Jakie wersje akcji reviewdog są używane teraz?
[wersja]
🟠
6
Czy przypinamy akcje zewnętrzne do identyfikatorów kodu?
TAK / NIE
🟠
7
Czy mamy spis sekretów dostępnych dla procesów budowania?
TAK / NIE
🟡
Pytania diagnostyczne dla managera
✓ Czy wiem, jakie zewnętrzne komponenty biorą udział w budowaniu naszego oprogramowania?
✓ Czy proces budowania ma dostęp tylko do kluczy, których naprawdę potrzebuje?
✓ Czy podwykonawcy informują nas o incydentach w swoich narzędziach?
✓ Czy mamy procedurę zgłoszenia naruszenia danych do UODO w 72 godziny?
✓ Czy potrafimy szybko wymienić wszystkie klucze, gdyby wyciekły?
Podsumowanie
CVE-2025-30154 to przejęcie narzędzia reviewdog/action-setup, które 11 marca 2025 roku przez 109 minut wypisywało sekrety procesów budowania do dzienników, także w firmach używających pięciu pochodnych akcji. Aktualizacja nie wystarczy: jeśli budowanie trafiło w okno ataku, wszystkie klucze z tego procesu trzeba dziś uznać za ujawnione i wymienić.
Czytaj dalej
Powiązane artykuły
Zestaw zmienia się codziennie, więc przy kolejnej wizycie zobaczysz inny wycinek bloga.
Google i CISA potwierdzają ukierunkowane ataki na lukę w modemie telefonów Pixel, które nie wymagają działania użytkownika. Zaktualizuj telefony do poziomu poprawek 2026-09-05, zaczynając od zarządu.
Wykorzystywana przed wydaniem poprawki luka w mechanizmie aktualizacji Windows 11 i Windows Server 2025 pozwala zwykłemu kontu przejąć komputer. Zainstaluj wrześniową aktualizację dziś.
Błąd w NetScaler ADC i Gateway, opisany przez producenta jako awaria, pozwala według badaczy przejąć bramę VPN bez hasła. Publiczny kod istnieje, ataki trwają. Zaktualizuj urządzenia i sprawdź ślady włamania.
Klikając „Akceptuję”, zgadzasz się na przechowywanie plików cookie przez UXU w celu poprawy działania strony, analizy i wsparcia działań marketingowych.