Złośliwe wersje rozszerzenia Claude Code od Anthropic zostały rozpowszechnione wśród użytkowników Cursor w ramach nowego ataku na łańcuch dostaw oprogramowania. Incydent miał miejsce 29 października, a dotknięte wersje były dostępne tylko przez około 11 godzin. Nie pochodziły one od Anthropic, które twierdzi, że jego oficjalne kanały nie zostały naruszone.
Wersje 2.1.312 i 2.1.313 rozszerzenia anthropic.claude-code były dostępne w sklepie z rozszerzeniami VS Code Cursor. Atakując zarówno użytkowników macOS, jak i Windows, zawierały one kod JavaScript zaprojektowany do uruchamiania się podczas ładowania określonych modułów i ustanawiania odwrotnego tunelu SSH, zapewniającego zdalny dostęp do zainfekowanej maszyny. Według badacza bezpieczeństwa Kevina Beaumonta, około 5000 systemów programistów mogło pobrać te wersje.
Zmodyfikowana kopia opublikowana przez sklep Cursor
Anthropic poinformowało, że zmodyfikowane wersje nie zostały opracowane przez firmę i nie zostały opublikowane na Microsoft Visual Studio Marketplace, Open VSX ani w rejestrze NPM. « Złośliwy aktor wykorzystał dostęp do sklepu Cursor, aby opublikować zmodyfikowaną kopię rozszerzenia Claude Code, której my nie zbudowaliśmy ani nie opublikowaliśmy. Wersje z naszych oficjalnych kanałów nie są naruszone, a incydent dotyczy wyłącznie użytkowników Cursor », powiedział Felix Rieseberg z Anthropic. Aby uniknąć nieporozumień, Anthropic bezpośrednio zaktualizowało swoją prawidłową wersję rozszerzenia do wersji 2.1.314.
Po stronie Cursor, zmodyfikowane rozszerzenie zostało usunięte ze sklepu natychmiast po zidentyfikowaniu, a sam sklep został tymczasowo zawieszony na czas dochodzenia. Cursor informuje, że nie znaleziono żadnych innych złośliwych rozszerzeń, odnowiono wszystkie klucze, odbudowano i ponownie otwarto sklep. Firma współpracowała również z dostawcą chmury hostingującym serwer atakującego, aby go wyłączyć. « Nie mamy dowodów na to, że dotknięte są inne wersje rozszerzenia lub oficjalna dystrybucja », wyjaśnił Cursor.
Działania zbierania informacji i utrzymania dostępu
Według analizy opublikowanej przez Microsoft, funkcja JavaScript uruchamiana podczas ładowania zbierała informacje o maszynie, modyfikowała pliki i uruchamiała polecenia systemowe. Zdaniem Microsoft, kod próbował zainstalować klucz SSH, włączyć usługę SSH, utworzyć tunel i skonfigurować jego utrzymanie, czyli zdolność do pozostawania aktywnym po ponownym uruchomieniu. « Ładunek zaczyna od zebrania informacji o hoście. Następnie próbuje zainstalować klucz SSH, włączyć SSH, utworzyć odwrotny tunel i skonfigurować utrzymanie. Opóźnione wywołanie zwrotne próbuje następnie wysłać szczegóły hosta », wskazuje Microsoft. Badacze zaobserwowali zbieranie nazwy hosta, nazwy użytkownika, systemu operacyjnego, architektury, katalogu roboczego oraz globalnego adresu e-mail Git, a także wdrażanie skryptów specyficznych dla platformy. Według Cursor, włączenie usługi SSH wymaga uprawnień administratora, których rozszerzenie nie posiada na większości systemów macOS i Windows: ten krok zatem się nie powiódł, co uniemożliwiłoby atakującym logowanie się przez tunel.
Cursor zaleca użytkownikom jak najszybsze usunięcie złośliwych wersji i opublikowało skrypt wykrywający oraz wskaźniki kompromitacji. Firma podkreśla, że odinstalowanie rozszerzenia może nie wystarczyć, ponieważ złośliwy ładunek umieszcza autonomiczne skrypty utrzymania dostępu, które nadal działają.
