Timp de aproximativ 11 ore, pe 29 octombrie, magazinul de extensii al editorului de cod Cursor a distribuit o copie falsificată a extensiei oficiale Claude Code, cu numele și marca Anthropic. Versiunile 2.1.312 și 2.1.313 aveau la început un cod ascuns care încerca să instaleze o ușă de acces prin SSH: o cheie a atacatorilor, un tunel spre serverul lor și un mecanism care repornea totul la fiecare pornire a calculatorului. Cursor estimează că au fost expuși cel mult 5.000 de utilizatori.
Detaliul care contează cel mai mult: dezinstalarea extensiei nu șterge ușa de acces. Cine a instalat sau a actualizat extensia în acea fereastră trebuie să verifice calculatorul, nu doar editorul.
Ce s-a întâmplat
| Când (ora României) | Ce s-a întâmplat |
|---|---|
| 29 octombrie, 11:27 | versiunile falsificate apar în magazinul de extensii Cursor, pentru macOS și Windows |
| 29 octombrie, 22:35 | Cursor le șterge și închide temporar tot magazinul de extensii |
| 30 octombrie | serverul atacatorilor e oprit cu ajutorul firmei care îl găzduia; Cursor confirmă ambele versiuni afectate |
| după audit | Cursor schimbă toate cheile de acces, nu găsește alte extensii modificate și redeschide magazinul |
Anthropic spune că sistemele sale, laptopurile angajaților și canalele oficiale de distribuție nu au fost compromise și că versiunile publicate de ea nu sunt afectate. Primele relatări vorbeau și despre Open VSX și magazinul Microsoft pentru VS Code, dar s-a confirmat ulterior că doar Cursor a distribuit versiunile falsificate. Anthropic a sărit direct la versiunea 2.1.314, curată.
Nici Cursor, nici Anthropic nu au explicat cum au reușit atacatorii să publice o extensie sub numele Anthropic. Felix Rieseberg, de la Anthropic, a scris doar că „un actor rău intenționat a folosit accesul la magazinul Cursor pentru a publica o copie modificată a extensiei Claude Code”.
Ce făcea codul ascuns
Atacatorii au luat extensia legitimă și au adăugat la începutul fișierului principal un program de circa 7 KB. Acesta pornea singur când editorul încărca extensia, fără să deschizi Claude Code și fără să scrii ceva în el:
- Strângea informații despre calculator: numele, utilizatorul, sistemul, adresa de e-mail din Git, adresa IP publică și numele (nu și valorile) a până la 40 de variabile de mediu care păreau să conțină chei, tokenuri sau parole.
- Adăuga o cheie SSH a atacatorilor, cu comentariul
svc-telemetry, în lista de chei autorizate a utilizatorului. - Încerca să pornească serverul SSH, pe Linux, macOS și Windows.
- Deschidea un tunel invers spre serverul atacatorilor, reluat la fiecare minut, prin care aceștia s-ar fi putut conecta la calculator.
- Se asigura că repornește: pe macOS printr-un serviciu numit
com.apple.sysmond, ca să pară o componentă Apple, pe Windows printr-o sarcină programatăSysMonsau un script în folderul de pornire, iar pe Linux printr-o regulă cron. - Trimitea un raport cu datele strânse către serverul atacatorilor.
Cercetătorii Phorion, care au analizat codul, au găsit și o eroare care a limitat probabil paguba. Pe macOS, programul verifica dacă serverul SSH e oprit cu o comandă care cere drepturi de administrator. Fără ele, nu primea răspunsul așteptat și nu mai pornea SSH-ul. Pe Windows, o parte din cod apela un program care nu există într-o instalare obișnuită. Cheia și mecanismul de repornire erau totuși instalate, iar pe un calculator unde SSH era deja pornit, ușa funcționa. Phorion avertizează că eroarea nu trebuie considerată o protecție.
StepSecurity, care a recuperat și analizat codul, nu a găsit o a doua etapă de atac și nici furt direct de parole. Riscul principal era ca atacatorii să intre în calculator prin tunel cât timp acesta era activ, iar de acolo să ajungă la cod, chei și alte date.
Cum verifici dacă ești afectat
Te privește doar dacă folosești Cursor și ai instalat sau actualizat extensia Claude Code pe 29 octombrie, între 11:27 și 22:35, ora României. Simpla prezență a versiunii 2.1.312 nu e o dovadă: Anthropic a publicat o versiune 2.1.312 curată pe canalele oficiale. Verifică aceste semne:
- Cheia străină. Deschide fișierul
authorized_keysdin folderul.sshal utilizatorului (~/.ssh/authorized_keyspe macOS și Linux,%USERPROFILE%\.ssh\authorized_keyspe Windows) și caută textulsvc-telemetry. - Fișierele lăsate în urmă. Caută fișierele
.smt,.smtksausmt.cmdîn folderul.configdin folderul utilizatorului și fișiere care încep cu.stk_în folderul temporar. - Pe macOS: fișierul
~/Library/LaunchAgents/com.apple.sysmond.plist, cu un nume ales ca să pară o componentă Apple. - Pe Windows: o sarcină numită
SysMonîn Task Scheduler și un fișiersysmon.cmdîn folderul Startup. - Pe Linux: o regulă
@rebootnouă încrontab -l. - În extensii: caută în folderele
anthropic.claude-code-2.1.312-*sauanthropic.claude-code-2.1.313-*adresa134.209.82.225sau textulsvc-telemetry.
Ce faci dacă găsești ceva
- Oprește tunelul: închide procesele
sshsauautosshcare se conectează la adresa de mai sus. - Șterge mecanismul de repornire: serviciul
com.apple.sysmondpe macOS, sarcinaSysMonși fișierulsysmon.cmdpe Windows, regula cron pe Linux. - Șterge cheia
svc-telemetrydinauthorized_keysși fișierele.smt,.smtk,smt.cmdși.stk_*. - Oprește SSH-ul dacă nu îl folosești: pe macOS din System Settings → General → Sharing → Remote Login, pe Windows din serviciul OpenSSH Server.
- Actualizează extensia la versiunea 2.1.314 sau mai nouă.
- Schimbă cheile și parolele la care avea acces utilizatorul respectiv, mai ales cele din variabilele de mediu cu nume de tipul KEY, TOKEN, SECRET sau AWS. Atacatorii le cunosc numele, chiar dacă nu și valorile.
- Dacă SSH era pornit și ai semne că cineva s-a conectat, tratează calculatorul ca fiind compromis: pe un calculator de serviciu, anunță echipa de securitate, iar dacă ai copii de siguranță curate, reinstalarea completă e cea mai sigură variantă.
De ce contează
E a doua oară în câteva zile când uneltele de programare cu AI ajung în centrul unei probleme de securitate, după vulnerabilitățile din browserele integrate în Cursor, Copilot și Codex. Extensiile de editor rulează cu toate drepturile utilizatorului și au acces la cod, chei și parole. De aceea sunt o țintă tot mai atractivă: în mai, GitHub a fost spart după ce un angajat a instalat o versiune malițioasă a unei extensii VS Code, cum am scris în articolul despre breșa GitHub.
Cazul de acum e mai grav prin felul în care s-a produs: nu a fost o extensie cu un nume asemănător, pe care o puteai evita cu atenție, ci actualizarea unei extensii oficiale, venită prin magazinul editorului. Un utilizator obișnuit nu avea cum să observe diferența. Pentru echipele de programatori, lecția e să trateze extensiile ca pe orice altă dependență: cu versiuni fixate, actualizări verificate și o listă de extensii aprobate.
Surse: BleepingComputer (30 octombrie: fereastra de 11 ore, numărul de utilizatori, comportamentul codului, răspunsul Cursor), StepSecurity (1 noiembrie: versiunile afectate, declarațiile Anthropic și Felix Rieseberg, cronologia, analiza completă a codului, indicatorii de compromitere, pașii de verificare), Phorion (30–31 octombrie: analiza tehnică, eroarea de pe macOS, pașii de curățare), Heise (30 octombrie: versiunea 2.1.314, faptul că dezinstalarea nu ajunge). Orele sunt convertite în ora României din ora UTC folosită de StepSecurity.
Fii primul care comentează acest articol!