SneakPeek: previzualizarea Claude Code expunea credențiale
Un fișier HTML de peste 256 KB rula JavaScript în previzualizarea Claude Code Desktop și citea chei SSH și credențiale AWS. Corectat de Anthropic.

După testele Anthropic scoase de pe internet, despre care am scris deja, noua știre privește un instrument pe care mulți dezvoltatori îl folosesc zilnic: Claude Code Desktop. Cercetătorii de la Noma Labs (Noma Security) au găsit o vulnerabilitate, numită SneakPeek, în panoul de previzualizare care afișează fișierele HTML create sau modificate de Claude: un fișier HTML pregătit special putea rula JavaScript, citi fișiere locale și le putea trimite către un server la distanță. Anthropic a corectat-o, după o primă încercare pe care cercetătorii au reușit să o ocolească.
Aproape toate detaliile tehnice provin de la CSO Online, care a citit în avans raportul Noma publicat pe 14 octombrie; Dark Reading și Cybersecurity360 confirmă descoperirea, impactul și corecția.
Ce s-a întâmplat
Scenariul descris de Noma este simplu: atacatorul pune un fișier HTML rău intenționat într-un depozit public, aparent legitim, și așteaptă ca un dezvoltator să-i ceară lui Claude Code să-l examineze. Când aplicația afișează fișierul în previzualizare, scriptul pornește fără alte acțiuni ale utilizatorului. Dark Reading o numește o amenințare „zero-click”; mai exact, potrivit CSO Online, este suficientă cererea de a examina fișierul, fără niciun alt clic.
Printre datele pe care scriptul le putea citi și exfiltra se numără chei private SSH, credențiale AWS și secrete GitHub; Dark Reading menționează și tokenurile OAuth ale Claude.
Scorul este CVSS 8.7 (v4.0), gravitate ridicată, atribuit de Anthropic. La 14 octombrie nu exista încă un CVE: potrivit Noma, Anthropic pregătea un GitHub Security Advisory și solicitase identificatorul. Sursele nu indică versiunea Claude Code Desktop care conține corecția definitivă.
Detalii tehnice
Previzualizarea din Claude Code Desktop folosește un panou de randare bazat pe Electron și Chromium. Noma a identificat trei puncte slabe care, împreună, formau lanțul:
- Pragul de 256 KB. Fișierele HTML sub 256 KB erau convertite în URL-uri
data:codificate base64, cu o Content Security Policy strictă care bloca scripturile. Cele mai mari erau în schimb scrise pe disc și deschise ca URL-urifile://, fără acea CSP. Atacatorului îi era suficient să umfle fișierul peste prag. - Origine greșită. Încărcat prin
file://, conținutul primea în Chromium acces la sistemul de fișiere local, în loc să rămână izolat într-o origine opacă. - Filtru inactiv. Aplicația are un mecanism care blochează accesul
file://, dar potrivit Noma nu era activ în timpul randării fișierelor statice, inclusiv atunci când dezvoltatorul deschidea rapoartele testelor locale.
Prima corecție a Anthropic bloca citirile de fișiere din contextul principal al paginii. Noma a ocolit-o mutând codul de citire într-un Web Worker, un fir de execuție separat pe care corecția nu îl acoperea. După raportarea ocolirii, Anthropic a intervenit mai profund, în arhitectura previzualizării, iar potrivit Noma problema este acum rezolvată complet.
Un aspect contează pentru cine apără: scriptul rula în procesul de randare al previzualizării, nu ca acțiune a agentului. Controalele gândite pentru model, cum ar fi permisiunile instrumentelor și confirmările, nu îl vedeau. Potrivit Sysdig, citată de CSO Online, nici jurnalele agentului nu ar înregistra neapărat execuția: citirile de fișiere și conexiunile de ieșire se văd doar la nivel de sistem.
Corespondență MITRE ATT&CK orientativă, dedusă din faptele raportate: T1204.002 (User Execution: Malicious File), T1552.001 (Unsecured Credentials: Credentials In Files), T1552.004 (Unsecured Credentials: Private Keys), T1005 (Data from Local System), T1041 (Exfiltration Over C2 Channel).
Impactul pentru companiile europene și italiene
Stațiile de lucru ale dezvoltatorilor păstrează cheile producției: acces SSH la servere, credențiale cloud, tokenuri pentru depozite și pipeline-uri. O singură stație compromisă poate deschide drumul către infrastructura cloud a companiei și, prin depozite, către lanțul de aprovizionare software.
Pentru entitățile NIS2, articolul 21 cere măsuri pentru securitatea lanțului de aprovizionare și a dezvoltării sistemelor: asistenții de programare cu IA intră în acest perimetru și trebuie inventariați, actualizați și guvernați ca orice alt instrument. La fel pentru furnizorii de software din sănătate și administrația publică, care lucrează adesea cu cod și depozite ale terților.
Ce să faci acum
- Actualizează Claude Code Desktop la ultima versiune pe toate stațiile și verifică dacă actualizările automate sunt active; urmărește GitHub Security Advisory anunțat pentru versiunea corectată și CVE.
- Fă inventarul: ce mașini au Claude Code Desktop sau alți asistenți cu previzualizare HTML și în ce versiuni.
- Elimină de pe stații credențialele cu durată lungă (
~/.aws/credentials, chei SSH fără passphrase, tokenuri personale): folosește credențiale temporare și cu permisiuni restrânse, așa cum sugerează și Noma. - Rotește credențialele dacă, înainte de actualizare, dezvoltatorii au cerut lui Claude Code Desktop să examineze fișiere HTML din depozite nesigure.
- Deschide codul terților în medii separate (mașini virtuale, containere, medii de dezvoltare la distanță fără secrete), nu pe stația cu acces la producție.
- Monitorizează la nivel de sistem citirile de fișiere precum
~/.ssh/id_*sau~/.aws/credentialsde către procesele aplicației și conexiunile de ieșire către destinații neobișnuite.
Cum ajută ARXDOME
ARX Sentry păstrează inventarul software al fiecărui computer, astfel încât știi unde este instalat Claude Code Desktop și în ce versiune, și colectează jurnale și evenimente de securitate de la mașini și firewalluri: execuțiile suspecte și traficul de ieșire blocat ajung în paginile SOC. ARX Horizon îmbogățește fiecare conexiune cu reputația adreselor de destinație.
Ultima actualizare:


