W środę 29 października przez mniej więcej 11 godzin w Marketplace rozszerzeń edytora Cursor była dostępna zainfekowana wersja 2.1.313 oficjalnego rozszerzenia Claude Code. Po instalacji albo automatycznej aktualizacji kod dorzucał ofierze tylną furtkę SSH: własny klucz dopisany do pliku authorized_keys, tunel odwrócony do serwera atakującego i mechanizm trwałości, który przeżywa restart komputera. Cursor wycenia skalę na maksymalnie 5000 użytkowników i zapowiada kontakt z każdym z nich osobno. Wersja z backdoorem zniknęła już z Marketplace Cursora, z OpenVSX i z Visual Studio Marketplace, a serwer atakującego został wyłączony, więc pytanie brzmi dziś: czy twoja maszyna była w tym oknie. Sprawdzisz to jedną komendą, którą podaję w dalszej części.
- Najważniejsze informacje
- Co dokładnie się stało
- Jak działał backdoor
- Czy Anthropic zostało zhackowane
- Sprawdź i wyczyść maszynę
- Co z tego dla Polski
- Najczęstsze pytania
Najważniejsze informacje
| Co | Szczegóły |
|---|---|
| Dotknięty pakiet | Anthropic.claude-code 2.1.313, tylko dystrybucja z Marketplace Cursora |
| Okno zagrożenia | 29.10.2026, ok. 10:27-21:35 czasu polskiego (2:27-13:35 PT), około 11 godzin |
| Skala | Maksymalnie 5000 użytkowników wg Cursora, indywidualny kontakt zapowiedziany |
| Co robił kod | Klucz SSH do authorized_keys, tunel odwrócony do 134.209.82.225, trwałość (LaunchAgent, cron, zadanie SysMon), raport o maszynie na port 8099 |
| Główny błąd malware | Na macOS nie umiał włączyć zdalnego logowania bez uprawnień administratora, więc logowanie atakującego zwykle kończyło się fiaskiem |
| Kanały czyste | Oficjalna dystrybucja Anthropic nietknięta, OpenVSX bez zmian wg oświadczenia z 30.10 |
| Szybki test | grep -qs svc-telemetry ~/.ssh/authorized_keys |
| Stan serwera | Serwer atakującego wyłączony we współpracy z dostawcą hostingu |
Co dokładnie się stało
Claude Code dociera do programistów w pakiecie rozszerzenia dla VS Code i jego forków, a te pakiety serwują marketplace’y: oficjalny Visual Studio Marketplace Microsoftu, otwarty OpenVSX i własny marketplace Cursora, który jest w praktyce lustrem OpenVSX z doklejonymi własnymi pakietami. Podmieniona paczka pojawiła się tylko w tym trzecim miejscu. Z komunikatu Cursora wynika, że między 2:27 a 13:35 czasu PT w środę 29 października ktoś opublikował tam wersję 2.1.313 rozszerzenia Anthropic.claude-code z wstrzykniętym kodem na starcie pliku extension.js. Rozszerzenia w edytorach aktualizują się same, więc część użytkowników dostała ją bez żadnej świadomej decyzji, a Kevin Beaumont z DoublePulsara pisze wprost, że rozszerzenie „zaktualizowało się automatycznie w Cursorze do złośliwej wersji”.
Sygnał na zewnątrz poszedł 30 października rano. Pierwsza była firma Phorion, której analitycy opublikowali pełną analizę łańcucha ataku na macOS, Linuksie i Windows, potem podsumowanie na Mastodonie wystawił Beaumont, bezpiecznik znany z opisów incydentów; jego notka zebrała ponad 1100 udostępnień, a wątek na Hacker News przekroczył 600 punktów. Reakcja Cursora była szersza niż zwykłe zdjęcie paczki: firma wyłączyła cały swój VSCode Marketplace, przeaudytowała dostęp i potwierdziła, że żadne inne rozszerzenie nie było modyfikowane, obróciła klucze, przebudowała infrastrukturę od zera i wystawiła ją ponownie. Kto za tym stoi, nie wiadomo; wiadomo tylko, że miał dostęp do publikowania pod zweryfikowanym kontem Anthropic i skorzystał z niego w konkretnym oknie czasowym.
Jak działał backdoor
Analitycy Phorion rozłożyli ładunek na cztery etapy i na szczęście dla ofiar opisali też błędy, które zniweczyły ten atak. Po załadowaniu rozszerzenia skrypt, który nie czeka na żadną interakcję użytkownika, dopisywał do pliku ~/.ssh/authorized_keys swój klucz Ed25519 z komentarzem svc-telemetry i ustawiał uprawnienia katalogu i pliku tak, żeby nic tego nie zdradzało. Następnie próbował włączyć lokalną usługę SSH na każdym z systemów i zestawiał tunel odwrócony do serwera 134.209.82.225: plik klucza lądował w katalogu tymczasowym pod nazwą zaczynającą się od .stk_, a flaga -R *:0:localhost:22 prosiła serwer atakującego o losowy port, pod którym czekał port 22 ofiary. Pętla ponawiała połączenie co 60 sekund i działała dalej nawet po zamknięciu edytora, a trwałość zapewniał LaunchAgent podszywający się pod com.apple.sysmond na macOS, wpis @reboot w crontabie na Linuksie i zadanie SysMon ze skryptem w folderze Autostartu na Windows.
Trzeci i czwarty element to rozpoznanie i meldunek. Skrypt zbierał nazwę hosta, nazwę użytkownika, system, ścieżkę domową, adres e-mail z globalnej konfiguracji gita i publiczny adres IP, po czym wysyłał raport protokołem HTTP na port 8099. Ciekawszy jest drugi składnik meldunku: lista do 40 nazw zmiennych środowiskowych pasujących do wzorca KEY, TOKEN, SECRET, PASS, AWS albo GCP. Same wartości nie wychodziły z maszyny, ale atakujący dostawał wirtualną mapę skarbów, czyli wiedzę, na których laptopach siedzą poświadczenia chmurowe i tokeny API, i wiedzę, które maszyny obsłużyć w pierwszej kolejności.
Na całości złożyły się też błędy samego malware. Na macOS skrypt sprawdzał stan zdalnego logowania komendą systemsetup -getremotelogin bez uprawnień administratora; system odpowiadał komunikatem o braku dostępu i kodem wyjścia zero, a test szukający słowa „Off” niczego nie dopasował, więc krok włączania SSH został pominięty. Na Windowsie z kolei komenda PowerShell szła przez funkcję uruchamiającą wszystko przez /bin/sh, co na typowej maszynie nie ma prawa działać. Cursor pisze o tym wprost: poza nietypową sytuacją, w której edytor wystartował z uprawnieniami administratora, ten krok kończył się porażką. Oznacza to, że na większości maszyn klucz i trwałość zostały, ale realne logowanie atakującego przez tunel raczej nie nastąpiło. Nie jest to jednak powód do spokoju, tylko informacja o wycinku scenariusza: jak pisze Phorion, jeśli ktoś miał zdalne logowanie włączone wcześniej, furtka czekała gotowa.
Czy Anthropic zostało zhackowane
Pierwsze doniesienia nakreśliły historię, w której włamano się do Anthropic, i taką tezę postawił też Beaumont w tytule swojego wpisu. Późniejszy przebieg sprawy ją poprawił. Przedstawiciel Anthropic komentując incydent na Hacker News napisał, że to marketplace zewnętrzny, którym firma nie zarządza, nie utrzymuje i nie przegląda, oraz że OpenVSX nie został dotknięty, a dotknięty system to wyłącznie marketplace Cursora. Do tego doszło zapewnienie, że żadne systemy Anthropic ani urządzenia pracowników nie miały udziału w incydencie, a kanały oficjalne mają zostać czyste; problem dotyczy więc wyłącznie użytkowników Cursora.
Komunikat Cursora głosi, że złośliwa wersja „nie została napisana przez Anthropic”, i w sensie dosłownym to prawda, bo nikt w Anthropic nie pisał backdoora; Beaumont zwraca jednak uwagę, że paczka została wgrana z konta zweryfikowanego Anthropic, więc fraza brzmi jak rozmycie odpowiedzialności za kanał dystrybucji. Wersja 2.1.313 zniknęła z marketplace’ów i zastąpiła ją 2.1.314, którą Beaumont ocenił wstępnie jako pozbawioną złośliwego kodu, z zastrzeżeniem, że pewności nie ma, oraz z ostrzeżeniem ważniejszym: nowa wersja niczego nie usuwa z maszyn, które dostały starszą. Formalny biuletyn bezpieczeństwa po stronie Anthropic w odczytach z 30.10 nie figuruje; firma wypowiedziała się w dyskusji, a kontakt z ofiarami zapowiedział Cursor.
Sprawdź i wyczyść maszynę
Test mieszci się w jednej linijce i wystawia werdykt od razu:
grep -qs svc-telemetry ~/.ssh/authorized_keys && echo "svc-telemetry key found" || echo "No key found; machine not impacted"
Jeśli wyskoczy komunikat o znalezionym kluczu, deinstalacja rozszerzenia nie załatwi sprawy, bo ładunek zostawia elementy, które żyją własnym życiem. Cursor udostępnił gotowe skrypty czyszczące na macOS i Windows oraz pełną listę wskaźników, a analiza Phorionu dopowiada kolejne kroki, które warto przeprowadzić: usunięcie plików ~/.config/.smt i ~/.config/.smtk, wyładowanie i skasowanie pliku com.apple.sysmond.plist z katalogu ~/Library/LaunchAgents, sprawdzenie wpisu @reboot w crontabie i zadania SysMon, skasowanie plików .stk_ z katalogu tymczasowego, a wreszcie zdjęcie klucza svc-telemetry z authorized_keys. Do tego dochodzi rotacja poświadczeń z zaufanej maszyny, szczególnie tych, których nazwy pasują do wzorca z meldunku, czyli tokenów chmurowych i kluczy API. Sygnałem, że ktoś wszedł, są logowania SSH widziane jako pochodzące z 127.0.0.1 z kluczem svc-telemetry, bo sesje wchodzą przez tunel do lokalnego portu. Beaumont opublikował też gotowe zapytania KQL dla Microsoft Defendera, jeśli flotę maszyn przegląda się z poziomu centralnego telemetru.
Kontekst jest tu smutną tradycją tego miesiąca: zainfekowana paczka litellm na PyPI kradła klucze w połowie października, a tam i tu pali się to samo ognisko: zaufanie do komponentu, który przychodzi z nazwą znanego wydawcy.
Co z tego dla Polski
Cursor i Claude Code to jedne z popularniejszych narzędzi agentowego programowania, także u nas, więc założenie, że dotknięte maszyny są wyłącznie za oceanem, nie ma pokrycia. W odczytach z 30.10 nie ma polskich doniesień o ofiarach ani komunikatów polskich firm, co jest pełnoprawną odpowiedzią, a nie usprawiedliwieniem: okno zakażania trwało jedenaście godzin, a licznik ofiar może dopiero rosnąć. Praktyczny wymiar jest jeden i ten sam w każdym kraju: jeśli używałeś Cursora z rozszerzeniem Claude Code i instalowałeś albo aktualizowałeś je w środę 29 października, odpal test z poprzedniej sekcji, zanim uznasz temat za zamknięty.
Na marginesie: Beaumont pisze, że z Claude Code i Cursora na laptopach korzysta m.in. Binance, wśród tysięcy innych firm. Z Binance pisaliśmy dziś rano w zupełnie innej, znacznie większej sprawie, haku na 6,36 mld dolarów, więc firma ma z tego tygodnia wyjątkowo złe skojarzenia.
Najczęstsze pytania
Czy Claude Code jest bezpieczny?
Wg stanu wiedzy z 30.10 tak, o ile pochodzi z oficjalnych kanałów dystrybucji: dotknięta była wyłącznie wersja 2.1.313 w Marketplace Cursora, a kanały oficjalne i OpenVSX nie zostały naruszone. Zastrzeżenia są dwie: dochodzenie trwa i nie znamy jeszcze tego, jak dokładnie ktoś wszedł do marketplace’u Cursora, a jeśli instalowałeś rozszerzenie w środę 29 października, sprawdź maszynę komendą z artykułu zamiast ufać deklaracjom.
Co to jest backdoor?
Tylne wejście do programu albo systemu, wbudowane poza oficjalną ścieżką logowania. W tym incydencie backdoor to para: klucz SSH dopisany do pliku authorized_keys ofiary, dzięki któremu atakujący może się logować, i tunel odwrócony, który przebił drogę do maszyny ukrytej za firewallerem. Nie jest to wirus w potocznym sensie, bo niczego nie szyfruje i nie rozsyła dalej, ale daje coś cenniejszego: interaktywną kontrolę nad komputerem.
Claude Code co to jest?
Agent Anthropic do pracy z kodem, działający w terminalu i jako rozszerzenie dla edytorów z rodziny VS Code, w tym Cursora. Pisaliśmy o nim osobny przewodnik, a ostatnio o tym, jak jego agenci w tle podjadają limity. Ten incydent nie dotyczy samego modelu ani narzędzia w terminalu, tylko dystrybucji rozszerzenia przez zewnętrzny marketplace.
Dopisek (31 października): rodzina październikowych ataków na poświadczenia AI właśnie się powiększyła. Northflank, platforma do wdrażania aplikacji, potwierdziła incydent, w którym sprawcy sięgnęli po zmienne środowiskowe klientów i używali ich kluczy AI do własnych wywołań; platforma kazała założyć, że wszystko przejęte. Opisaliśmy to osobno: Ktoś używał kluczy AI klientów Northflank.
Źródła
- Phorion (Calum Hall): Official Claude Code Extension Compromise: Security Advisory, analiza łańcucha, artefaktów i remediacji, https://phorion.io/blog/offical-claude-code-vsx-compromise/ (odczyt 30.10.2026)
- Cursor: Security notice, malicious version of Anthropic.claude-code (2.1.313) identified in the Cursor Extension Marketplace, okno czasowe, skala, kroki i skrypty, https://cursor.com/blog/claude-code-extension-security-notice (data strony 29.10.2026, odczyt 30.10.2026)
- Kevin Beaumont, DoublePulsar: Anthropic hacked to deliver remote access trojan to Claude developer laptops worldwide, https://doublepulsar.com/anthropic-hacked-to-deliver-remote-access-trojan-to-claude-developer-laptops-worldwide-1148a92baae2 (odczyt 30.10.2026 przez Wayback, wersja live za Cloudflare)
- GossiTheDog na Mastodonie o kompromitacji rozszerzenia, https://cyberplace.social/@GossiTheDog/117528831681803563 (odczyt 30.10.2026, 08:07 UTC)
- Wątek Hacker News o backdoorze, 600+ punktów, https://news.ycombinator.com/item?id=50302334 (odczyt 30.10.2026)
- Wątek Hacker News z komentarzami przedstawiciela Anthropic, https://news.ycombinator.com/item?id=50304129 (odczyt 30.10.2026)
- GossiTheDog: zapytania KQL do Microsoft Defender dla polowań na ten incydent, https://github.com/GossiTheDog/ThreatHunting (odczyt 30.10.2026)
