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:27versiunile falsificate apar în magazinul de extensii Cursor, pentru macOS și Windows
29 octombrie, 22:35Cursor le șterge și închide temporar tot magazinul de extensii
30 octombrieserverul atacatorilor e oprit cu ajutorul firmei care îl găzduia; Cursor confirmă ambele versiuni afectate
după auditCursor 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:

  1. 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.
  2. Adăuga o cheie SSH a atacatorilor, cu comentariul svc-telemetry, în lista de chei autorizate a utilizatorului.
  3. Încerca să pornească serverul SSH, pe Linux, macOS și Windows.
  4. Deschidea un tunel invers spre serverul atacatorilor, reluat la fiecare minut, prin care aceștia s-ar fi putut conecta la calculator.
  5. 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ă SysMon sau un script în folderul de pornire, iar pe Linux printr-o regulă cron.
  6. 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_keys din folderul .ssh al utilizatorului (~/.ssh/authorized_keys pe macOS și Linux, %USERPROFILE%\.ssh\authorized_keys pe Windows) și caută textul svc-telemetry.
  • Fișierele lăsate în urmă. Caută fișierele .smt, .smtk sau smt.cmd în folderul .config din 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șier sysmon.cmd în folderul Startup.
  • Pe Linux: o regulă @reboot nouă în crontab -l.
  • În extensii: caută în folderele anthropic.claude-code-2.1.312-* sau anthropic.claude-code-2.1.313-* adresa 134.209.82.225 sau textul svc-telemetry.

Ce faci dacă găsești ceva

  1. Oprește tunelul: închide procesele ssh sau autossh care se conectează la adresa de mai sus.
  2. Șterge mecanismul de repornire: serviciul com.apple.sysmond pe macOS, sarcina SysMon și fișierul sysmon.cmd pe Windows, regula cron pe Linux.
  3. Șterge cheia svc-telemetry din authorized_keys și fișierele .smt, .smtk, smt.cmd și .stk_*.
  4. Oprește SSH-ul dacă nu îl folosești: pe macOS din System Settings → General → Sharing → Remote Login, pe Windows din serviciul OpenSSH Server.
  5. Actualizează extensia la versiunea 2.1.314 sau mai nouă.
  6. 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.
  7. 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.

🔒 Securitate
← Toate articolele
💬 Comentarii

Fii primul care comentează acest articol!

✍️ Lasă un comentariu
4 + 6 = ?