Agregatorul Dexible piratat pentru 2 milioane USD prin funcția „selfSwap”.

Agregatorul de schimb multilanț Dexible a fost lovit de un exploit și, ca urmare, s-au pierdut criptomonede în valoare de 2 milioane de dolari, potrivit unui raport post-mortem din 17 februarie, publicat de echipă pe serverul oficial Discord al proiectului.

Începând cu ora 6:35 UTC pe 17 februarie, front-end-ul Dexible afișează un avertisment pop-up despre hack ori de câte ori utilizatorii navighează la acesta.

La 6:17 am UTC, echipa a raportat că a descoperit „un potențial hack asupra contractelor Dexible v2” și investighează problema. Aproximativ nouă ore mai târziu, a lansat o a doua declarație conform căreia știa că „2,047,635.17 USD au fost exploatate de la 17 adrese de comercianți. 4 pe mainnet, 13 pe arbitrum.”

Un raport post-mortem a fost emis la ora 4:00 UTC ca fișier PDF și a fost lansat pe Discord, iar echipa a spus că „lucrează activ la un plan de remediere”.

În raport, echipa afirmă că a observat că ceva nu era în regulă atunci când unul dintre fondatorii săi a scos din portofel criptomonul în valoare de 50,000 USD din motive necunoscute la acea vreme. După investigare, echipa a descoperit că un atacator a folosit funcția selfSwap a aplicației pentru a transfera criptografii în valoare de peste 2 milioane de dolari de la utilizatorii care autorizaseră anterior aplicația să-și mute jetoanele.

Funcția selfSwap a permis utilizatorilor să furnizeze adresa unui router și datele de apel asociate cu acesta pentru a schimba un token cu altul. Cu toate acestea, nu a existat o listă de routere preaprobate scrise în cod. Deci, atacatorul a folosit această funcție pentru a direcționa o tranzacție de la Dexible către fiecare contract de token, mutând jetoanele utilizatorilor din portofelele lor în propriul contract inteligent al atacatorului. Deoarece aceste tranzacții rău intenționate proveneau de la Dexible, pe care utilizatorii îl autorizaseră deja să-și cheltuiască jetoanele, contractele cu jetoane nu blocau tranzacțiile.

Related: Un influencer NFT este victima unui atac cibernetic și pierde 300 USD+ CryptoPunks

După ce a primit jetoanele în propriul contract inteligent, atacatorul a retras monedele prin Tornado Cash în BNB necunoscut (BNB) portofele.

Dexible și-a întrerupt contractele și a îndemnat utilizatorii să revoce autorizațiile de token pentru ei.

Practica obișnuită de autorizare a aprobărilor de token-uri pentru sume mari a dus uneori la pierderi pentru utilizatorii de criptomonede din cauza unor contracte greșite sau pur și simplu rău intenționate, determinând unii experți să avertizeze utilizatorii să revocați aprobările în mod regulat. Front-end-urile pentru majoritatea aplicațiilor Web3 nu permit utilizatorilor să editeze în mod direct cantitatea de jetoane aprobate, astfel încât utilizatorii își pierd adesea soldul complet al jetoanelor dacă o aplicație se dovedește a avea un defect de securitate. MetaMask și alte portofele au încercat să remedieze această problemă, permițând utilizatorilor să editeze aprobările token-ului la pasul de confirmare a portofelului, dar mulți utilizatori cripto nu sunt încă conștienți de riscul de a nu folosi această caracteristică.