Uno smart contract dell’applicazione di finanza decentralizzata (DeFi) SushiSwap è stato sfruttato la mattina di domenica 9 aprile, secondo gli sviluppatori. Lo sfruttamento riguarda il contratto “RouterProcessor2“, utilizzato per effettuare il routing degli scambi su SushiSwap. La società di sicurezza PeckShield ha segnalato un bug relativo alla funzione “approve” del contratto, causando una perdita di oltre 3,3 milioni di dollari.
Secondo diversi tweet di varie società di sicurezza, i 3,3 milioni di dollari apparterrebbero a un singolo utente, @0xsifu, un trader popolare nell’ecosistema Crypto Twitter e protagonista di altri drammi come il famoso caso QuadrigaCX, uno scambio canadese scomparso con 169 milioni di dollari di fondi.
Lo sviluppatore DefiLlama, @0xngmi, ha affermato che lo sfruttamento sembrava colpire solo gli utenti che avevano approvato i contratti SushiSwap negli ultimi 4 giorni.
Il responsabile dello sviluppo di SushiSwap, Jared Grey, ha chiesto agli utenti di revocare le autorizzazioni per tutti i contratti su SushiSwap come misura di sicurezza, aggiungendo che il team di SushiSwap stava lavorando con esperti di sicurezza per mitigare il problema.
La falla è stata implementata su più blockchain compatibili con EVM
PeckShield ha riferito che il contratto sfruttato era stato implementato su diverse catene, tra cui Ethereum (ETH), BNB Chain (BNB), Polygon (MATIC), Fantom (FTM) e Avalanche (AVAX). È possibile trovare su questo Github l’elenco preciso dei contratti da revocare.
L’analista Kevin Peng (The Block Research) ha riferito che 190 indirizzi Ethereum avevano approvato il contratto problematico e oltre 2000 indirizzi sul Layer 2 Arbitrum avevano autorizzato il contratto.
In seguito all’annuncio di questo sfruttamento, il token SUSHI è diminuito del 6% in 24 ore, raggiungendo $1,10 al momento della stesura.
La società di sicurezza informatica Ancilla ha fornito una spiegazione più tecnica di quanto accaduto, indicando che la causa principale risiedeva nella funzione interna “swap()” che chiamava “swapUniV3()” per impostare la variabile “lastCalledPool” al livello di storage 0x00. Successivamente, nella funzione “swap3callback”, il controllo delle autorizzazioni veniva eluso.
Riassunto: Una falla nel contratto RouterProcessor2 di SushiSwap ha provocato una perdita di 3,3 milioni di dollari per gli utenti, portando a una diminuzione del token SUSHI del 6%. Gli utenti sono invitati a revocare le autorizzazioni per tutti i contratti.