Północnokoreańscy atakujący wykorzystują VS Code i GitHub do infekowania programistów - Security Bez Tabu

Północnokoreańscy atakujący wykorzystują VS Code i GitHub do infekowania programistów

Cybersecurity news

Wprowadzenie do problemu / definicja

Kampanie wymierzone w programistów coraz częściej łączą socjotechnikę z nadużyciem zaufanych narzędzi deweloperskich. W opisywanym scenariuszu repozytoria GitHub, projekty otwierane w Visual Studio Code oraz złośliwe rozszerzenia VS Code stają się nośnikiem malware służącego do kradzieży poświadczeń, danych systemowych i informacji związanych z portfelami kryptowalutowymi.

To przykład ataku na łańcuch narzędzi programistycznych, w którym nie trzeba już nakłaniać ofiary do uruchamiania oczywistego pliku wykonywalnego. Wystarczy, że programista sklonuje repozytorium i otworzy projekt w swoim codziennym środowisku pracy.

W skrócie

  • Badacze powiązali dwie kampanie z aktywnością zbliżoną do północnokoreańskiego klastra Contagious Interview.
  • Jedna z operacji, śledzona jako UNK_DeadDrop, wykorzystywała wiadomości o tematyce rekrutacyjnej i próśb o code review.
  • Ofiary były kierowane do kontrolowanych przez napastników repozytoriów GitHub.
  • Po otwarciu projektu w VS Code lub Cursor uruchamiał się wieloetapowy łańcuch infekcji dla Windows, macOS i Linuksa.
  • Celem ataków była przede wszystkim kradzież poświadczeń, danych z przeglądarek oraz informacji z portfeli kryptowalutowych.
  • Równolegle wykryto złośliwe rozszerzenia VS Code podszywające się pod narzędzia dla Jupyter Notebook i wykorzystujące usługi Microsoftu jako kanał komunikacji.

Kontekst / historia

Fałszywe procesy rekrutacyjne od lat pozostają jednym z ulubionych sposobów działania grup powiązywanych z Koreą Północną. Atakujący podszywają się pod rekruterów, firmy technologiczne lub partnerów biznesowych, a następnie proszą programistów o wykonanie zadania technicznego, analizę kodu albo ocenę rzekomego projektu open source.

Obecna fala aktywności pokazuje jednak wyraźne dojrzewanie tego modelu. Zamiast ograniczać się do prostych skryptów lub zainfekowanych archiwów, napastnicy wykorzystują naturalny workflow dewelopera: GitHub, edytor kodu, rozszerzenia i zaufane usługi chmurowe. W przypadku kampanii UNK_DeadDrop działania miały objąć setki wiadomości wysłanych do osób pracujących w niemal stu organizacjach, głównie z sektorów finansów, kryptowalut, edukacji i technologii.

Analiza techniczna

Łańcuch ataku zaczynał się od wiadomości e-mail zawierającej odnośnik do repozytorium GitHub, które wyglądało jak zadanie rekrutacyjne, projekt testowy albo narzędzie związane z kryptowalutami. Po sklonowaniu repozytorium i otwarciu katalogu w edytorze kodu uruchamiał się mechanizm automatycznego wykonania oparty na funkcjach środowiska deweloperskiego.

Jednym z kluczowych elementów była technika runOn: folderOpen, pozwalająca na wykonanie określonych działań już w momencie otwarcia folderu projektu. Dzięki temu użytkownik nie musiał ręcznie startować podejrzanego skryptu, ponieważ złośliwa aktywność była ukryta w zwykłym procesie pracy z kodem.

Na macOS i Linuksie wykorzystywano skrypty powłoki, natomiast na Windows skrypt VBScript. Ich zadaniem było pobranie i instalacja złośliwego rozszerzenia VS Code w formacie VSIX. Taki implant mógł następnie komunikować się z serwerem dowodzenia, wykonywać polecenia, zbierać dane z hosta i przekazywać je operatorom.

W środowiskach unixowych łańcuch prowadził dodatkowo do użycia zmodyfikowanego frameworka napisanego w Go, służącego do kradzieży danych. W niektórych przypadkach ofiara widziała także fałszywe okno bezpieczeństwa z prośbą o podanie hasła systemowego, co mogło zwiększać poziom dostępu uzyskanego przez napastników.

Na Windows obserwowano model bardziej dyskretny operacyjnie. Malware wykonywał jednorazową kradzież danych, kompresował zebrane informacje, przesyłał je do infrastruktury atakującego, a następnie usuwał ślady i kończył działanie. Taki schemat ograniczał widoczność ataku i mógł utrudniać wykrycie przez rozwiązania EDR.

