Skip to content
devstock logo
  • O nas
  • Moduły Akademii
    • Moduł 1
    • Moduł 2
    • Moduł 3
    • Pozostałe moduły
  • Kursy AI
    • Pierwsza Misja AI (Podstawy)
    • Automatyzacje z n8n 2.0
  • Blog
  • Kontakt
  • O nas
  • Moduły Akademii
    • Moduł 1
    • Moduł 2
    • Moduł 3
    • Pozostałe moduły
  • Kursy AI
    • Pierwsza Misja AI (Podstawy)
    • Automatyzacje z n8n 2.0
  • Blog
  • Kontakt
Kurs Automatyzacji z n8n - banner reklamowy
Bezpieczeństwo i Jakość

Atak na npm: 314 paczek zainfekowanych – cel Claude Code

  • 19 maj, 2026
  • Komentarze 0
Atak supply chain npm - 314 paczek z konta atool przejętych w 22 minuty w ramach kampanii Mini Shai-Hulud, kradzież kluczy AWS GitHub Azure i innych credentials z CI/CD

19 maja 2026 nad ranem, między 01:39 a 02:06 UTC, ktoś przejął konto npm o nazwie atool i w ciągu 22 minut wypchnął z niego 631 zainfekowanych wersji 314 popularnych paczek JavaScriptu. Pełna lista obejmuje między innymi echarts-for-react (3,8 miliona pobrań miesięcznie), size-sensor (4,2 miliona), timeago.js (1,15 miliona) oraz szeroki zestaw paczek wizualizacji @antv używanych w dashboardach na bazie React. Według badaczy z SafeDep kampania nosi nazwę Mini Shai-Hulud, a przypisywana jest finansowo motywowanej grupie o pseudonimie TeamPCP. Sama nazwa nie jest przypadkowa. Shai-Hulud to imię gigantycznego piaskowego robaka z Diuny Franka Herberta. Tutejszy robak po cichu pełza przez ekosystem npm i sięga już po pliki Claude Code, VS Code oraz OpenAI Codex. Dla polskich developerów to konkretne ryzyko, które trzeba sprawdzić jeszcze dziś.

Co dokładnie się stało

Według publicznego rozbioru SafeDep, atak miał dwie fale. Pierwsza, między 01:39 a 01:56 UTC, wypchnęła około 317 wersji. Druga, między 02:05 a 02:06 UTC, dorzuciła kolejne 314 wersji – czyli prawie cała druga porcja zmieściła się w jednej minucie. Wszystkie zainfekowane wersje używały tego samego payloadu o rozmiarze około 498 kilobajtów. Uruchamiał się on przez hak preinstall w package.json, więc wystarczyło, że twoje CI/CD wykonało zwykłe npm install, a ładunek już ruszał.

Pełna lista najbardziej trafionych paczek pokazuje, jak głęboko atak sięga w codzienne stosy frontendowe. size-sensor i echarts-for-react to klasyki używane praktycznie w każdym dashboardzie na bazie Apache ECharts. @antv/scale, @antv/g2, @antv/g6, @antv/x6, @antv/l7, @antv/s2, @antv/g2plot to wykresy i diagramy w projektach data viz. timeago.js to z kolei prawie każdy projekt z licznikiem typu “5 minut temu”. Łącznie to miliony pobrań miesięcznie, dlatego skala potencjalnego narażenia jest poważna.

Co zwraca uwagę z perspektywy obrony, to wektor uruchomienia. Hak preinstall działa zanim kod paczki w ogóle zostanie zaimportowany. Nie wystarczy więc nie używać danej paczki w swoim kodzie – wystarczy mieć ją w lockfile albo jako tranzytywną zależność. Każdy npm install w CI/CD bez pinowania uruchomi ładunek raz, ekstrakcja zachodzi w tle, a build kończy się normalnie i bez błędów. Z perspektywy operatora wszystko wygląda zwyczajnie, jednak klucze są już po drugiej stronie.

314 paczek w 22 minuty to nie jest cierpliwa kampania szpiegowska. To zautomatyzowany sprint zbudowany wokół wykradzionego tokenu maintainera, w którym samo opublikowanie jest tańsze i szybsze niż jakakolwiek reakcja po stronie npm.

Co kradnie payload i dlaczego dotyka Claude Code

Lista celów payloadu Mini Shai-Hulud jest długa i niepokojąca. SafeDep zlicza ponad dwadzieścia kategorii credentials zbieranych z maszyny CI/CD lub komputera developera.

