Przejdź do treści

Szukaj w Security Magazine

Szukaj w Security Magazine

NewsletterNewsletter
Menu

Claude Code w Cursorze: rozszerzenie z backdoorem SSH

Przez około 11 godzin 29 października marketplace rozszerzeń edytora Cursor udostępniał zmodyfikowaną wersję rozszerzenia Claude Code, która po załadowaniu próbowała zainstalować trwały backdoor SSH na stacji dewelopera. Cursor podał na X, że dotkniętych mogło być co najwyżej 5000 użytkowników. Cursor nie ma dowodów, by dotknięte były inne wersje rozszerzenia lub oficjalna dystrybucja; sprawa dotyczy użytkowników jego marketplace'u, którzy pobrali lub zaktualizowali rozszerzenie w tym oknie.

Biuro po godzinach, zamknięty laptop na biurku i kabel sieciowy biegnący z portu po biurku i podłodze do okna.
W tym tekście (5)

Analiza zagrożenia: jak działa backdoor w rozszerzeniu Claude Code z marketplace'u Cursora

Cursor podał, że między 2:27 a 13:35 czasu pacyficznego 29 października 2026 r. (10:27-21:35 czasu polskiego) w jego marketplace'u dostępna była złośliwie zmodyfikowana wersja rozszerzenia Anthropic.claude-code. Cursor wymienia dwie wersje: 2.1.313 oraz, po aktualizacji komunikatu z 30 października, także 2.1.312. Cursor wymienia paczki dla macOS i Windows; według Phorion kod zawiera też gałąź dla Linuksa, a Cursor umieścił linuksowe ścieżki w swoich wskaźnikach kompromitacji, więc stacje linuksowe z Cursorem również należy sprawdzić. Według analiz Phorion i OpenSourceMalware paczka trafiła do marketplace'u pod prawdziwym identyfikatorem wydawcy, nie jako podróbka o podobnej nazwie. Komunikat Cursora w wersji z 30 października nie zawiera informacji, jak do tego doszło. Felix Rieseberg z Anthropic napisał na X, że nie doszło do kompromitacji systemów Anthropic, a atakujący wykorzystał dostęp do marketplace'u Cursora.

Według analiz Phorion i OpenSourceMalware złośliwy kod doklejono na początku pliku extension.js, a resztę rozszerzenia pozostawiono bez zmian. Uruchamia się w momencie załadowania rozszerzenia przez edytor, bez interakcji użytkownika z Claude Code. Według relacji przekazanej badaczom OpenSourceMalware ofiary otrzymały paczkę podczas automatycznej aktualizacji rozszerzenia; Cursor pisze o instalacji lub aktualizacji. Kod dopisuje klucz publiczny atakującego (z komentarzem svc-telemetry) do pliku authorized_keys, próbuje włączyć lokalną usługę SSH, zestawia tunel zwrotny do serwera atakującego i instaluje mechanizm uruchamiany przy starcie systemu na każdej z trzech platform. Wysyła też dane o hoście, w tym adres e-mail z konfiguracji Git oraz nazwy (nie wartości) zmiennych środowiskowych wskazujących na klucze i tokeny.

Cursor i Phorion wskazują na błąd w złośliwym kodzie: na większości hostów macOS i Windows, gdzie rozszerzenie nie ma uprawnień administratora, próba włączenia SSH nie dochodzi do skutku, więc atakujący nie mógł zalogować się przez tunel. Klucz SSH, persystencja i wysyłka danych o hoście działają jednak niezależnie od tego błędu. Phorion zastrzega, że nie należy traktować usterki jako obrony: tam, gdzie SSH było już włączone lub zostanie włączone później, backdoor jest gotowy do użycia. Dla Linuksa Phorion nie opisuje błędu, który blokowałby włączenie SSH, ale według Phorion uruchomienie usługi systemowej ze zwykłego konta użytkownika nie zawsze się powiedzie, bo skrypt nie zawiera eskalacji uprawnień. Serwer atakującego został wyłączony, podał Cursor - tunel i wysyłka danych dziś nie działają, ale klucz w authorized_keys i skrypty persystencji pozostają na stacji. Cursor usunął paczkę, wyłączył i odbudował marketplace; według Cursora inne rozszerzenia nie zostały zmienione.

Kogo dotyczy i jak pilne

Stacja dewelopera ma dostęp do kodu źródłowego, narzędzi deweloperskich i sekretów w zmiennych środowiskowych (Phorion). Tam, gdzie usługa SSH działa, backdoor daje atakującemu drogę do wszystkiego, do czego ma dostęp konto tego użytkownika. Lista nazw zmiennych środowiskowych wysyłana atakującemu to, według Phorion, inwentarz hostów z poświadczeniami do chmury i wskazówka, które z nich wybrać jako pierwsze.

