Skip to content
logo Devstock
  • O nas
  • Moduły Akademii
    • Moduł 1
    • Moduł 2
    • Moduł 3
    • Pozostałe moduły
  • Kursy AI i IT
    • Agenci AI
    • Pierwsza Misja AI (Podstawy)
    • Automatyzacje z n8n 2.0
    • Frontend Master 2026
  • Blog
  • Kontakt
  • O nas
  • Moduły Akademii
    • Moduł 1
    • Moduł 2
    • Moduł 3
    • Pozostałe moduły
  • Kursy AI i IT
    • Agenci AI
    • Pierwsza Misja AI (Podstawy)
    • Automatyzacje z n8n 2.0
    • Frontend Master 2026
  • Blog
  • Kontakt

Bądź na bieżąco ze światem IT, AI i automatyzacjiCo wtorek: IT, AI i bezpieczeństwo w jednym mailu

Co wtorek jeden mail: newsy z branży, praktyczne tipy, narzędzia warte poznania i to, co trzeba wiedzieć o wyciekach i bezpieczeństwie IT.


Trafia do ponad 6 tys. skrzynek. Zero spamu, wypisujesz się jednym kliknięciem.

    Bezpieczeństwo i Jakość

    GitHub Actions: dwie przejęte akcje znów narażały sekrety

    • 26 wrz, 2026
    • Komentarze 0
    GitHub Actions i wadliwy element z łańcucha dostaw - stanowisko kontroli jakości przy linii montażowej z jedną częścią odłożoną na bok

    Przepływ zamykający nieaktywne zgłoszenia w jednym z projektów na GitHubie przez cztery miesiące padał po dwóch sekundach, a 16 września nagle zaczął działać i trwał ponad 11 minut. Nikt nie zmienił w nim ani linijki. Zmieniło się tylko to, że dwie akcje GitHub Actions, przejęte w maju w kampanii Mini Shai-Hulud, znów dało się pobrać. Te akcje to actions-cool/issues-helper i actions-cool/maintain-one-comment. Ich tagi wersji przez cały ten czas wskazywały na złośliwy kod, który w maszynie budującej ma dostęp do tokenów i sekretów. Opisała to firma Socket 24 września, a w nocy z 24 na 25 września GitHub ponownie zablokował oba repozytoria. Jeśli twój projekt używa którejś z tych akcji, masz do zrobienia trzy rzeczy: sprawdzić historię przebiegów, zmienić sekrety i przypiąć akcje do konkretnych commitów.

    Co się stało z akcjami issues-helper i maintain-one-comment

    Obie akcje to drobne narzędzia porządkowe. Pierwsza zamyka stare zgłoszenia i sprawdza nowe, druga utrzymuje w wątku jeden aktualny komentarz bota. Według analizy Socketa napastnicy podmienili ich zawartość 18 maja, a dzień później zespół bezpieczeństwa GitHuba wyłączył oba repozytoria. Przepływy, które z nich korzystały, zaczęły wtedy padać na etapie przygotowania zadania, zanim uruchomił się jakikolwiek kod. To zatrzymało atak, ale tylko na czas blokady.

    Tagów wersji nikt nie posprzątał. Gdy 16 września, między 11:09 a 18:16 czasu polskiego, repozytoria znów stały się dostępne, każdy przepływ odwołujący się do nich po tagu pobrał złośliwy kod przy najbliższym uruchomieniu. Socket nie ustalił, dlaczego blokadę zdjęto.

    Sprawdziliśmy stan repozytoriów przez API GitHuba 26 września. Oba zwracają komunikat o zablokowanym dostępie z powodu naruszenia regulaminu, a blokada trwa od 24 września, 23:51 czasu UTC. Obecnie przepływy z tymi akcjami znów padają przy starcie. Okno, w którym kod się wykonywał, trwało więc nieco ponad osiem dób.

    Skala jest duża. Socket podaje, że od samej akcji issues-helper zależy według grafu zależności GitHuba około 15 tysięcy repozytoriów. Nie wiadomo, ile z nich odwołuje się do akcji po tagu, a ile po skrócie konkretnego commita, bo tego Socket nie policzył. Takie przepływy uruchamiają się zwykle codziennie albo przy każdym nowym zgłoszeniu. Według Socketa większość dotkniętych projektów prawdopodobnie wykonała kod w ciągu doby od odblokowania.

    Dlaczego odwołanie po tagu w GitHub Actions uruchomiło stary kod

    Zapis uses: actions-cool/issues-helper@v2.2.1 wygląda jak numer wersji, ale wskazuje na tag w Gicie. Tag to przesuwalna etykieta. Wskazuje na ten commit, na który ktoś go ustawił, i można go przestawić bez zmiany nazwy. Maszyna budująca przy każdym zadaniu pobiera akcję od nowa i uruchamia to, na co tag wskazuje w danej chwili.

    Socket pokazuje to na logach. Tag v2.2.1 prowadził do commita a0c53dd42fc842d2f9276c5a1d4f9a26abe8713d ze zaciemnionym plikiem index.js. Logi pokazują instalację środowiska Bun i kilkuminutowe uruchomienie tego pliku. Według Socketa pasuje to do nakładki, która najpierw wykonuje złośliwy kod, a potem oddaje sterowanie właściwej akcji, dzięki czemu przebieg wygląda na udany.

    Kod działający w akcji ma dostęp do tokenu GITHUB_TOKEN i do każdego sekretu, który przepływ przekazuje zadaniu. W publicznym repozytorium przepływ reagujący na nowe zgłoszenia może uruchomić każdy użytkownik GitHuba. Wystarczy, że założy zgłoszenie.

    Ten sam schemat widzieliśmy już w tym roku kilka razy. W maju Mini Shai-Hulud zainfekował 314 paczek npm w 22 minuty. W sierpniu jego kolejna odsłona weszła do paczek z rodziny keyv. We wrześniu napastnicy przejęli konta opiekunów paczek Rusta w crates.io. Tym razem nie było nawet nowego włamania. Wystarczyło, że zablokowane repozytorium wróciło z tą samą zawartością.

    Jak sprawdzić, czy twoje przepływy GitHub Actions używały tych akcji

    Zacznij od plików przepływów. W katalogu repozytorium wystarczy jedno polecenie:

    grep -rn "actions-cool/issues-helper@\|actions-cool/maintain-one-comment@" .github/workflows/
    

    Przy wielu repozytoriach wygodniejsza jest wyszukiwarka kodu na GitHubie z zapytaniem w rodzaju org:twoja-organizacja actions-cool/issues-helper path:.github/workflows. Każde odwołanie po tagu, na przykład @v2.2.1 albo @v3, traktuj jak dotknięte atakiem.

    Potem przejrzyj historię przebiegów tych przepływów w zakładce Actions. Socket radzi szukać dwóch sygnałów. Pierwszy to przebiegi, które przez dłuższy czas padały po kilku sekundach, a od 16 września nagle się udają. Drugi to czas trwania, który skoczył z sekund do kilku minut. W logach zadania podejrzane są pobranie akcji instalującej środowisko Bun i polecenie bun run $GITHUB_ACTION_PATH/index.js wykonane w ramach którejś z dwóch akcji.

    Na koniec przejrzyj historię commitów od 16 września. Jeśli przepływ miał uprawnienia do zapisu, token mógł posłużyć do wypchnięcia zmian, których nikt z zespołu nie robił.

    Jak przypiąć akcję do SHA commita zamiast tagu

    Tag można przestawić, a pełnego skrótu SHA commita już nie. Przypięty przepływ wygląda tak:

    steps:
      - uses: nazwa-autora/nazwa-akcji@<pełny 40-znakowy skrót SHA commita> # v1.2.3
    

    Komentarz z numerem wersji na końcu linii pomaga ludziom i narzędziom takim jak Dependabot, który umie aktualizować akcje przypięte do SHA. Skrót sprawdzisz na stronie wydania w repozytorium akcji albo poleceniem git ls-remote wywołanym na jej repozytorium.

    Jest jedno zastrzeżenie, o którym Socket pisze wprost. Przypięcie chroni tylko wtedy, gdy przypięty commit jest czysty. W przypadku tych dwóch akcji chodzi o commit z wydania sprzed 18 maja. Rozsądniej jest jednak usunąć je całkiem, bo repozytoria i tak są dziś zablokowane, a ich zadania łatwo zastąpić innymi narzędziami albo krótkim skryptem.

    Frontend Master 2026 · Kodożercy

    Pisz kod, nie tylko prompty

    Frontend Master 2026 to pakiet sześciu kursów Kodożerców (HTML, CSS, JavaScript, Git) w polskim wideo z 12-miesięcznym dostępem. Fundamenty frontu od pierwszej linijki kodu do deploy.

    Wchodzę w to →
    Frontend Master 2026 - Kodożercy

    Które sekrety trzeba zmienić po ataku

    Każdy przepływ, który od 16 września uruchomił którąś z tych akcji po tagu, trzeba traktować tak, jakby jego sekrety wyciekły. Dotyczy to wszystkiego, co przepływ dostawał w zmiennych: kluczy do chmury, tokenów npm i PyPI, kluczy do serwerów wdrożeniowych i tokenów do zewnętrznych usług. Zmień je u źródła, a potem zaktualizuj w ustawieniach repozytorium. Przy okazji sprawdź, czy któryś z nich nie był używany z nieznanych miejsc.

    Sam GITHUB_TOKEN wygasa po zakończeniu zadania, więc zmieniać go nie trzeba. Trzeba za to sprawdzić, co wolno mu było zrobić w czasie działania. Jeśli przepływ nie ustawia uprawnień jawnie, dostaje domyślne ustawienia repozytorium albo organizacji. Mogą one obejmować zapis do kodu. Dlatego w każdym przepływie warto wpisać sekcję permissions z najmniejszym zakresem, jaki jest potrzebny. Akcja zamykająca stare zgłoszenia potrzebuje dostępu do zgłoszeń, a do kodu repozytorium już nie.

    Devstock { aplikacje webowe }

    Masz pomysł na aplikację? Najpierw go zobacz

    Zanim zainwestujesz w pełny system, przygotujemy klikalny prototyp, który pokażesz zespołowi albo klientom. Potem budujemy aplikację webową, która rośnie razem z firmą.

    Zobacz, jak pracujemy → Software house, który prowadzi ten blog

    Podsumowanie

    Dwie akcje porządkowe z konta actions-cool zostały przejęte w maju i zablokowane przez GitHub dzień później. 16 września repozytoria wróciły z nietkniętymi tagami, więc przepływy odwołujące się do nich po tagu przez ponad osiem dni uruchamiały złośliwy kod z dostępem do sekretów. W nocy z 24 na 25 września GitHub znów je zablokował. Według Socketa od samej akcji issues-helper zależy około 15 tysięcy repozytoriów, choć nie wiadomo, ile z nich używało tagu. Właściciel projektu powinien przeszukać katalog .github/workflows/ i przejrzeć historię przebiegów od 16 września. Sekrety przepływów, które uruchomiły akcję, trzeba zmienić, a historię commitów przejrzeć. Na przyszłość najwięcej daje przypinanie zewnętrznych akcji do pełnego skrótu SHA i ograniczanie uprawnień tokenu. Przypięty commit nie zmieni się bez twojej wiedzy, niezależnie od tego, co stanie się z tagami w cudzym repozytorium.

    Newsletter · DevstockAcademy & Kodożercy

    Bądź na bieżąco ze światem IT, AI i automatyzacji

    Co wtorek: newsy z branży, praktyczne tipy i narzędzia które warto znać. Zero spamu.


    Udostępnij na:
    Mateusz Wojdalski

    Specjalista SEO i content marketingu w Devstock. Zajmuję się strategią treści, automatyzacją procesów marketingowych i wdrożeniami AI w codziennej pracy. Badam nowe narzędzia, adaptuję je do realnych zadań i piszę o tym, co faktycznie działa.

    Lista w komórce Excela: nowość inna niż lista rozwijana
    VS Code czy Cursor: który edytor wybrać i za ile
    Pudelko kursu Agenci AI od Kodozercow z robotem i schematem przeplywu agentow
    Banner reklamowy Frontend Master 2026

    Najnowsze wpisy

    Thumb
    Teams Rooms czy Zoom Rooms: którą platformę
    15 paź, 2026
    Thumb
    Numer IMEI: co to jest i jak
    15 paź, 2026
    Thumb
    Jak przywrócić ustawienia fabryczne w telefonie i
    15 paź, 2026
    Thumb
    Sprawdzenie OC samochodu: UFG i mObywatel krok
    15 paź, 2026
    Thumb
    Claude Motion: co to jest, jak działa
    15 paź, 2026

    Kategorie

    • Aktualności i Wydarzenia (132)
    • Bezpieczeństwo i Jakość (273)
    • Branża IT i Nowe Technologie (290)
    • Design i User Experience (4)
    • Narzędzia i Automatyzacja (222)
    • Programowanie i Technologie Webowe (100)
    • Rozwój kariery i Edukacja (51)

    Tagi

    5G AI Architektura Cyberbezpieczeństwo Feedback Frontend Git IoT JavaScript Motywacja Nauka efektywna Optymalizacja i wydajność Programowanie React.JS Rozwój osobisty WebDevelopment
    Logo FitBody Center Warszawa

    Odkryj zabiegi Endermologii LPG Infinity w FitBody Center Warszawa

    Maszyna zabiegowa - endermologia lpg infinity
    banner-reklamowy-frontend-master
    Pudelko kursu Agenci AI od Kodozercow z robotem i schematem przeplywu agentow
    Group-5638-1

    Devstock – Akademia programowania z gwarancją pracy

    🏠 ul. Bronowska 5a,
    03-995 Warszawa
    📞 +48 517 313 589
    ✉️ contact@devstockacademy.pl

    Linki

    • Poznaj firmę Devstock
    • Wejdź do społeczności Devstock
    • Polityka prywatności
    • Regulamin

    FitBody Center

    Strona

    • Strona główna
    • Kontakt

    Newsletter

    Bądź na bieżąco, otrzymuj darmową wiedzę i poznaj nas lepiej!


    Icon-facebook Icon-linkedin2 Icon-instagram Icon-youtube Tiktok
    Copyright 2026 Devstock. Wszelkie prawa zastrzeżone
    Devstock AcademyDevstock Academy
    Sign inSign up

    Sign in

    Don’t have an account? Sign up
    Lost your password?

    Sign up

    Already have an account? Sign in