Extensie Claude Code trojanizată a instalat un backdoor SSH pe stațiile de lucru ale dezvoltatorilor
O versiune modificată a extensiei Claude Code pentru VS Code a fost distribuită prin marketplace-ul de extensii al Cursor timp de aproximativ unsprezece ore, pe 29 octombrie 2026. Oricine a instalat-o sau a primit-o prin actualizare automată în acel interval s-a ales cu un backdoor SSH funcțional, cu un mecanism de persistență pe fiecare sistem de operare desktop important și cu un beacon care trimitea profilul mașinii către un server controlat de atacator. Cursor estimează că au fost afectați cel mult 5.000 de utilizatori.
Ce s-a întâmplat
Cursor a confirmat un incident de securitate în marketplace-ul de extensii al IDE-ului său, care se bazează pe registrul Open VSX. Între aproximativ 02:27 și 13:35, ora Pacificului, pe 29 octombrie, marketplace-ul a livrat un pachet modificat care se identifica drept anthropic.claude-code versiunea 2.1.313. Anthropic nu a construit acel pachet. Cursor a scos temporar marketplace-ul offline pentru a-l elimina și afirmă că celelalte extensii distribuite prin același canal nu au fost afectate.
Versiunea malițioasă a fost între timp retrasă, iar Anthropic a publicat o versiune curată, 2.1.314, atât pe Open VSX, cât și pe Microsoft VS Code Marketplace. Cursor spune că îi contactează direct pe utilizatorii afectați. Autorii compromiterii nu au fost identificați.
Modificarea în sine a fost compactă: un loader de 66 de linii a fost adăugat înaintea bundle-ului JavaScript principal al extensiei. Orice eroare din loader este ignorată în tăcere, iar extensia legitimă pornește apoi normal, astfel încât, din perspectiva utilizatorului, nimic nu pare în neregulă.
Ce face loader-ul
Implantul se activează după pornirea VS Code și din nou când se deschide webview-ul extensiei. Apoi parcurge o listă scurtă, dar completă, de pași de intruziune:
- Acces SSH. Adaugă o cheie publică controlată de atacator în
~/.ssh/authorized_keys, etichetatăsvc-telemetry, ca să treacă drept o cheie de serviciu legitimă. - Expunere. Încearcă să activeze serviciul SSH local pe Windows, Linux și macOS, apoi deschide un tunel SSH invers către un server de la adresa
134.209.82[.]225. Tunelul expune portul 22 al victimei către operator, se reconectează automat dacă pică și rulează cu verificarea cheii de host dezactivată. - Persistență. Pe Windows înregistrează un task programat care rulează ca SYSTEM, pe Linux o intrare cron
@reboot, iar pe macOS un LaunchAgent cu un nume care imită o componentă de sistem Apple. Un script ascuns în~/.configreconstruiește cheia și repornește tunelul după fiecare restart. - Recunoaștere. După o scurtă întârziere, trimite un profil al mașinii prin HTTP necriptat către portul 8099 de pe același server.
Profilul conține IP-ul public al mașinii, hostname-ul, numele utilizatorului local, sistemul de operare și arhitectura CPU, directorul home și directorul curent de lucru, adresa de e-mail globală din Git și numele a până la 40 de variabile de mediu care conțin KEY, TOKEN, SECRET, PASS, AWS sau GCP. Valorile acestor variabile nu sunt incluse în beacon-ul inițial, însă doar numele lor îi spun operatorului ce furnizori de cloud, ce sisteme CI și ce tipuri de credențiale există pe mașină. O autentificare SSH reușită i-ar permite să citească valorile direct.
Un detaliu atenuant: pornirea serviciului SSH necesită drepturi de administrator, pe care extensia nu le are pe majoritatea stațiilor macOS și Windows. Pe acele mașini autentificarea prin tunel eșuează. Cheia este totuși plantată, persistența este totuși instalată și beacon-ul este totuși trimis, așa că orice instalare din acel interval trebuie tratată drept compromisă, indiferent de platformă. Până acum nu a fost observat niciun payload de etapa a doua.
De ce contează
Stațiile de lucru ale dezvoltatorilor sunt printre cele mai valoroase ținte din orice organizație. Ele păstrează chei de cloud, token-uri CI, credențiale Git, materiale de semnare și cod sursă și au, de obicei, acces larg la rețea. Un tunel SSH invers nu este o scurgere pasivă de date; este acces interactiv care îi permite unui operator să ruleze comenzi și să mute fișiere după bunul plac.
Actualizarea automată a făcut atacul lipsit de orice fricțiune. Dezvoltatorul nu a trebuit să dea niciun click; un IDE configurat să își țină extensiile la zi putea descărca singur versiunea malițioasă.
Este, totodată, a doua compromitere a lanțului de distribuție pentru unelte de dezvoltare în aproximativ o săptămână. Cu câteva zile înainte, binarele de release ale utilitarului oficial de linie de comandă al unui furnizor de cloud au fost înlocuite cu malware care fură credențiale, prin intermediul unui cont de maintainer deturnat. Atacatorii au identificat clar stratul de distribuție al uneltelor pentru dezvoltatori drept un punct slab, iar marketplace-urile, registrele și pipeline-urile de release fac acum parte din modelul de amenințare.
Ce este de făcut
- Verificați expunerea. Confirmați dacă
anthropic.claude-code2.1.313 a fost instalată din marketplace-ul Cursor între 02:27 și 13:35 PT pe 29 octombrie 2026. Actualizările automate se pun. - Izolați stațiile afectate de rețea înainte de orice altceva.
- Eliminați cheia. Ștergeți intrarea
svc-telemetrydin~/.ssh/authorized_keysși verificați fișierul pentru orice altceva nu recunoașteți. - Curățați persistența. Eliminați task-ul programat de pe Windows, intrarea cron
@rebootde pe Linux, LaunchAgent-ul fals de pe macOS, scriptul ascuns din~/.configși orice fișiere de cheie.stk_*rămase în directorul temporar. - Tăiați canalul. Opriți orice proces
sshsauautosshcare indică spre134.209.82[.]225, blocați adresa pe firewall-ul de ieșire și căutați în log-urile de proxy și firewall conexiuni către ea, în special pe portul 8099. - Rotiți totul. Tratați fiecare credențială prezentă pe mașină ca fiind expusă: chei de acces cloud, token-uri API, credențiale Git și de registru de pachete, chei SSH și sesiuni active. Lista de nume de variabile de mediu colectată de beacon este, practic, lista de cumpărături a atacatorului.
- Actualizați și restrângeți. Instalați 2.1.314 dintr-un marketplace oficial și revizuiți ce extensii au voie să se actualizeze automat și din ce surse.
- Extindeți la nivel de organizație. Tratați situația ca pe un incident, nu ca pe o curățenie individuală, și verificați remedierea pe toate mașinile care rulează IDE-ul afectat.
Partea cea mai grea a unui astfel de incident este coada lungă: credențialele culese de pe laptopul unui singur dezvoltator tind să reapară după săptămâni pe piețele underground. Echipa noastră de monitorizare Deep/Dark Web urmărește exact acest lucru, semnalând token-urile, cheile și conturile de dezvoltator scurse care au legătură cu organizația dumneavoastră, astfel încât o expunere tăcută să nu devină următoarea breșă.
