Gravity Bridge, golit de 5,4 milioane de dolari fără ca nimeni să spargă codul

Gravity Bridge, golit de 5,4 milioane de dolari fără ca nimeni să spargă codul

0 Shares
0
0
0

Cel mai tulburător amănunt al jafului care a secat Gravity Bridge de 5,4 milioane de dolari nu ține de vreo spargere spectaculoasă. Pe 29 mai 2026, atacatorul nu a forțat nicio cheie privată și nu a prăbușit niciun contract inteligent. A făcut ceva mult mai discret. A găsit locul unde puntea încetase să mai pună întrebări și a lăsat sistemul să se păcălească singur, executând cu obediență un ordin clădit pe o minciună.

Povestea merită spusă pe îndelete, fiindcă ascunde o lecție pe care lumea cripto pare condamnată să o repete. Aproape fiecare furt important al ultimilor ani a avut în centru o punte între rețele, iar acest caz se distinge nu prin mărimea pierderii, ci prin eleganța aproape cinică a metodei.

Ce este o punte între rețele și de ce conta tocmai aceasta

Pentru cineva care nu trăiește cu ochii pe grafice, ideea de punte cere o explicație simplă. Fiecare blockchain este o lume închisă în sine. Ethereum nu vorbește în mod firesc cu Cosmos, iar un token de pe o rețea nu poate sări pur și simplu pe alta. Aici intervine puntea, care blochează un activ real pe o parte și creează pe cealaltă o reprezentare a lui, astfel încât valoarea să poată circula dintr-un ecosistem în altul.

Gravity Bridge era exact un astfel de coridor între Ethereum și Cosmos, prezentat ca o alternativă descentralizată la punțile controlate de câteva semnături. În loc ca un grup restrâns de administratori să decidă ce mișcare e legitimă, un set de validatori urmărea ce se petrece pe Ethereum și confirma împreună evenimentele înainte ca acestea să producă efecte pe partea Cosmos. Încrederea era distribuită, nu strânsă într-o mână de chei.

Tocmai acolo stătea capcana. Un sistem care se sprijină pe ce observă validatorii este la fel de sigur ca informația pe care o primesc. Dacă cineva le strecoară în câmpul vizual o minciună bine construită, ei o confirmă cu toată buna credință, iar semnăturile lor rămân perfect valide.

Pasul tăcut dinaintea loviturii

Înainte de a atinge vreun activ, atacatorul s-a strecurat înăuntru. Sub un pseudonim banal, julia666, și-a înregistrat un validator pe lanțul Gravity și a delegat doar 80 de tokenuri GRAV. Suma e ridicol de mică și nu îi dădea nicio putere de vot. Numai că nici nu avea nevoie. Cei 80 de GRAV erau suficienți cât să treacă de o verificare internă care stabilea cine are voie să trimită anumite mesaje către punte.

Odată ajuns în setul de validatori, oricât de neînsemnat ar fi părut acolo, orchestratorul lui putea acum să depună aceleași confirmări ca validatorii legitimi. Era ca și cum cineva și-ar fi cumpărat un ecuson de angajat fără vreun rol real, doar ca să treacă nestingherit de poartă.

Reconstituirea tehnică a acestui caz provine din analiza publicată de Cryptology.ro, publicația de știri și analize crypto în limba română care a urmărit pas cu pas felul în care atacatorul și-a pregătit terenul cu mult înainte de prima retragere. Amănuntul spune mult despre natura atacului. Nu a fost o lovitură improvizată, dată în grabă, ci o pregătire metodică, în care fiecare piesă a fost așezată la locul ei cu răbdare.

Momentul în care minciuna devine adevăr oficial

Cu piciorul deja înăuntru, atacatorul s-a mutat pe Osmosis, alt blockchain din universul Cosmos. Acesta are un modul, tokenfactory, care permite oricui să creeze tokenuri noi, gratuit și fără permisiune. O funcție perfect legitimă, folosită zilnic de proiecte oneste, dar care în mâinile potrivite devine materie primă pentru fraudă.

Atacatorul a fabricat patru tokenuri lipsite de valoare, fiecare gândit să imite un activ real ținut de Gravity Bridge în custodie pe Ethereum, adică monedele USDC, USDT, WETH și PAXG. Le-a transferat prin protocolul IBC către lanțul Gravity, unde fiecare a primit un identificator tehnic obișnuit.

Urmează partea genială și dureroasă în egală măsură. Pe Ethereum, contractul punții avea o funcție publică prin care oricine putea înregistra un token venit din Cosmos. Atacatorul a apelat-o de patru ori, iar de fiecare dată, în loc de identificatorul real al tokenului fals, a strecurat în șirul de text adresa contractului real al activului aflat în custodie. Funcția a acceptat totul fără să clipească, fiindcă nu verifica deloc conținutul acelui șir.

Validatorii Gravity, supraveghind cuminte ce se întâmplă pe Ethereum, au văzut evenimentul, l-au confirmat și l-au semnat. Așa s-a actualizat registrul intern al punții, cel care leagă fiecare token de adresa lui reală, cu o corespondență otrăvită. Din acel moment, sistemul credea sincer că monedele fără valoare ale atacatorului erau USDC, USDT, WETH și PAXG autentice.

Cele două scăpări care au deschis ușa

Atacul a funcționat din cauza a două defecte care, privite separat, ar fi părut neînsemnate. Primul stătea în funcția de înregistrare de pe Ethereum, publică prin design, dar care accepta șirul de identificare fără nicio validare a conținutului.

