La sfârșitul lunii mai 2026, o echipă de cercetători în securitate a observat ceva neobișnuit într-un colț al ecosistemului open-source pe care majoritatea utilizatorilor de criptomonede nu îl văd niciodată. Nu era vorba despre un contract inteligent spart sau despre o platformă de tranzacționare golită peste noapte.
Atacul viza oamenii care construiesc aceste platforme, programatorii înșiși, iar arma era ascunsă în pachete software care păreau perfect inofensive.
Campania a primit numele de TrapDoor și a fost catalogată drept una dintre cele mai ample operațiuni de tip supply chain din acest an. Firma de securitate blockchain SlowMist a emis o alertă de urgență sub codul SM-2026-352284, iar platforma Socket, care a fost prima care a depistat tiparul pe 24 mai, a reconstruit pas cu pas modul în care atacatorii au reușit să se infiltreze în mediile de lucru ale celor din zonele Solana, finanțe descentralizate și inteligență artificială.
Ceea ce face acest caz interesant nu este suma furată, cel puțin nu deocamdată, ci schimbarea de strategie pe care o dezvăluie. Hackerii nu mai forțează serverele protejate. Au descoperit că este mult mai simplu să intri pe ușa din spate a unui laptop de programator decât să spargi zidurile unei infrastructuri bine apărate. De aici și numele campaniei.
Cum a fost descoperit atacul?
Primul semn a apărut pe 22 mai 2026, la ora 20:20 UTC, când un pachet numit eth-security-auditor a fost încărcat în depozitul PyPI, ecosistemul de biblioteci pentru limbajul Python. La prima vedere, nimic ieșit din comun. Numele suna ca un instrument legitim de audit pentru aplicații Ethereum, exact genul de utilitar pe care un dezvoltator l-ar instala fără să clipească.
În orele și zilele care au urmat, pachete asemănătoare au început să apară în valuri, publicate de un grup restrâns de conturi care lucrau coordonat. Nu doar în PyPI, ci și în npm, registrul folosit de programatorii JavaScript, și în Crates.io, depozitul ecosistemului Rust. Această răspândire pe trei platforme simultan a fost ceea ce a atras atenția cercetătorilor. Un pachet izolat poate trece neobservat. Zeci de pachete care apar aproape simultan, cu aceleași tipare de comportament și aceeași infrastructură ascunsă în spate, formează un model imposibil de ignorat.
Conform analizei publicate de echipa de la Socket, campania a cuprins peste 34 de pachete distincte și mai mult de 384 de versiuni asociate. Unele fuseseră deja eliminate în momentul investigației, altele erau încă active. Viteza cu care atacatorii publicau versiuni noi, pe măsură ce cele vechi erau detectate și șterse, a arătat o disciplină operațională rar întâlnită la grupările amatoare.
Sistemul de monitorizare al companiei de securitate a reușit să identifice noile pachete într-un interval mediu de aproape șase minute de la publicare, iar cea mai rapidă detecție s-a produs la doar 58 de secunde după ce un pachet a apărut online.
Cifrele acestea spun ceva despre cursa permanentă dintre atacatori și apărători în lumea open-source, unde o fereastră de câteva minute poate face diferența între un incident contained și o breșă răspândită.
Ce înseamnă de fapt un atac asupra lanțului de aprovizionare software?
Termenul de supply chain attack sună tehnic, dar logica din spatele lui este surprinzător de simplă. Niciun program modern nu este scris de la zero.
Un dezvoltator care construiește o aplicație cripto folosește sute, uneori mii, de biblioteci create de alți oameni. Aceste componente sunt instalate automat dintr-un depozit public, iar fiecare dintre ele poate, la rândul ei, să depindă de alte zeci de biblioteci.
Imaginați-vă o construcție unde fiecare cărămidă este fabricată de altcineva, iar voi vă bazați pe încrederea că niciunul dintre furnizori nu a strecurat o cărămidă defectă. Atacul asupra lanțului de aprovizionare exploatează exact această încredere. Hackerul nu sparge nimic. Pur și simplu plasează o componentă otrăvită în depozitul public, îi dă un nume credibil și așteaptă ca dezvoltatorii grăbiți să o instaleze singuri.
Ceea ce a făcut TrapDoor deosebit de periculos a fost felul în care s-a adaptat la fiecare ecosistem în parte. În npm, codul rău intenționat se activa printr-un mecanism numit postinstall, care rulează automat imediat după ce pachetul este instalat. În PyPI, declanșatorul era momentul în care biblioteca era importată în cod. Iar în Crates.io, atacatorii au folosit scripturile build.rs, care se execută în timpul compilării unui program Rust, înainte ca dezvoltatorul să apuce măcar să folosească biblioteca.
Această ultimă variantă este deosebit de vicleană. Un programator Rust care lucrează la unelte pentru Sui sau Move putea fi compromis în chiar momentul în care își construia proiectul, fără să fi rulat vreo linie din codul infectat. Scriptul căuta portofelele locale, le cripta cu o cheie fixă și le trimitea către serviciile de stocare GitHub Gists, deghizate ca trafic obișnuit.
Anatomia unui hoț digital
Cercetătorii au reconstruit funcționarea programului analizând câte un eșantion reprezentativ din fiecare ecosistem. În npm, inima campaniei era un fișier numit trap-core.js, un colector de credențiale de peste o mie o sută de linii de cod. Acesta scana sistemul în căutarea oricărui secret valoros pe care un dezvoltator l-ar putea avea stocat local.
Lista lucrurilor pe care le viza este în sine o radiografie a vieții digitale a unui programator modern. Chei SSH folosite pentru a accesa servere de la distanță. Date despre portofelele Sui, Solana și Aptos. Credențiale pentru serviciile cloud Amazon. Tokeni de acces GitHub. Profiluri de browser cu parolele salvate.
Date din extensiile de portofel cripto instalate în browser. Variabile de mediu, chei API și fișierele de configurare locale. Practic, tot ce un atacator ar avea nevoie pentru a prelua controlul nu doar asupra unui calculator, ci asupra întregii rețele de sisteme la care acel calculator are acces.
Și aici intervine partea cu adevărat îngrijorătoare. Programul nu se mulțumea să fure și să plece. Folosea cheile SSH furate pentru a încerca să se răspândească mai departe, către alte mașini din rețea, transformând un singur laptop compromis într-un cap de pod pentru o invazie mai amplă.
Conform cercetării publicate de The Hacker News, malware-ul a fost observat în peste treizeci și cinci de mii de depozite publice și private, ceea ce sugerează o expunere mult mai largă decât numărul inițial de pachete ar fi lăsat să se înțeleagă.
Versiunea npm a campaniei a fost, de departe, cea mai sofisticată. Folosea metode de criptare avansate, precum Fernet și ECDH, și, surprinzător, verifica validitatea credențialelor furate prin apeluri către serverele Amazon și GitHub. Cu alte cuvinte, atacatorul nu colecta orbește orice găsea. Filtra activ datele utile de cele expirate sau lipsite de valoare, ca un hoț care își triază prada înainte să o ducă acasă.
Persistența, sau cum rămâne răul în casă
Un detaliu tehnic ușor de trecut cu vederea, dar esențial pentru a înțelege gravitatea situației, este modul în care programul se asigura că rămâne în sistem chiar și după o curățare superficială. Se scria singur în fișierele de configurare ale asistenților de programare bazați pe inteligență artificială, precum .cursorrules și CLAUDE.md, dar și în Git hooks, profiluri de shell, servicii systemd și sarcini cron.
Aceste locuri sunt rareori verificate de un dezvoltator obișnuit. Un programator care șterge pachetul rău intenționat și crede că a rezolvat problema poate descoperi, peste zile, că malware-ul s-a reactivat dintr-un colț al sistemului pe care nu se gândise să îl inspecteze. Tocmai de aceea recomandările de remediere insistă pe o reconstrucție completă a mediului de lucru, nu doar pe eliminarea pachetului vizibil.
Când inteligența artificială devine vulnerabilitate
Aspectul cel mai inovator și, în același timp, cel mai tulburător al campaniei TrapDoor ține de felul în care a încercat să exploateze asistenții de programare bazați pe inteligență artificială. Fișiere precum .cursorrules și CLAUDE.md sunt folosite în mod legitim pentru a oferi instrucțiuni specifice unui proiect către uneltele de codare inteligente. Sunt, în esență, niște note pe care dezvoltatorul le lasă pentru ca asistentul AI să înțeleagă contextul proiectului.
Atacatorii din spatele TrapDoor au încercat să strecoare în aceste fișiere instrucțiuni ascunse, folosind caractere Unicode de lățime zero, invizibile pentru ochiul uman. Scopul era să păcălească asistentul AI să ruleze ceea ce părea un scan de securitate inofensiv, dar care, în realitate, declanșa descoperirea și exfiltrarea secretelor. O manevră care, dacă reușea, transforma chiar unealta menită să ajute programatorul într-un complice involuntar al furtului.
Cercetătorii care au studiat infrastructura atacatorilor au găsit, găzduit pe GitHub Pages, un document intitulat AUDIT-MATRIX.md care descria operațiunea ca pe un universal AI agent extraction framework, adică un cadru universal de extracție prin agenți de inteligență artificială.
Documentul recunoștea, paradoxal, că nu toate componentele erau încă funcționale, dar dezvăluia intenția clară a atacatorilor de a mapa comportamentele de furt pe sarcini cu nume liniștitoare, precum audituri de securitate, verificări ale portofelului sau validări ale configurației cloud.
Această strategie de deghizare este coloana vertebrală a întregii campanii. Furtul de credențiale era prezentat invariabil ca o automatizare utilă pentru dezvoltatori sau pentru echipele de securitate. Nu un instrument de spionaj, ci un asistent grijuliu. Genul de minciună care funcționează tocmai pentru că face apel la cele mai bune intenții ale victimei.
Vibe coding și prețul comodității
Pentru a înțelege de ce această campanie a avut potențialul de a face atât de mult rău, trebuie să vorbim despre o tendință relativ recentă în lumea programării, cunoscută sub numele de vibe coding. Este vorba despre stilul de a construi proiecte prin instrucțiuni date unui asistent AI, conectând rapid zeci de biblioteci imbricate fără a verifica cu atenție ce conține fiecare.
Comoditatea are însă un preț. Atunci când un agent AI descarcă automat cod pe o mașină unde editorul inteligent are acces direct la fișierele de configurare locale, lanțul de încredere se subțiază până aproape de rupere. Dezvoltatorul nu mai vede ce instalează. Are încredere că procesul automatizat știe ce face, iar atacatorii au mizat exact pe această încredere oarbă. TrapDoor a fost, într-un sens, un atac proiectat pentru epoca în care oamenii programează mai mult prin conversație decât prin verificare.
Merită observat că atacatorii nu s-au oprit la publicarea pachetelor. Au deschis și pull requests către proiecte cunoscute de inteligență artificială și unelte pentru dezvoltatori, încercând să adauge fișiere .cursorrules sau CLAUDE.md sub titluri liniștitoare despre standarde de dezvoltare și verificarea construcției. O tentativă de a planta instrucțiunile lor chiar în inima proiectelor open-source de încredere, acolo unde uneltele AI le-ar fi citit și aplicat fără suspiciune.
Tiparul acesta spune ceva despre felul în care s-a schimbat ritmul muncii unui programator. Acum câțiva ani, instalarea unei dependențe era o decizie conștientă, cântărită, uneori discutată în echipă. Astăzi, un proiect modern poate trage după el sute de biblioteci pe care nimeni nu le-a citit vreodată, fiecare cu propriul lanț de subdependențe care se ramifică în adâncime.
Atacatorii nu au inventat această fragilitate, ci doar au învățat să o exploateze cu o precizie pe care apărătorii abia acum o conștientizează.
Un context care nu poate fi ignorat
Incidentul TrapDoor nu a apărut într-un vid. El se desfășoară pe fundalul unei luni aprilie sumbre pentru întregul sector al finanțelor descentralizate, când pierderile au atins un nivel record, peste 635 de milioane de dolari evaporate în 28 de atacuri separate. Deși amploarea exploatărilor directe asupra contractelor inteligente a scăzut în mai, datele colectate de firmele de securitate arată o mutare fundamentală în tactica atacatorilor.
Logica este aproape comercială. Spargerea unui contract inteligent bine auditat necesită timp, competențe rare și mult noroc. Compromiterea laptopului unui programator obosit care instalează un pachet cu nume credibil la ora unu noaptea este, în comparație, aproape banală. Atacatorii au făcut un calcul rece de rentabilitate și au ajuns la concluzia că veriga slabă nu mai este codul, ci omul care îl scrie.
Conceptul din spatele TrapDoor repetă, de altfel, logica unui vierme npm devenit deja celebru în comunitate, cunoscut sub numele de Mini Shai-Hulud. Ideea de a transforma fiecare victimă într-un vector de propagare nu este nouă, dar combinarea ei cu țintirea asistenților AI și cu acoperirea simultană a trei ecosisteme diferite ridică ștacheta a ceea ce înseamnă astăzi un atac sofisticat asupra lanțului de aprovizionare.
Ce recomandă specialiștii celor afectați
Pentru echipele care suspectează că ar fi putut instala unul dintre pachetele compromise, alerta emisă de SlowMist propune un protocol de remediere în trei etape, conceput tocmai pentru a contracara mecanismele de persistență descrise mai devreme.
Prima etapă este un audit al configurației AI. Fișierele locale .cursorrules și CLAUDE.md trebuie inspectate manual pentru a depista orice instrucțiuni anormale sau provenite din surse terțe. O atenție specială merită acordată oricăror caractere invizibile sau text care pare deplasat, întrucât tocmai aici se ascundeau injecțiile.
A doua etapă constă în rotirea totală a credențialelor. Toate cheile de criptare, tokenii cloud și secretele GitHub folosite pe dispozitivele afectate trebuie revocate forțat și reemise. Dacă un sistem a fost compromis, presupunerea sigură este că orice secret aflat pe el a fost deja exfiltrat, chiar dacă nu există dovada directă a transferului.
A treia etapă, cea mai radicală, presupune reconstrucția completă a mediului de lucru. Mediile de build trebuie șterse și resetate, iar mediile de dezvoltare reinstalate de la zero, pornind de la imagini de sistem proaspete. Doar o curățare superficială lasă portițe deschise prin care malware-ul se poate reactiva, așa cum am văzut în secțiunea despre persistență.
Dincolo de aceste măsuri de urgență, lecția pe termen lung ține de igiena dependențelor. Pachetele adăugate recent, mai ales cele publicate în intervalul 22 până la 25 mai 2026, merită o privire suspicioasă. Numele credibile nu mai sunt o garanție de încredere, iar instalarea automată a oricărei biblioteci care apare în rezultatele căutării a devenit un lux pe care nimeni nu și-l mai poate permite.
O nouă regulă a jocului în securitatea cripto
Dacă există o concluzie care merită reținută din povestea TrapDoor, aceasta este că frontiera securității cripto s-a deplasat. Multă vreme, atenția s-a concentrat pe contractele inteligente, pe protocoalele de consens și pe vulnerabilitățile platformelor de tranzacționare. Toate rămân importante, dar atacatorii au înțeles înaintea multor apărători că adevărata comoară se află, adesea, pe calculatorul unui singur om.
Un programator care lucrează la o aplicație DeFi are, pe laptopul său, chei care deschid ușile a zeci de sisteme. Are acces la depozite de cod, la infrastructura de deployment, la portofele de test și uneori chiar la fonduri reale. Compromiterea acelui singur dispozitiv poate avea un efect de domino mult mai devastator decât spargerea oricărui contract inteligent izolat.
Campania a arătat și cât de creativi pot deveni atacatorii atunci când văd o oportunitate. Folosirea agenților AI ca vector de exfiltrare, deghizarea codului rău intenționat în unelte de securitate și acoperirea simultană a trei ecosisteme distincte sunt semne ale unei profesionalizări care nu va dispărea curând. Dimpotrivă, este probabil ca tactica să fie copiată și rafinată de alte grupări în lunile care vin.
Pentru utilizatorul obișnuit de criptomonede, care nu scrie cod și nu instalează biblioteci, lecția este indirectă, dar reală. Securitatea fondurilor pe care le ține într-un portofel depinde, în ultimă instanță, și de igiena digitală a oamenilor care construiesc infrastructura din spatele acelor fonduri. Iar atunci când veriga umană devine ținta principală, întreaga industrie are de învățat să își regândească reflexele de apărare, mutând accentul de pe ziduri pe oamenii care le ridică.
Povestea TrapDoor rămâne deschisă. Cercetătorii continuă să monitorizeze infrastructura atacatorilor, iar registrele afectate au eliminat pachetele identificate. Dar fiecare astfel de campanie lasă în urmă un manual pe care alții îl pot studia, iar întrebarea nu este dacă vom mai vedea atacuri de acest tip, ci cât de repede și cu ce ținte vor reveni.
Intrebari Frecvente(FAQ)
TrapDoor este o campanie de tip supply chain attack descoperita la sfarsitul lunii mai 2026, care a plasat peste 34 de pachete software malitioase in registrele npm, PyPI si Crates.io. Programul fura portofele cripto, chei de acces si credentiale de pe calculatoarele dezvoltatorilor din zonele Solana, DeFi si inteligenta artificiala.
Tinta principala o reprezinta programatorii si echipele care lucreaza in ecosistemele cripto, finante descentralizate, Solana si inteligenta artificiala. Atacatorii au mizat pe faptul ca laptopul unui dezvoltator contine chei si credentiale care deschid accesul catre zeci de alte sisteme.
Codul rau intentionat este ascuns in pachete cu nume credibile, instalate de dezvoltatori din depozitele publice. Se activeaza automat in timpul instalarii in npm, la importul bibliotecii in PyPI sau in timpul compilarii unui proiect Rust in Crates.io, deseori fara ca utilizatorul sa ruleze efectiv codul infectat.
Programul colecteaza chei SSH, date despre portofelele Sui, Solana si Aptos, credentiale cloud Amazon, tokeni GitHub, parole salvate in browser, date din extensiile de portofel cripto, variabile de mediu si chei API.
Specialistii recomanda un protocol in trei etape: inspectarea manuala a fisierelor .cursorrules si CLAUDE.md, rotirea totala a tuturor credentialelor si cheilor folosite pe dispozitiv si reconstructia completa a mediului de lucru de la o imagine de sistem proaspata.
Pentru ca nu se limiteaza la furt, ci foloseste cheile SSH furate pentru a se raspandi catre alte sisteme, se ascunde in locuri rareori verificate pentru a persista si incearca sa transforme asistentii AI in complici involuntari ai exfiltrarii datelor.