Lista zbieranych credentials

W chmurze są to klucze AWS – zmienne środowiskowe, pliki konfiguracyjne, EC2 IMDS, metadane ECS, Secrets Manager. Do tego klucze service account GCP oraz credentials Azure. Z warstwy identity ładunek wyciąga tokeny GitHub PAT i npm. Z baz danych ciągi połączeń do MongoDB, MySQL, PostgreSQL i Redis. Dorzuca też klucze Stripe, klucze API Slack i klucze SSH. Na końcu listy są konfiguracje Docker oraz tokeny Kubernetes i HashiCorp Vault.

Hijacking narzędzi AI

Najciekawszy z polskiej perspektywy fragment dotyczy jednak narzędzi AI. Payload skanuje pliki konfiguracyjne Claude Code, VS Code i OpenAI Codex, a jeśli znajdzie sesję, modyfikuje pliki typu .claude/settings.json oraz .vscode/tasks.json, podszywając się pod hooki SessionStart. W praktyce oznacza to, że nawet jeśli wyrzucisz złośliwą paczkę z projektu, w ustawieniach lokalnych Claude Code może zostać tylne wejście, które uruchomi się przy następnym otwarciu sesji. Dla polskich developerów, którzy używają Claude Code do codziennej pracy, to bardzo konkretne ryzyko – warto przejrzeć hooki w ustawieniach po porannym npm install.

Eksfiltracja przez GitHub

Atakujący nie wysyła danych na swój serwer C2 w klasyczny sposób. Zamiast tego korzysta z publicznego API GitHuba, commitując zaszyfrowane dane jako obiekty Git do tymczasowych publicznych repozytoriów. Nazwy tych repozytoriów są zbudowane na motywach z Diuny Franka Herberta – sardaukar, mentat, fremen, sandworm, ornithopter, heighliner. To nawiązanie tłumaczy zresztą nazwę kampanii, ponieważ Shai-Hulud to imię gigantycznego piaszczystego czerwia z tej samej powieści. Z perspektywy obrony oznacza to, że ruch wychodzący wygląda jak zwykłe git push do GitHuba, więc nie wpada w klasyczne reguły firewalla blokujące “podejrzane domeny”.

Persystencja wielowarstwowa

Persystencja jest wielowarstwowa. Payload próbuje wstrzyknąć złośliwy workflow .github/workflows/codeql.yml do twoich repozytoriów. Na maszynie developera tworzy serwis systemd o nazwie kitty-monitor (Linux) albo LaunchAgent o tej samej nazwie na macOS. W środowisku kontenerowym próbuje ucieczki przez gniazdo Dockera, tworząc uprzywilejowane kontenery z podpiętym systemem plików hosta. Dlatego nawet po odinstalowaniu paczki ślady mogą zostać na poziomie systemu operacyjnego, narzędzi AI i chmury.

Polski kąt – kto jest w grupie ryzyka

Najpierw test podstawowy. Jeśli twój zespół buduje frontend w React i ma dashboardy z wykresami, prawdopodobnie używasz echarts-for-react albo czegoś ze stacka @antv. Jeśli masz w swoich package.json którąś z tych zależności, sprawdź dziś w swoim lockfile, czy podciągnęły się dziś rano nowe wersje od konta atool. To pierwszy ruch i nie wymaga żadnej wiedzy z cybersecu, wystarczy npm ls i daty.

Drugi test dotyczy polskich agencji i software house’ów obsługujących klientów z CI/CD na GitHub Actions. Każdy taki pipeline ma w swoich sekretach klucze do AWS, Azure albo GCP klienta. Jeśli build wykonał npm install z zainfekowaną paczką, klucze mogły zostać wyciągnięte. To znaczy, że ewentualny incydent dotyczy nie tylko twojego konta, ale także klientów, których obsługujesz. Standardowo w branży oznacza to rotację wszystkich tokenów z ostatnich 24 godzin oraz powiadomienie zespołu po stronie klienta zgodnie z NIS2 i RODO. To są godziny pracy, których nie da się odłożyć na po weekendzie.

Trzecia grupa ryzyka to polscy developerzy używający Claude Code i podobnych narzędzi AI na co dzień. Po zainfekowanym npm install warto przejrzeć .claude/settings.json w katalogu projektu pod kątem nieautoryzowanych hooków SessionStart oraz .vscode/tasks.json pod kątem nowych tasków. Jeśli widzisz wpis, który nie pamiętasz że stworzyłeś, usuń go i rotuj wszystkie tokeny, do których Claude Code miał dostęp w ostatnich godzinach.

