Overview

Alcuni pool di Curve factory, gestiti da AlchemixFi e JPEG'd, sono stati vittime di exploit a causa di una grave falla nel linguaggio di programmazione Vyper. Vyper è un linguaggio di smart contract che condivide alcune somiglianze con Python.

Da alcune fonti risulta che esistono versioni del compilatore Vyper che non hanno adeguatamente implementato una protezione contro le attacchi di re-entrancy, mettendo così a rischio diversi progetti.

In particolare, gli attaccanti hanno sfruttato questa vulnerabilità per sfruttare i pool di Curve factory gestiti da AlchemixFi e JPEG'd. Questi pool probabilmente non avevano una protezione sufficiente contro gli attacchi di re-entrancy, consentendo agli attori malintenzionati di manipolare gli smart contract e sottrarre fondi o intraprendere altre attività illecite.

Annuncio di Vyper In un recente tweet, Vyper ha annunciato la vulnerabilità di alcune versioni e ha consigliato ai progetti dipendenti da tali versioni di contattarli tempestivamente.

PSA: Vyper versions 0.2.15, 0.2.16 and 0.3.0 are vulnerable to malfunctioning reentrancy locks. The investigation is ongoing but any project relying on these versions should immediately reach out to us.

— Vyper (@vyperlang) July 30, 2023

A seguito dell’hack, AlchemixFi ha subito perdite di circa $13 milioni, JPEG'd ha subito una perdita di $11 milioni, MetronomeDAO ha subito un danno di $1.6 milioni, mentre Ellipsis Finance e Debridge Finance hanno subito perdite di circa $68,600 e $24,600, rispettivamente.

#PeckShieldAlert There are $26.76M exploited so far from @AlchemixFi, @JPEGd_69, @MetronomeDAO, @DebridgeFinance and @Ellipsisfi pic.twitter.com/SXGG9m9Nww

— PeckShieldAlert (@PeckShieldAlert) July 30, 2023


La beffa è che Vyper è stato sviluppato con l'obiettivo principale di migliorare lo sviluppo di smart contract, dando priorità alla sicurezza promuovendo semplicità e chiarezza nella sua sintassi. Con un'enfasi sulla leggibilità e evitando funzionalità complesse, in questo modo Vyper dovrebbe ridurre significativamente il rischio di errori e vulnerabilità potenziali, garantendo infine un ambiente più sicuro per i protocolli DeFi.

Queste caratteristiche hanno portato alla diffusa adozione di Vyper come linguaggio affidabile e user-friendly per la creazione di smart contract sicuri e verificabili sull'EVM.

L'attacco di re-entrancy su Curve Finance tramite exploit di Vyper.



Vyper smart contract
https://etherscan.io/address/0x8301ae4fc9c624d1d396cbdaa1ed877821d7c511#code
Questo problema di re-entrancy è legato all'utilizzo di 'use_eth', una situazione che potrebbe mettere a rischio i pool correlati a WETH.


parte vulnerabile



Gli attacchi sono iniziati intorno alle 9:30 del mattino ora di New York, partendo con l’exploit del pool di liquidità pETH-ETH di JPEG'd, con una perdita di oltre 11 milioni di dollari. Tuttavia, è possibile che ciò sia stato effettuato da un cercatore di MEV (Value Estraction Maximizer).

Inoltre, altri quattro attacchi, potenzialmente eseguiti da attori diversi, hanno preso di mira vari pool: il pool alETH-ETH di Alchemix, il pool CRV/ETH (due volte), il pool pETH-ETH di Pendle e il pool msETH-ETH di Metronome, con una perdita combinata di oltre 70 milioni di dollari. Alcuni di questi attacchi sono stati riportati come eseguiti da hacker whitehat, il che significa che l'ammontare totale delle perdite potrebbe essere più vicino ai 50 milioni di dollari.

MetronomeSearcherOrExploiter



AlchemixExploiter


JPEGd pETH Exploiter 1


JPEGd pETH Exploiter 2


Verso le 16:30 ET, una dichiarazione sul Discord di Curve da parte del rappresentante del team "mimaklas" ha menzionato che "tutti i pool interessati sono stati svuotati o hackerati da white hat". Hanno rassicurato che tutti gli altri pool rimanenti erano sicuri e non erano stati influenzati dal bug. Tuttavia, un rappresentante di Curve ha rifiutato di commentare.

Nonostante queste dichiarazioni pubbliche, gli attacchi potrebbero ancora essere in corso. Solo due ore dopo il messaggio di mimaklas, un altro attacco al pool CRV-ETH ha portato a un ulteriore svuotamento di 5,2 milioni di dollari.

