Miasma kompromituje 73 repozytoria Microsoftu: nowy etap ataków na łańcuch dostaw oprogramowania - Security Bez Tabu

Miasma kompromituje 73 repozytoria Microsoftu: nowy etap ataków na łańcuch dostaw oprogramowania

Cybersecurity news

Wprowadzenie do problemu / definicja

Ataki na łańcuch dostaw oprogramowania należą dziś do najpoważniejszych zagrożeń dla firm rozwijających i utrzymujących aplikacje. Najnowszy incydent z udziałem robaka Miasma pokazuje, że napastnicy coraz częściej atakują nie tylko publiczne rejestry pakietów, ale również zaufane repozytoria kodu, konfiguracje środowisk developerskich oraz narzędzia wspierające automatyzację i rozwój oprogramowania.

W opisywanym przypadku skutkiem kompromitacji było czasowe wyłączenie 73 repozytoriów Microsoftu w serwisie GitHub. Zdarzenie przełożyło się na zakłócenia w procesach CI/CD i zwiększyło ryzyko przejęcia poświadczeń deweloperskich, które mogły zostać wykorzystane do dalszego rozprzestrzeniania ataku.

W skrócie

  • Miasma to wariant samoreplikującego się robaka powiązanego z wcześniejszą kampanią Shai-Hulud.
  • 5 czerwca 2026 roku automatyczne mechanizmy bezpieczeństwa doprowadziły do wyłączenia 73 repozytoriów Microsoftu.
  • Incydent objął głównie zasoby powiązane z organizacją Azure oraz wpłynął na działanie wybranych pipeline’ów CI/CD.
  • Atak był łączony z wcześniejszą kompromitacją pakietu durabletask opublikowanego w PyPI.
  • Złośliwy ładunek wykorzystywał pliki konfiguracyjne uruchamiane przez narzędzia takie jak Claude Code, Gemini CLI, Cursor oraz Visual Studio Code.

Kontekst / historia

Czerwcowy incydent nie był odosobnionym przypadkiem, lecz kolejną fazą szerszej kampanii wymierzonej w software supply chain. W maju 2026 roku wykryto kompromitację oficjalnego pakietu durabletask publikowanego przez Microsoft w repozytorium PyPI. Złośliwe wersje pakietu były dostępne przez ograniczony czas, ale zawierały funkcje kradzieży sekretów oraz mechanizmy wspierające dalszą propagację.

Badacze bezpieczeństwa powiązali oba zdarzenia z aktywnością obserwowaną wcześniej w kampaniach atakujących środowiska programistyczne i zaufane elementy ekosystemu open source. Kluczowe znaczenie miało podejrzenie, że do złośliwych commitów mogło zostać użyte konto kontrybutora powiązane z wcześniejszym naruszeniem albo przejęty wektor uwierzytelniania o podobnym charakterze.

To istotna zmiana w sposobie działania atakujących. Zamiast ograniczać się do podmiany pakietów w rejestrach zależności, napastnicy uderzyli bezpośrednio w repozytoria kodu i artefakty wykorzystywane przez procesy automatyzacji. W praktyce oznacza to rozszerzenie pola walki na cały ekosystem developerski.

Analiza techniczna

Technicznie incydent był szczególnie niebezpieczny, ponieważ dotyczył repozytoriów o wysokim poziomie zaufania, wykorzystywanych przez organizacje na całym świecie. Zakłócenia dotknęły między innymi komponentów związanych z Azure i GitHub Actions, co spowodowało problemy z rozwiązywaniem odwołań do wybranych akcji używanych w pipeline’ach budowania i wdrażania.

Istotą ataku nie była wyłącznie modyfikacja kodu źródłowego. Napastnicy osadzili także złośliwe pliki konfiguracyjne przeznaczone dla narzędzi developerskich i agentów AI. Taki mechanizm pozwalał aktywować ładunek po otwarciu sklonowanego repozytorium w podatnym środowisku pracy. To szczególnie groźne, ponieważ wiele organizacji nadal koncentruje zabezpieczenia na zależnościach, skryptach instalacyjnych i paczkach, pomijając konfiguracje wykorzystywane lokalnie przez IDE i narzędzia wspomagające kodowanie.

Według analiz ładunek miał charakter infostealera i był ukierunkowany na przejmowanie tokenów oraz sekretów przechowywanych w środowiskach deweloperskich. W praktyce mogły to być tokeny GitHub, dane dostępowe do usług chmurowych, sekrety CI/CD i poświadczenia używane przez narzędzia automatyzujące development. Przejęcie takich danych znacząco zwiększa możliwości dalszej eskalacji oraz lateral movement w ramach łańcucha dostaw.

Kampania wykazywała też cechy klasycznego robaka. Jej skuteczność nie wymagała masowej liczby ofiar, lecz przejęcia niewielkiej liczby kont o wysokich uprawnieniach. Każde kolejne otwarcie zainfekowanego repozytorium w podatnym narzędziu mogło dostarczyć nowych poświadczeń, które następnie służyły do dalszej propagacji i publikowania złośliwych zmian.

Dodatkowym czynnikiem ryzyka był prawdopodobny problem z rotacją i unieważnianiem poświadczeń po wcześniejszym incydencie z maja. Jeśli wykorzystane konto lub token nie zostały skutecznie wycofane, napastnicy mogli użyć ich ponownie. Alternatywnie mogło dojść do reinfekcji przez sam mechanizm robaka. Oba scenariusze wskazują na ryzyko długotrwałej obecności zagrożenia mimo pozornego opanowania sytuacji.

