O versiune troianizată a extensiei Claude Code a ajuns în marketplace-ul Cursor cu un backdoor SSH
O variantă modificată a extensiei oficiale Claude Code pentru VS Code, dezvoltată de Anthropic, a fost livrată utilizatorilor Cursor IDE ca o actualizare obișnuită pe 29 octombrie 2026. Pachetul purta identificatorul legitim al extensiei și numele publisherului real, motiv pentru care a trecut neobservat: pentru oricine avea actualizările automate activate, nimic nu părea în neregulă.
Ce s-a întâmplat
Versiunea malițioasă a fost etichetată 2.1.313 și a fost disponibilă doar prin marketplace-ul de extensii Cursor. Cursor afirmă că cel mult 5.000 de utilizatori au instalat-o într-o fereastră de aproximativ unsprezece ore pe 29 octombrie, după care pachetul a fost retras, iar marketplace-ul a fost oprit temporar pentru curățare. Cursor contactează direct utilizatorii afectați.
Nu există dovezi că versiunea compromisă ar fi ajuns pe Open VSX sau în Marketplace-ul oficial VS Code al Microsoft. Utilizatorii care au instalat Claude Code din oricare dintre aceste surse nu sunt considerați afectați. Anthropic a publicat între timp versiunea 2.1.314 în ambele registre oficiale.
Cum au reușit atacatorii să publice sub identitatea legitimă nu a fost încă explicat. Declarația Cursor subliniază că pachetul nu a fost dezvoltat de Anthropic, dar asta nu liniștește pe nimeni: problema este tocmai că, la momentul instalării, nu putea fi deosebit de cel original.
Ce face versiunea modificată
Un mic loader a fost adăugat la începutul bundle-ului JavaScript principal al extensiei. Rulează discret la activarea extensiei, își suprimă propriile erori și apoi lasă extensia autentică să se încarce, astfel încât utilizatorul nu observă nimic.
Obiectivele sunt simple și periculoase:
- Acces prin backdoor. Plantează o cheie publică controlată de atacator în fișierul de chei SSH autorizate al utilizatorului, deghizată cu o etichetă care sugerează un cont de serviciu pentru telemetrie.
- Accesibilitate de la distanță. Încearcă să activeze serviciul SSH local și să deschidă un tunel de ieșire către infrastructura atacatorului, astfel încât operatorul să ajungă la mașină chiar și din spatele unui NAT.
- Persistență. Instalează un mecanism de pornire specific fiecărei platforme pe Windows, Linux și macOS, ca tunelul să revină după restart.
- Recunoaștere. Trimite un profil al sistemului prin HTTP necriptat: IP public, hostname, utilizator local, sistem de operare și CPU, directoare de lucru, adresa de e-mail globală din Git și numele a până la 40 de variabile de mediu care seamănă cu credențiale (KEY, TOKEN, SECRET, PASS, AWS, GCP).
Valorile variabilelor de mediu nu sunt incluse în acest prim beacon. Numele singure, însă, îi spun atacatorului ce furnizori cloud, sisteme CI și tipuri de credențiale sunt configurate pe acel calculator, iar o sesiune SSH funcțională i-ar permite oricum să citească totul.
Pe majoritatea mașinilor macOS și Windows, pasul care pornește serviciul SSH necesită drepturi de administrator pe care extensia nu le are, deci calea de autentificare interactivă eșuează acolo. Cheia, persistența și profilul sistemului sunt totuși lăsate în urmă. Nu a fost observat până acum niciun payload de etapa a doua.
De ce contează
Stațiile de lucru ale programatorilor sunt cea mai vulnerabilă și mai valoroasă țintă din majoritatea organizațiilor. Ele dețin credențiale cloud, chei de semnare, cod sursă și acces SSH la producție. O extensie de IDE rulează cu toate drepturile dezvoltatorului, iar marketplace-urile sunt considerate de încredere în mod implicit. O actualizare otrăvită a unui instrument cu zeci de milioane de descărcări este, pentru un atacator, un mecanism de livrare cât se poate de eficient.
Incidentul vine la câteva zile după o altă lovitură de tip supply-chain asupra unui instrument de dezvoltare, în care binarele deja publicate ale unui CLI cloud popular au fost înlocuite în tăcere cu un program care fură secrete. Tiparul este clar: atacatorii vizează infrastructura în care dezvoltatorii au încredere, nu aplicațiile pe care le construiesc.
Ce este de făcut
Dacă folosiți Cursor și aveați Claude Code instalat pe 29 octombrie 2026, tratați mașina ca fiind compromisă până la proba contrarie:
- Verificați versiunea instalată. Orice raportează 2.1.313 este malițios. Actualizați la 2.1.314 sau mai nou dintr-o sursă oficială.
- Inspectați cheile SSH autorizate pentru fiecare utilizator de pe sistem și ștergeți orice intrare pe care nu ați adăugat-o, mai ales una cu un comentariu de tip telemetrie.
- Căutați mecanisme de persistență: task-uri programate neașteptate pe Windows, intrări noi în cron pe Linux și LaunchAgents necunoscute pe macOS. Eliminați orice tunel SSH de ieșire pe care îl pornesc.
- Rotiți secretele accesibile de pe acea stație: chei cloud, token-uri API, credențiale Git, cookie-uri de sesiune și tot ce este referit în variabilele de mediu.
- Analizați conexiunile de ieșire ale sistemului afectat în fereastra de expunere și căutați trafic SSH sau HTTP neașteptat către servere necunoscute.
- Reevaluați actualizările automate pentru extensiile de IDE pe mașinile cu acces la sisteme de producție, sau fixați versiunile și verificați modificările înainte de a le aplica.
Credențialele colectate de pe calculatoarele programatorilor rareori rămân private. Sunt tranzacționate, împachetate și revândute, adesea la săptămâni după intruziunea inițială. Serviciul 4tify de monitorizare Deep/Dark Web urmărește exact acest tip de identități și date de acces scurse ale dezvoltatorilor, astfel încât un token expus sau un e-mail Git să apară ca o alertă pentru echipa dumneavoastră, nu ca o surpriză în mâinile altcuiva.
