29 października 2026 w sklepie rozszerzeń Cursora przez około 11 godzin wisiały złośliwe wersje rozszerzenia Claude Code: 2.1.312 i 2.1.313. Opublikowano je pod nazwą wydawcy Anthropic, ale Anthropic ich nie napisał (Cursor). Według Cursora trafiły najwyżej do 5 000 użytkowników (Help Net Security).
Rozszerzenie po cichu dopisywało klucz napastnika do pliku, który decyduje, kto może zalogować się na komputer przez SSH. Odinstalowanie go nie usuwa tej furtki.
Dlaczego to dotyczy małej firmy? Bo freelancer, który pisze dla Ciebie kod w Cursorze, ma na swoim laptopie dostęp do Twojego repozytorium, serwera i kluczy. Poniżej: co się stało i checklista na 15–30 minut.
Co się stało z rozszerzeniem Claude Code w Cursorze?
Cursor to edytor kodu z wbudowanym AI, zbudowany na VS Code. Działa w nim to samo rozszerzenie Claude Code co w VS Code, tyle że pobierane z własnego sklepu Cursora.
Właśnie w tym sklepie pojawiły się dwie podrobione wersje rozszerzenia Anthropic.claude-code. Były dostępne 29.10 mniej więcej od 2:27 do 13:35 czasu pacyficznego, czyli u nas od około 10:27 do 21:35 (Cursor).
To nie było włamanie do Anthropic. Felix Rieseberg z Anthropic napisał, że nie doszło do kompromitacji systemów ani laptopów pracowników firmy (The Register). Jak napastnik dostał się do sklepu Cursora? Ani Cursor, ani Anthropic tego nie wyjaśnili (BleepingComputer).
Cursor usunął wersje, wyłączył cały sklep, przejrzał pozostałe rozszerzenia (innych zmienionych nie znalazł), wymienił klucze i odbudował sklep. Serwer napastnika wyłączono (Cursor).
Czy to dotyczy VS Code, npm i terminalowego Claude Code?
Nie. Pierwsze doniesienia wymieniały kilka miejsc, potem to sprostowano (OpenSourceMalware, BleepingComputer).
| Gdzie | Dotyczy? |
|---|---|
| Sklep rozszerzeń Cursora, wersje 2.1.312 i 2.1.313 | TAK |
| Microsoft VS Code Marketplace | NIE |
| Open VSX | NIE |
Paczka npm @anthropic-ai/claude-code (Claude Code w terminalu) | NIE |
Zainfekowane paczki były dla macOS (Apple Silicon) i Windows. Sam złośliwy kod potrafił też działać na Linuksie (Phorion).
To także nie jest ten sam przypadek co wcześniejszy wyciek kodu źródłowego Claude Code. To było osobne zdarzenie.
Co robiło złośliwe rozszerzenie
Złośliwy fragment doklejono na początku pliku rozszerzenia. Uruchamiał się przy samym wczytaniu rozszerzenia, bez żadnego kliknięcia (Phorion). Rozszerzenie ma takie uprawnienia jak edytor i użytkownik, który go używa. Więcej o tym, co agent AI może robić na firmowym komputerze, piszemy w tekście o agencie AI działającym w tle.
Co dokładnie robił (Phorion):
- Dopisywał klucz napastnika do
~/.ssh/authorized_keys, z komentarzemsvc-telemetry. Kto ma pasujący klucz prywatny, może zalogować się jako ten użytkownik, jeśli SSH działa. - Próbował włączyć SSH i zestawić tunel do serwera napastnika. Tunel trzymał się po zamknięciu edytora i był ponawiany co około 60 sekund.
- Zostawiał mechanizm, który przetrwa restart: na Macu plik udający systemowy, na Linuksie wpis w cron, na Windows zadanie
SysMonalbo skrypt w Autostarcie. - Wysyłał raport o komputerze: nazwę komputera i użytkownika, system, katalogi, e-mail z Gita, publiczny adres IP i nazwy do 40 zmiennych środowiskowych wyglądających na klucze.
Ważne: wysyłał nazwy zmiennych, nie ich wartości. Czyli spis, jakie klucze są na komputerze, żeby wiedzieć, gdzie warto wrócić.
Dlaczego często się nie udało i dlaczego to nie powód do spokoju
Przez błędy w kodzie włączenie SSH zwykle kończyło się porażką (Phorion). Cursor potwierdza, że poza nietypową sytuacją, gdy edytor działał z prawami administratora, ten krok się nie udawał (Cursor).
Ale klucz napastnika i mechanizm trwałości instalowały się i tak, a raport o komputerze był wysyłany. Jeśli SSH było już włączone albo ktoś włączy je za miesiąc, furtka działa. Serwer napastnika jest wyłączony, lecz klucz w authorized_keys zostaje. Dlatego Cursor każe przejść procedurę niezależnie od tego.
Checklista na 15 minut: czy mój komputer jest zainfekowany?
1. Kto w firmie i u podwykonawców używa Cursora?
Zapytaj wprost: pracowników, freelancerów, software house. Nie tylko „czy używasz Claude Code”, ale „czy używasz go w Cursorze”. Jeśli ktoś pracuje wyłącznie w VS Code albo w terminalu, ten incydent go nie dotyczy.
2. Jaka wersja rozszerzenia jest zainstalowana?
Najprościej zajrzeć do folderu z rozszerzeniami Cursora: ~/.cursor/extensions (na Windows .cursor\extensions w folderze użytkownika). Nazwa katalogu zawiera wersję, np. anthropic.claude-code-2.1.313-darwin-arm64 (Phorion). Na Windows końcówka nazwy jest inna niż darwin-arm64, liczy się numer wersji.
Jeśli widzisz 2.1.312 albo 2.1.313, przejdź do kroku 3. Brak tych wersji dziś nie daje jednak pewności, bo rozszerzenie mogło się w międzyczasie zaktualizować. Krok 3 zrób w każdym przypadku, gdy ktoś 29.10 miał Cursora z Claude Code.
3. Sprawdź authorized_keys
Na Macu otwórz Terminal i wklej polecenie z notatki Cursora:
grep -qs svc-telemetry ~/.ssh/authorized_keys && echo "svc-telemetry key found" || echo "No key found; machine not impacted"
Na Linuksie zainfekowanych paczek nie było. Jeśli chcesz sprawdzić dla spokoju, to samo polecenie zadziała, bo plik leży w tym samym miejscu.
Na Windows Cursor podaje osobne polecenie PowerShell, które sprawdza też systemowy plik kluczy administratorów. Jest długie, więc nie przepisujemy go tutaj: skopiuj je bezpośrednio z notatki Cursora.
4. Jeśli klucz się znalazł
Zgodnie z instrukcją Cursora (Cursor):
- Odłącz komputer od sieci.
- Usuń klucz, mechanizm trwałości i proces tunelu. Cursor udostępnia gotowe skrypty:
remediate-macos.shiremediate-windows.ps1. - Rozważ przeinstalowanie systemu.
- Wymień hasła, klucze i sesje dostępne z tego komputera. Rób to z innego, zaufanego urządzenia, nie z zainfekowanego. Jak podejść do kluczy API, opisaliśmy w checkliście po wycieku kluczy API.
Czy ktoś faktycznie się zalogował? Da się to sprawdzić w logach SSH (logowania z localhost kluczem svc-telemetry, Phorion). To zadanie dla IT albo freelancera, nie dla właściciela firmy.
Czy odinstalowanie rozszerzenia wystarczy?
Nie. Cursor pisze wprost, że odinstalowanie może nie wystarczyć. Klucz w authorized_keys i mechanizm trwałości zostają po usunięciu rozszerzenia.
Bezpieczna wersja to 2.1.314 lub nowsza, pobrana na czysto. To nie jest „łatka”, bo w kodzie Anthropic nie było czego łatać. David Dworken z Anthropic wyjaśnił, że 2.1.313 nigdy nie wyszła oficjalnymi kanałami, a kolejną wersję celowo oznaczono jako 2.1.314, żeby nie myliła się z fałszywką (Hacker News). Sama aktualizacja nie usuwa furtki.
Jak bezpiecznie instalować rozszerzenia VS Code i Cursora w firmie
Według zgłaszającego, na którego powołuje się OpenSourceMalware, ofiary zainfekowały się przy automatycznej aktualizacji (OSM). To relacja, nie ustalenie. Ax Sharma z Manifold Security zwraca uwagę, że sprawdzanie nazwy wydawcy nic nie daje, gdy wydawca jest prawdziwy, a rozszerzenia coraz częściej instalują agenci i automatyczne aktualizacje, nie ludzie (Help Net Security).
Co z tego wynika w praktyce? Cztery zasady. Opisujemy je na podstawie dokumentacji VS Code. Cursor jest zbudowany na VS Code, więc ustawienia są zwykle podobne.
- Aktualizuj świadomie, nie w ciemno. Automatyczne aktualizacje rozszerzeń można wyłączyć (ustawienie
extensions.autoUpdate). To kompromis: łatki bezpieczeństwa też przyjdą później. Dlatego aktualizuj z kilkudniowym opóźnieniem, ale regularnie. - Przypinaj wersje. Konkretną wersję instaluje się przez „Install Another Version” po kliknięciu prawym przyciskiem na rozszerzeniu.
- Lista dozwolonych rozszerzeń. Ustawienie
extensions.allowedblokuje wszystko, czego nie ma na liście. Dla małej firmy to pięć minut konfiguracji i mniej niespodzianek. - Osobne konto albo maszyna do pracy z agentami AI. Rozszerzenia mają takie same uprawnienia jak sam edytor. Im mniej kluczy i dostępów na tym koncie, tym mniej do wyniesienia.
Pytania do freelancera, który pisze dla nas kod z AI
Jeśli kod robi dla Ciebie ktoś z zewnątrz, wyślij mu te pytania jeszcze dziś:
- Czy używasz Cursora z rozszerzeniem Claude Code?
- Czy 29.10 miałeś zainstalowaną wersję 2.1.312 albo 2.1.313?
- Czy sprawdziłeś
authorized_keyspod kątem kluczasvc-telemetry? Z jakim wynikiem? - Jakie nasze klucze, hasła i dostępy (repozytorium, serwer, panel hostingu, klucze API) są na Twoim laptopie?
- Czy masz włączone automatyczne aktualizacje rozszerzeń?
- Jeśli wynik był pozytywny: czy wymieniłeś nasze dostępy i z jakiego urządzenia?
Dobry wykonawca odpowie w kwadrans. Brak odpowiedzi też jest odpowiedzią.
FAQ
Czy Anthropic został zhakowany?
Nie. Złośliwe wersje opublikowano w sklepie Cursora pod nazwą wydawcy Anthropic. Anthropic zaprzeczył, by doszło do kompromitacji jego systemów lub laptopów pracowników.
Czy Claude Code w terminalu jest bezpieczny?
Ten incydent go nie dotyczy. Paczka npm @anthropic-ai/claude-code nie była złośliwa.
Czy rozszerzenie ukradło moje klucze API?
Wysyłało nazwy do 40 zmiennych środowiskowych wyglądających na klucze, nie ich wartości. Jeśli jednak klucz svc-telemetry był w authorized_keys, a SSH działało, napastnik mógł się zalogować. Wtedy wymień wszystkie dostępy z tego komputera.
Mam Cursora, ale nie wiem, czy 29.10 miałem Claude Code. Co robić?
Sprawdź authorized_keys poleceniem z kroku 3. To kilka sekund i rozstrzyga sprawę.
Nie wiesz, kto i na czym pisze kod dla Twojej firmy? Zrobimy przegląd narzędzi AI i dostępów: kto ma Twoje klucze, na jakich komputerach i z jakimi rozszerzeniami. Napisz do nas.