Złośliwe rozszerzenie Claude Code w Cursor: atak supply chain zagroził środowiskom deweloperskim - Security Bez Tabu

Złośliwe rozszerzenie Claude Code w Cursor: atak supply chain zagroził środowiskom deweloperskim

Cybersecurity news

Wprowadzenie do problemu / definicja

Ataki typu supply chain należą do najgroźniejszych scenariuszy w cyberbezpieczeństwie, ponieważ wykorzystują zaufanie do legalnych kanałów dystrybucji oprogramowania. Zamiast atakować bezpośrednio końcowego użytkownika, przestępcy kompromitują element procesu dostarczania aplikacji, aktualizacji lub dodatków. W praktyce oznacza to, że złośliwy komponent może zostać pobrany i uruchomiony jako pozornie legalna część środowiska pracy.

Najnowszy incydent dotyczący rozszerzenia Claude Code w ekosystemie Cursor pokazuje, że celem takich operacji stają się już nie tylko serwery produkcyjne, ale także stacje robocze programistów. To szczególnie niebezpieczne, ponieważ środowiska deweloperskie często mają dostęp do repozytoriów kodu, sekretów, tokenów API i infrastruktury chmurowej.

W skrócie

W marketplace platformy Cursor opublikowano złośliwie zmodyfikowane wersje rozszerzenia anthropic.claude-code. Problem dotyczył wydań 2.1.312 oraz 2.1.313, które były dostępne przez około 11 godzin i były ukierunkowane na użytkowników macOS oraz Windows.

Złośliwy kod prowadził rekonesans hosta, próbował wdrożyć klucz SSH, aktywować usługę SSH, zestawić reverse SSH tunnel oraz utrzymać trwałość na zainfekowanej stacji roboczej. Szacuje się, że zagrożonych mogło być około 5 tysięcy systemów deweloperskich.

Kontekst / historia

Incydent miał miejsce 29 października 2026 roku i dotyczył kanału dystrybucji rozszerzeń w środowisku Cursor. Z dostępnych informacji wynika, że złośliwe wersje nie pochodziły od Anthropic i nie zostały opublikowane w oficjalnych kanałach, takich jak Microsoft Visual Studio Marketplace, Open VSX czy rejestr NPM.

To ważne rozróżnienie, ponieważ wskazuje na kompromitację konkretnego procesu publikacji w ekosystemie Cursor, a nie całego łańcucha wydawniczego dostawcy rozszerzenia. Po wykryciu zdarzenia operator platformy usunął zainfekowane pakiety, czasowo wyłączył marketplace, przeprowadził rotację kluczy i odbudował środowisko przed ponownym uruchomieniem.

Analiza techniczna

Technicznie był to przykład trojanizacji rozszerzenia deweloperskiego. Złośliwy kod JavaScript został osadzony w taki sposób, aby uruchamiał się już podczas ładowania modułów. Dzięki temu aktywacja nie wymagała od użytkownika wykonywania dodatkowych czynności poza instalacją lub uruchomieniem dodatku.

Zaobserwowany łańcuch działania obejmował kilka etapów. Najpierw malware zbierał dane rozpoznawcze o hoście, takie jak nazwa komputera, nazwa użytkownika, system operacyjny, architektura, katalog roboczy oraz globalny adres e-mail skonfigurowany w Git. Następnie próbował modyfikować pliki lokalne i wykonywać polecenia systemowe.

Kolejnym krokiem była próba wdrożenia klucza SSH, uruchomienia lokalnej usługi SSH i zestawienia tunelu zwrotnego, który mógł umożliwić zdalny dostęp do systemu ofiary. Równolegle malware wdrażał mechanizmy persistence zależne od platformy, aby zachować aktywność nawet po zamknięciu samego rozszerzenia.

W praktyce oznacza to, że zwykłe odinstalowanie dodatku mogło nie wystarczyć do pełnego usunięcia zagrożenia. Warto jednak zaznaczyć, że część działań atakującego mogła zostać zablokowana przez ograniczenia uprawnień systemowych. Na wielu stacjach uruchomienie usługi SSH wymaga bowiem uprawnień administracyjnych, których rozszerzenie zwykle nie posiada. Nie zmniejsza to jednak znaczenia incydentu, ponieważ już sam rekonesans, modyfikacje plików i próby utrzymania trwałości stanowią poważne naruszenie bezpieczeństwa.