Pilne dziś dla każdej firmy, której deweloperzy używają Cursora na macOS, Windows lub Linuksie i mogli pobrać lub zaktualizować rozszerzenie Claude Code 29 października między 10:27 a 21:35 czasu polskiego; szczególnie tam, gdzie na stacjach działa usługa SSH. W tym tygodniu dla każdej firmy z zespołem deweloperskim: przegląd źródeł rozszerzeń i auto-aktualizacji (patrz Rekomendacje). Nie dotyczy użytkowników Claude Code z oficjalnych kanałów (npm, Visual Studio Marketplace, Open VSX) ani użytkowników Cursora bez tego rozszerzenia, według Cursora i OpenSourceMalware.

Rekomendacje

Dziś (każda stacja z Cursorem, która mogła mieć rozszerzenie Claude Code w oknie 29 października, także jeśli zdążyła się już zaktualizować):

  • Sprawdzić plik authorized_keys na klucz z komentarzem svc-telemetry; na Windows Cursor wskazuje dwa pliki: w katalogu .ssh profilu użytkownika oraz administrators_authorized_keys w katalogu ProgramData. Według Cursora znaleziony klucz oznacza, że stacja jest dotknięta, a jego brak - że nie jest. Phorion radzi szukać także po odcisku klucza, nie tylko po komentarzu. Cursor zaleca osobno także przeszukanie telemetrii (punkt niżej); w ocenie redakcji brak klucza nie powinien zamykać weryfikacji stacji, na której pojawią się inne wskaźniki.
  • Przeszukać telemetrię stacji, sieci i instalacji rozszerzeń pod kątem wskaźników kompromitacji opublikowanych przez Cursora i Phorion (zalecenie Cursora).
  • Dotknięte stacje odizolować (Cursor).
  • Przed sprzątaniem zabezpieczyć dowody i logi (OpenSourceMalware).
  • Sprawdzić, czy usługa SSH nie została włączona bez wiedzy administratora (Phorion).
  • Na hostach z działającym SSH przejrzeć logi logowań: według Phorion udane logowanie przez tunel wygląda jak połączenie z localhost uwierzytelnione kluczem svc-telemetry.
  • Na stacjach, gdzie klucz znaleziono: usunąć klucz atakującego, mechanizmy persystencji i procesy tunelu skryptami naprawczymi Cursora: na macOS uruchamianym jako dotknięty użytkownik, nie root; na Windows z PowerShell uruchomionego jako administrator. Skrypty kończą się błędem, jeśli coś zostało. Samo odinstalowanie rozszerzenia nie wystarcza (Cursor, Phorion). Dla Linuksa Cursor skryptu nie publikuje; lista artefaktów do usunięcia jest w raporcie Phorion.
  • Ocenić, czy stację odbudować (Cursor); OpenSourceMalware uznaje odbudowę za bezpieczniejszą niż usunięcie znanych artefaktów.
  • Z zaufanego systemu zrotować poświadczenia i sesje dostępne z dotkniętych stacji. Cursor zastrzega, że ograniczony zakres zebranych danych nie wyklucza późniejszego dostępu do sekretów przez backdoor.

Dziś (wszyscy użytkownicy rozszerzenia Claude Code w Cursorze): Cursor poprosił na X 30 października o aktualizację rozszerzenia do wersji 2.1.314. OpenSourceMalware pisał w aktualizowanym 30 października raporcie, że rozszerzenie nie wróciło jeszcze do marketplace'u Cursora; redakcja nie potwierdziła jego dostępności na 2 listopada, więc przed aktualizacją należy sprawdzić w edytorze, czy czysta wersja jest dostępna. Sama aktualizacja nie usuwa persystencji z dotkniętej stacji (The Register); klucz i skrypty trzeba usunąć według procedury Cursora.

W tym tygodniu (każda firma z deweloperami):

  • Spisać, z jakich marketplace'ów pobierają rozszerzenia edytory używane w firmie i czy auto-aktualizacje są włączone.
  • Sprawdzić, czy monitoring stacji deweloperskich obejmuje zmiany plików uwierzytelniania SSH przez procesy edytora; według Phorion reguły oparte wyłącznie na poleceniach powłoki tego przypadku nie wykryją.

Podsumowanie

Dla firm bez Cursora w oknie 29 października to sygnał do przeglądu polityk, nie incydent. Dla firm, których deweloperzy mogli pobrać paczkę, zadaniem na dziś jest ustalenie dotkniętych stacji po kluczu svc-telemetry; z tych stacji należy zabezpieczyć dowody, usunąć skutki infekcji i z zaufanego systemu zrotować dostępne poświadczenia i sesje, niezależnie od tego, że błąd w kodzie prawdopodobnie zablokował właściwy dostęp na większości stacji macOS i Windows, na których SSH nie było wcześniej włączone. Pytanie, jak podmieniona paczka trafiła pod prawdziwy identyfikator wydawcy, pozostaje bez odpowiedzi; stan na 2 listopada 2026 r., godz. 8:30.

Uwaga redakcji: tekst dotyczy rozszerzenia Anthropic, a redakcja korzysta w procesie redakcyjnym z narzędzi tej firmy. Tekst powstał wyłącznie na podstawie komunikatów Cursora, analiz niezależnych badaczy, publicznego wpisu pracownika Anthropic i prasy branżowej, wymienionych poniżej.

Źródła