Nu verifica dacă adresa strecurată acolo aparținea deja unui activ aflat în custodie. Lua textul așa cum venea și mergea mai departe, deși orice manual de securitate repetă până la epuizare că datele care traversează granița dintre rețele trebuie tratate ca ostile până la proba contrarie.

Al doilea defect e mai rafinat și aici se ascunde adevărata sofisticare. Pe lanțul Gravity, funcția care procesa confirmările făcea totuși o verificare, comparând numele, simbolul și numărul de zecimale ale tokenului. Numai că aceste metadate erau generate automat după o regulă previzibilă, iar atacatorul știa exact ce valori vor apărea înainte ca transferul să ajungă la destinație. I-a fost de ajuns să le potrivească.

Singura barieră care ar fi oprit schema era o verificare de coliziune, un control care ar fi observat că noul token se înregistra pe adresa unui activ deja existent. O astfel de funcție exista în cod, scrisă și funcțională, ba chiar apelată corect în altă parte a aceluiași fișier. Doar că lipsea tocmai de acolo unde conta cel mai mult.

Retragerea perfectă și dispariția fondurilor

Cu registrul otrăvit, restul a fost o formalitate. Atacatorul a inițiat retragerile către Ethereum, puntea a căutat în registru, a găsit corespondențele corupte și a returnat adresele tokenurilor reale. Contractul a verificat semnăturile, le-a găsit valide, fiindcă erau cu adevărat valide, și a eliberat activele.

Peste 4,3 milioane de dolari în USDC, alte 434 de mii în USDT, în jur de 274 de unități WETH și 14,16 unități PAXG au plecat direct în portofelul atacatorului, fără nicio alarmă și niciun semnal de anomalie.

Ce a urmat este la fel de revelator ca atacul în sine. Atacatorul a convertit totul în ETH și a început să mute fondurile metodic, prin Tornado Cash, în depozite de câte 10 și 100 de unități, lot după lot, vreme de mai multe zile. Mixerul descentralizat nu cere identificare și nu lasă în urmă vreun custode care să poată fi citat în instanță. Traseul a rămas vizibil până la intrarea în mixer, însă acolo urma se oprește pur și simplu.

Primul care a tras semnalul de alarmă a fost analistul on-chain cunoscut drept Specter, chiar pe 29 mai. Firma de securitate PeckShield a confirmat suma la scurt timp, iar primele interpretări au indicat o compromitere a cheii de semnare, o concluzie rezonabilă dat fiind ce arăta partea de Ethereum. Nimeni nu se uitase încă pe partea Cosmos, acolo unde fusese pregătit terenul. Incidentul a fost preluat repede și de publicații internaționale precum Cointelegraph și The Block, în timp ce firma QuillAudits reconstituia ulterior mecanismul complet al exploatării.

Tăcerea de după și prețul ei

Răspunsul echipei Gravity Bridge a venit în două postări laconice pe 30 mai, care cereau validatorilor să își oprească nodurile și anunțau apoi că puntea fusese oprită. Cam atât. Nicio cifră, niciun detaliu tehnic, nicio recunoaștere a cronologiei pe care cercetătorii o asamblaseră deja la vedere.

Piața a reacționat previzibil. Tokenul GRAV a scăzut cu aproximativ patru procente la aflarea veștii, iar valoarea totală blocată în protocol s-a prăbușit cu 47 la sută într-o singură zi, de la aproape 12 milioane la puțin peste șase. Nu a apărut nicio recompensă white-hat care să tenteze atacatorul să returneze fondurile, niciun plan de compensare, niciun calendar de repornire. A rămas doar tăcerea și un anunț de oprire care, în lipsa oricărui plan de recuperare, seamănă mai puțin cu o pauză și mai mult cu un sfârșit.

Incidentul nu s-a petrecut într-un vid. Anul 2026 a fost dezastruos pentru infrastructura care leagă rețelele între ele. Până la jumătatea lui mai se înregistraseră deja opt exploatări majore de punți, totalizând peste 328 de milioane de dolari, printre care furtul unei chei de semnătură raportat tot în jurul Gravity și atacul asupra THORChain soldat cu zece milioane. Pe acest fundal, cele 5,4 milioane par aproape modeste. Ce distinge cazul nu este suma, ci felul în care mai multe scăpări mărunte s-au aliniat într-un singur dezastru.

Mihai Popa, analist și jurnalist crypto la Cryptology.ro, sublinia că adevărata întrebare nu este cum a găsit atacatorul breșa, ci cum au trecut trei ani fără ca altcineva să o descopere mai întâi, o lecție pe care o regăsești adesea și în ghidurile despre cele mai bune criptomonede și despre riscurile reale din spatele lor. Când singurul lucru care stătea între un șir de text fabricat și 5,4 milioane de dolari era un apel de funcție lipsă, era doar o chestiune de timp până când cineva avea să dea peste el.

Locul unde puntea a încetat să mai întrebe

Gravity Bridge nu a căzut fiindcă cineva a descoperit un bug strălucit. A căzut pentru că între o cale de intrare deschisă pe Ethereum și un procesator de confirmări pe Cosmos lipsea o verificare încrucișată esențială. Validatorii au atestat ceea ce au observat, calea de procesare a scris corespondența în memorie, semnăturile au fost valide, loturile legitime, activele reale.

Doar adevărul fusese falsificat la sursă. Atacatorul nu a avut nevoie să spargă nimic. A găsit doar locul unde puntea încetase să mai întrebe dacă ceea ce i se spunea era adevărat, iar acel loc stătea acolo, în văzul tuturor, încă de la bun început.

0 Shares
Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.

You May Also Like