Co zrobić teraz – lista konkretów

Pierwszy krok to audyt lockfile. Otwórz package-lock.json lub yarn.lock i sprawdź, czy są tam wpisy wskazujące na paczki publikowane 19 maja 2026 z konta atool. SafeDep opublikował pełną listę zainfekowanych paczek – warto sięgnąć po nią bezpośrednio i porównać. Jeśli twoje CI/CD instalowało rano dziś w Polsce, ryzyko jest realne.

Drugi krok to rotacja credentials. Jeśli ryzyko jest realne, rotujesz wszystkie klucze, do których maszyna z CI/CD lub komputer developera mogły mieć dostęp. Konkretnie chodzi o AWS access keys, GitHub PATs osobiste i organizacyjne, tokeny npm, klucze Azure i GCP service account keys. Do tego klucze API Stripe i Slack oraz klucze SSH wystawione na hostach. Część z tych rotacji wymaga koordynacji DevOps, dlatego im wcześniej zaczniesz, tym mniejsze ryzyko.

Trzeci krok to sprzątanie persystencji. Sprawdź obecność serwisu systemd lub LaunchAgent o nazwie kitty-monitor, usuń go w razie znalezienia. Przejrzyj plik .github/workflows/codeql.yml w swoich repozytoriach, czy nie jest wstrzyknięty z zewnątrz. W Claude Code i VS Code zerknij na hooki w ustawieniach lokalnych. Jeśli używasz Dockera w CI, sprawdź, czy żaden nieznany uprzywilejowany kontener nie został utworzony w ciągu ostatniej doby.

Czwarty krok to prewencja na przyszłość. Pinuj zależności w lockfile i używaj npm ci zamiast npm install w CI. Dorzuć audyt automatyczny przed każdym buildem, czyli npm audit, socket-cli albo safedep pmg. Wyłącz też haki preinstall dla zależności tranzytywnych w środowiskach produkcyjnych. To są dobre praktyki, których wiele zespołów odkłada na potem – dzisiejszy atak pokazuje, dlaczego “potem” oznacza często “po incydencie”.

Pierwsza Misja AI · Kodożercy

Rozumiesz zagrożenia AI, gdy rozumiesz jak naprawdę działa

Kurs Pierwsza Misja AI ma dedykowaną lekcję o ciemnej stronie AI: halucynacje, deepfakes, manipulacja. Zanim zaczniesz się bać, zacznij rozumieć.

Poznaj pełny program →
Pierwsza Misja AI - Kodożercy

Podsumowanie

Mini Shai-Hulud z 19 maja 2026 to drugi w ciągu trzech tygodni atak supply chain na ekosystem npm o podobnej sygnaturze. Tym razem: jedno przejęte konto maintainera, 22 minuty automatycznego publikowania, 314 paczek z setkami milionów pobrań miesięcznie, ładunek kradnący ponad dwadzieścia kategorii credentials. Atakujący – financialnie motywowana grupa TeamPCP – celuje też wprost w narzędzia AI używane przez developerów: Claude Code, VS Code i Codex.

Dla polskich zespołów technicznych priorytet jest dziś prosty. Otwórz lockfile, sprawdź czy są tam paczki echarts-for-react, size-sensor, timeago.js i @antv w wersjach z 19 maja. Jeśli tak, rotuj klucze i sprzątaj persystencję na maszynach CI oraz w ustawieniach Claude Code. To są godziny pracy, ale taniej dziś niż po wycieku produkcyjnego klucza AWS.

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.

Algorytm zatrzymał pizze Pizza Hut - pozew na 100 mln dolarów

Najnowsze wpisy

Thumb
Atak na npm: 314 paczek zainfekowanych –
19 maj, 2026
Thumb
Algorytm zatrzymał pizze Pizza Hut – pozew
19 maj, 2026
Thumb
Olga Tokarczuk pisze książki z AI i
19 maj, 2026
Thumb
Anthropic wyprzedził OpenAI wśród firm – dane
18 maj, 2026
Thumb
Malta dała wszystkim obywatelom ChatGPT Plus na
18 maj, 2026

Kategorie

  • Aktualności i Wydarzenia (39)
  • Bezpieczeństwo i Jakość (47)
  • Branża IT i Nowe Technologie (81)
  • Design i User Experience (4)
  • Narzędzia i Automatyzacja (109)
  • Programowanie i Technologie Webowe (80)
  • Rozwój kariery i Edukacja (33)

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
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