Con 3 miliardi di liquidità, Curve detiene la posizione del secondo exchange decentralizzato (DEX) più grande e significativo in DeFi. Gioca un ruolo cruciale nei mercati di swap di stablecoin, che fortunatamente non sono stati colpiti dagli attacchi. A seguito delle violazioni della sicurezza, il token di governance e premi CRV di Curve ha subito una riduzione del 13,4%, scendendo a $0,64, dopo essere sceso fino a $0,58 in precedenza durante la giornata.

Bug Zero-Day e Sfruttamento degli Smart Contract

La vulnerabilità era legata al meccanismo di prevenzione della reentrancy, che non ha funzionato come previsto. Gli attacchi di reentrancy sono un metodo ben noto utilizzato dagli attaccanti per sfruttare gli smart contract.

A seguito della divulgazione della vulnerabilità, ci sono stati dei tentativi di scaricare la responsabilità tra i team di sviluppo coinvolti. L'account Twitter ufficiale di Curve ha inizialmente indicato i creatori di JPEG'd come responsabili dell'exploit, ma il team di JPEG'd si è difeso. È importante notare che Curve ha sostenuto il team di Vyper finanziando lo sviluppo e partecipando attivamente alla manutenzione del codice Vyper.

Pause e Sfruttamenti del Contratto di Alchemix

Uno dei protocolli significativamente colpiti dall'attacco è stato Alchemix. Di conseguenza, Alchemix ha sospeso diversi contratti per impedire all'attaccante di scambiare alETH (un derivato di ether sintetico) con ETH nativo. Questo includeva un ponte verso Optimism, dove l'AMM Velodrome deteneva 4,4 milioni di dollari di liquidità in un pool alETH, e il contratto "transmuter", che facilitava scambi di 1-a-1 di alETH per ETH.

Gli attaccanti sono riusciti a prendere 5.000 ETH dal pool alETH-ETH, lasciando potenzialmente l'asset alETH parzialmente non coperto. Tuttavia, l'estensione del danno è incerta, poiché alcuni degli attacchi potrebbero essere stati operazioni di whitehat (hacking etico per scoprire vulnerabilità). In un caso, un utente non correlato agli exploit iniziali ha approfittato della vulnerabilità per scambiare 5 ETH con 1200 alETH, trasferendoli successivamente a un altro indirizzo per venderli.

Al momento dell'incidente, il valore di mercato di alETH era di $1.476 rispetto a ETH nativo valutato a $1.887, suggerendo una mancanza di copertura del 22%. La capitalizzazione di mercato totale di alETH era di $68 milioni, con $38 milioni solo sulla mainnet di Ethereum. A seguito dell'exploit, il token di governance di Alchemix, ALCX, ha subito una diminuzione del valore del 7%.

Preoccupazioni per Contagio ed Effetti a Catena

Oltre ai danni economici diretti causati dagli attacchi, gli osservatori sono preoccupati per i potenziali effetti a catena sull'ecosistema DeFi. Un'area di particolare preoccupazione riguarda un prestito di $60 milioni di Michael Egorov, fondatore di Curve Finance, presso Aave V2. Questo prestito si basa pesantemente sui token CRV, e il suo valore supera quello che il protocollo potrebbe liquidare prontamente, sollevando preoccupazioni sulla possibilità di debiti inesigibili.

Tuttavia, la posizione di Egorov sembra attualmente stabile dopo aver aggiunto collaterale al protocollo e aver estinto una parte significativa del debito.

Potenziali Sforzi di Recupero

A seguito degli attacchi, alcune delle fondi rubati, non sottratti da hacker whitehat, sono stati recuperati. Tre dei cinque exploit sono stati front-run da MEV (Miner Extractable Value) searchers. In particolare, gli attacchi al pool pETH-ETH, al pool msETH-ETH e al secondo attacco al pool CRV-ETH sono stati front-run da un account chiamato coffeebabe.eth, noto per utilizzare strategie MEV.

L'indirizzo di coffeebabe.eth è rimasto attivo durante la crisi ed ha effettuato diverse operazioni, incluso il front-running degli attacchi. Interessante notare che ci sono indicazioni che i front-run potrebbero essere stati azioni autonome dell'account, senza alcun coinvolgimento attivo o conoscenza da parte del proprietario dell'account. Curve ha comunicato con coffeebabe.eth su-chain, e l'account ha espresso l'intenzione di spostare i fondi sfruttati in storage a freddo e restituirli alle parti interessate, dimostrando una volontà di assistere negli sforzi di recupero.

Conclusione

L'incidente ha sollevato preoccupazioni all'interno della comunità di sviluppatori di blockchain e smart contract, spingendo gli sviluppatori a esaminare più attentamente le loro codebase e sottolineare l'importanza di rigorose verifiche di sicurezza. Inoltre, sottolinea la necessità di miglioramenti continui e di vigilanza nei linguaggi di programmazione come Vyper, garantendo che eventuali falle siano prontamente identificate e affrontate per mantenere l'integrità dei sistemi e delle applicazioni finanziarie decentralizzate.