Pomoc zdalna
alerty bezpieczeństwa

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.

  • Paweł Niedźwiecki
Paweł Niedźwiecki
17 września 2026 9 min czytania
Ilustracja procesu DevOps

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

Data dodania do CISA KEV

2025-03-24

Termin naprawy wg CISA

2025-04-14 (21 dni od wpisu)

Produkt

reviewdog/action-setup (GitHub Action) oraz narzędzia pochodne: action-shellcheck, action-composite-template, action-staticcheck, action-ast-grep, action-typos

Wersje zagrożone

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

Skrzynka z warzywami i dokumentem dostawyź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

Tomasz Kaczmarek
Tomasz Kaczmarek

Mogę Ci jakoś pomóc?

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 akcjami reviewdog 11.03.2025 i nie wymieniła sekretów Wpł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-30154 CVSS 3.1 (GitHub, NVD) 8.6/10 █████████████████░░░ WYSOKA EPSS (próba w 30 dni) ~2,4% ░░░░░░░░░░░░░░░░░░░░ zdarzenie jednorazowe CISA KEV TAK ████████████████████ atak potwierdzony Okno ataku 109 min ████░░░░░░░░░░░░░░░░ 11.03.2025 Skutki bez wymiany TRWAJĄ ████████████████████ sekrety nadal ważne

Linia czasu incydentu

2025-03-11 18:42 UTC Podmiana kodu reviewdog/action-setup@v1 2025-03-11 20:31 UTC Koniec okna ataku 2025-03-18 CISA publikuje alert o tj-actions i reviewdog, KEV dla CVE-2025-30066 2025-03-19 Publikacja CVE-2025-30154 w NVD 2025-03-24 CISA dodaje CVE-2025-30154 do katalogu KEV 2025-03-26 Ostatnia aktualizacja alertu CISA 2025-04-14 Termin naprawy wg CISA dla agencji federalnych 2026-06-17 Ostatnia aktualizacja wpisu w NVD 2026-09-17: TUTAJ JESTEŚMY

7. BEZPOŚREDNI LINK DO DZIAŁANIA: checklista dla CTO/CFO

Instrukcje CISA: cisa.gov, alert z 18.03.2025 o tj-actions/changed-files i reviewdog/action-setup . Komunikat projektu: github.com/reviewdog/reviewdog/security/advisories/GHSA-qmg3-hpqr-gqvc . Wpis w NVD: nvd.nist.gov/vuln/detail/CVE-2025-30154 .

Lp.

Zadanie

Kto

Deadline

1

Ustalić, czy firma lub podwykonawcy budują oprogramowanie w GitHub Actions

CTO

DZISIAJ

2

Uzyskać odpowiedź, czy akcje reviewdog działały 11.03.2025 w oknie ataku

CTO

DZISIAJ

3

Zatwierdzić wymianę wszystkich sekretów z tych procesów

CTO

DZISIAJ

4

Poprosić podwykonawców o pisemne potwierdzenie sprawdzenia incydentu

CTO

DO JUTRA

5

Sprawdzić rachunki za chmurę pod kątem nieoczekiwanych kosztów od marca 2025 roku

CFO

DO JUTRA

6

Zlecić przegląd użycia kluczy w chmurze i rejestrach pakietów

CTO

DO JUTRA

7

Wpisać do umów z podwykonawcami obowiązek informowania o incydentach w łańcuchu dostaw

CFO

DO JUTRA

Tomasz Kaczmarek
Tomasz Kaczmarek

Mogę Ci jakoś pomóc?

8. PYTANIA DO TWOJEGO ZESPOŁU IT

#

Pytanie

Odpowiedź

Priorytet

1

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.

Masz to samo u siebie?

Możemy się tym zająć

Krótka rozmowa wystarczy, żeby ocenić zakres prac i podać widełki kosztu. Bez zobowiązań.