Drugim ważnym wątkiem były złośliwe rozszerzenia VS Code opublikowane jako pozornie użyteczne dodatki dla Jupyter Notebook. Według analiz posiadały one wieloetapowy backdoor, w którym SharePoint pełnił rolę magazynu poleceń, rejestru ofiar i kanału eksfiltracji, a komunikacja była realizowana przez Microsoft Graph API. To podejście jest niebezpieczne, ponieważ ruch do legalnych usług chmurowych często nie wzbudza podejrzeń i bywa domyślnie dozwolony w środowiskach firmowych.

Konsekwencje / ryzyko

Najpoważniejszym skutkiem takich kampanii jest przesunięcie punktu ciężkości ataku z klasycznego endpointu na narzędzia developerskie i cały proces wytwarzania oprogramowania. Skutki mogą być znacznie szersze niż pojedyncza infekcja stacji roboczej.

  • kradzież poświadczeń użytkownika, tokenów dostępu, kluczy SSH i danych sesyjnych,
  • pozyskanie danych z przeglądarek oraz aplikacji i rozszerzeń portfeli kryptowalutowych,
  • kompromitacja lokalnych środowisk deweloperskich i narzędzi CI/CD,
  • ryzyko modyfikacji kodu źródłowego, zależności i konfiguracji projektów,
  • możliwość przeprowadzenia dalszego ataku na łańcuch dostaw oprogramowania.

Szczególnie groźne jest wykorzystywanie usług takich jak GitHub, VS Code Marketplace, SharePoint czy Microsoft Graph API. Są one powszechnie używane w biznesie, dlatego ruch do nich często nie jest blokowany, co daje napastnikom wygodną osłonę operacyjną.

Rekomendacje

Organizacje powinny traktować IDE, rozszerzenia edytorów, marketplace’y i zewnętrzne repozytoria kodu jako elementy powierzchni ataku wysokiego ryzyka. Ochrona musi obejmować zarówno technologię, jak i procedury pracy programistów.

  • ograniczyć lub monitorować automatyczne uruchamianie zadań i skryptów przy otwieraniu projektu w IDE,
  • wprowadzić listy dozwolonych rozszerzeń oraz centralną kontrolę plików VSIX,
  • blokować samodzielną instalację niezweryfikowanych dodatków z marketplace i spoza niego,
  • monitorować procesy potomne uruchamiane przez VS Code, Cursor i podobne narzędzia,
  • stosować EDR z detekcją nietypowych skryptów, archiwizacji danych i komunikacji do usług chmurowych,
  • chronić sekrety przy użyciu menedżerów poświadczeń, MFA i krótkiego czasu życia tokenów,
  • szkolić programistów, aby każde zewnętrzne repozytorium traktowali jako potencjalnie niebezpieczne,
  • analizować zadania rekrutacyjne i projekty testowe w środowiskach odizolowanych przed otwarciem ich lokalnie.

Podsumowanie

Opisana aktywność pokazuje, że narzędzia programistyczne stały się pełnoprawnym wektorem dostarczania malware. Atakujący wykorzystują zaufane elementy codziennego workflow deweloperów, aby ukryć złośliwe działania w pozornie rutynowych czynnościach, takich jak klonowanie repozytorium, otwarcie projektu czy instalacja rozszerzenia.

Dla zespołów bezpieczeństwa to wyraźny sygnał, że ochrona musi obejmować nie tylko infrastrukturę, kod i pipeline’y CI/CD, lecz także same IDE, dodatki oraz nawyki pracy programistów. W przeciwnym razie pojedyncze otwarcie niewinnie wyglądającego projektu może doprowadzić do kradzieży poświadczeń, utraty środków kryptowalutowych i kompromitacji łańcucha dostaw oprogramowania.

Źródła

  1. North Korean Hackers Are Turning Developer Tools Into Malware Delivery Channels — https://thehackernews.com/2026/06/north-korean-hackers-are-turning.html
  2. North Korea-linked threat cluster targets developers through GitHub and coding tools — https://www.intelligentciso.com/2026/06/08/north-korea-linked-threat-cluster-targets-developers-through-github-and-coding-tools/
  3. Suspected North Korean actors use fake coding assignments to steal crypto — https://www.scworld.com/news/suspected-north-korean-actors-use-fake-coding-assignments-to-steal-crypto
  4. North Korean hackers are at it again — phishing scheme targets hundreds of workers to try and steal crypto and more — https://www.techradar.com/pro/security/north-korean-hackers-are-at-it-again-phishing-scheme-targets-hundreds-of-workers-to-try-and-steal-crypto-and-more
  5. VS Code Extensions Smuggle Lazarus Backdoor in SharePoint — https://aiweekly.co/alerts/vs-code-extensions-smuggle-lazarus-backdoor-in-sharepoint