Konsekwencje / ryzyko

Najbardziej bezpośrednim skutkiem incydentu były zakłócenia operacyjne w pipeline’ach CI/CD oraz chwilowa niedostępność kluczowych repozytoriów. Dla organizacji korzystających z publicznych akcji GitHub i komponentów Microsoftu oznaczało to błędy w procesach budowania, testowania oraz wdrażania aplikacji.

Znacznie poważniejsze pozostaje jednak ryzyko wtórne. Jeśli deweloper sklonował podatne repozytorium i otworzył je w środowisku obsługującym złośliwą konfigurację, mogło dojść do przejęcia poświadczeń. Taki incydent może stać się punktem wyjścia do dalszych naruszeń obejmujących kolejne konta, repozytoria i usługi chmurowe.

  • publikowanie złośliwych zmian w kolejnych repozytoriach,
  • przejmowanie kont deweloperskich,
  • uzyskanie dostępu do zasobów chmurowych,
  • ingerencję w systemy build i release,
  • dalsze ataki na klientów korzystających z zainfekowanych komponentów.

Z perspektywy zarządzania ryzykiem jest to przykład incydentu o wysokim potencjale kaskadowym. Jedno naruszenie w zaufanym upstreamie może przełożyć się na awarie operacyjne, wycieki sekretów i wtórne kompromitacje wielu organizacji zależnych od tego samego komponentu. Dodatkowo wykorzystanie narzędzi AI i plików konfiguracyjnych utrudnia detekcję, ponieważ wiele zespołów bezpieczeństwa nie monitoruje jeszcze takich artefaktów z odpowiednią dokładnością.

Rekomendacje

Organizacje, które po 2 czerwca 2026 roku klonowały objęte incydentem repozytoria i otwierały je w środowiskach takich jak Claude Code, Gemini CLI, Cursor lub Visual Studio Code, powinny potraktować sytuację jako potencjalne naruszenie bezpieczeństwa i przeprowadzić pełną ocenę ekspozycji.

  • Natychmiastowa rotacja tokenów GitHub, sekretów CI/CD oraz poświadczeń chmurowych używanych przez zagrożone konta i stacje robocze.
  • Przegląd logów pod kątem nietypowych commitów, publikacji pakietów, zmian tagów oraz użycia tokenów poza standardowym profilem aktywności.
  • Inspekcja lokalnych kopii repozytoriów w poszukiwaniu nietypowych plików konfiguracyjnych związanych z agentami AI, IDE i narzędziami developerskimi.
  • Weryfikacja integralności używanych GitHub Actions, workflow i zależności pobranych w czasie okna ekspozycji.
  • Wdrożenie branch protection, obowiązkowych review oraz ograniczeń dla bezpośrednich commitów do chronionych gałęzi.
  • Ograniczenie ruchu wychodzącego z runnerów CI/CD do zatwierdzonych domen i usług.
  • Uruchomienie monitoringu pod kątem użycia sekretów poza oczekiwanym kontekstem oraz detekcji publikacji nowych wersji pakietów.
  • Rozszerzenie polityk bezpieczeństwa o skanowanie plików konfiguracyjnych narzędzi AI i środowisk IDE, a nie tylko kodu i manifestów zależności.

W dłuższej perspektywie incydent wzmacnia argument za wdrażaniem modelu zero trust w procesie developmentu. Zaufanie do źródła repozytorium nie może oznaczać automatycznego zaufania do każdego artefaktu znajdującego się wewnątrz projektu, zwłaszcza jeśli może on aktywować się lokalnie w narzędziach wykorzystywanych przez programistów.

Podsumowanie

Atak Miasma na 73 repozytoria Microsoftu pokazuje, że zagrożenia dla łańcucha dostaw oprogramowania szybko ewoluują. Napastnicy nie muszą już ograniczać się do kompromitacji pakietów w publicznych rejestrach. Coraz skuteczniej wykorzystują zaufane repozytoria, mechanizmy automatyzacji i nowe klasy narzędzi developerskich, w tym agentów AI.

Dla zespołów bezpieczeństwa najważniejszy wniosek jest jasny: ochrona software supply chain musi obejmować cały ekosystem wytwarzania oprogramowania — od kont deweloperskich i tokenów, przez repozytoria i pipeline’y, po konfiguracje IDE oraz narzędzi AI. W przeciwnym razie nawet krótkie okno kompromitacji może wystarczyć do uruchomienia szeroko zakrojonej, samonapędzającej się kampanii.

Źródła

  1. Dark Reading — https://www.darkreading.com/application-security/miasma-supply-chain-worm-73-microsoft-repositories
  2. StepSecurity — CI/CD Incidents — https://www.stepsecurity.io/incidents
  3. StepSecurity — 5 Supply Chain Attacks in 48 Hours: Why Securing One Layer Is Not Enough — https://www.stepsecurity.io/blog/5-supply-chain-attacks-in-48-hours-why-securing-one-layer-is-not-enough
  4. Endor Labs — Trojanized Microsoft SDK: durabletask 1.4.1 through 1.4.3 Deliver Credential-Stealing Malware — https://www.endorlabs.com/learn/trojanized-microsoft-sdk-durabletask-1-4-1-through-1-4-3-deliver-credential-stealing-malware
  5. TechRadar — Microsoft disables over 70 GitHub repos after hackers compromised them with dangerous malware — https://www.techradar.com/pro/security/microsoft-disables-over-70-github-repos-after-hackers-compromised-them-with-dangerous-malware