Konsekwencje / ryzyko

Najpoważniejszym skutkiem takich incydentów jest naruszenie zaufania do narzędzi programistycznych. Rozszerzenia IDE działają blisko kodu źródłowego i danych uwierzytelniających, dlatego ich kompromitacja może prowadzić do wycieku poufnych informacji, przejęcia kont deweloperskich, manipulacji kodem aplikacji lub dalszego ruchu bocznego w organizacji.

Ryzyko nie ogranicza się do pojedynczej stacji roboczej. Zainfekowany endpoint programisty może stać się punktem wejścia do systemów CI/CD, platform Git, rejestrów pakietów, środowisk testowych czy zasobów chmurowych. Szczególnie niepokojąca jest możliwość pozostawienia artefaktów po kompromitacji, takich jak nieautoryzowane klucze SSH, zadania startowe czy procesy tunelujące.

  • możliwy wyciek sekretów i tokenów API,
  • ryzyko przejęcia dostępu do repozytoriów kodu,
  • potencjalna modyfikacja artefaktów developerskich,
  • zagrożenie ruchem bocznym do innych systemów organizacji,
  • utrata integralności środowiska pracy programistów.

Rekomendacje

Organizacje korzystające z Cursor powinny w pierwszej kolejności ustalić, czy na ich stacjach roboczych pojawiły się wersje 2.1.312 lub 2.1.313 rozszerzenia anthropic.claude-code. Należy przeanalizować historię instalacji, logi EDR, artefakty systemowe oraz wszelkie dostępne wskaźniki kompromitacji.

Jeżeli istnieją oznaki uruchomienia złośliwego ładunku, zalecane jest natychmiastowe odizolowanie hosta od sieci. Następnie należy usunąć nieautoryzowane klucze SSH, mechanizmy persistence i podejrzane procesy tunelujące, a także sprawdzić, czy nie doszło do dostępu do repozytoriów, sekretów lub usług chmurowych. W środowiskach o podwyższonym ryzyku uzasadniona może być pełna reinstalacja stacji roboczej.

  • ograniczenie instalacji rozszerzeń do zatwierdzonych źródeł i list allowlist,
  • monitorowanie wykonywania poleceń systemowych przez dodatki IDE,
  • segmentacja środowisk deweloperskich i minimalizacja uprawnień lokalnych,
  • stosowanie menedżerów sekretów zamiast przechowywania poświadczeń lokalnie,
  • rotacja tokenów, kluczy i haseł po każdym podejrzeniu kompromitacji,
  • włączenie telemetrii EDR/XDR wykrywającej reverse tunneling i anomalie w pracy narzędzi programistycznych.

Incydent warto też potraktować jako sygnał ostrzegawczy dla organizacji wdrażających narzędzia AI w procesie tworzenia oprogramowania. Popularność takich komponentów rośnie szybciej niż formalne mechanizmy ich oceny bezpieczeństwa, co zwiększa powierzchnię ataku.

Podsumowanie

Sprawa złośliwego rozszerzenia Claude Code w Cursor pokazuje, że współczesny łańcuch dostaw oprogramowania obejmuje również marketplace’y rozszerzeń i narzędzia wspierające codzienną pracę programistów. Nawet krótkotrwała publikacja trojanizowanego pakietu może przełożyć się na kompromitację tysięcy stacji roboczych.

Z perspektywy obrońców kluczowe są szybkie ustalenie, czy zagrożone wersje zostały zainstalowane, analiza mechanizmów trwałości, rotacja poświadczeń oraz traktowanie środowisk deweloperskich jako infrastruktury krytycznej dla bezpieczeństwa całej organizacji.

Źródła

  1. SecurityWeek — https://www.securityweek.com/malicious-claude-code-extension-served-in-cursor-supply-chain-attack/
  2. Cursor — https://cursor.com/