🧵1/ ⚠️ Analisi dell'Exploit: $80M di perdita nell'attacco a Resolv Labs Oggi, @ResolvLabs è stata sfruttata a causa di un fallimento nel suo meccanismo di validazione dei parametri centralizzati. Con solo ~$200K di capitale, l'attaccante ha coniato 50M e 30M di USR utilizzando $100K di USDC ciascuno, portando a una perdita totale di circa $80M. Dopo l'incidente, il stablecoin $USR è brevemente sceso a $0.051.
🧵2/ Meccanismo di attacco La funzione completeSwap nel contratto #TheCounter di Resolv Labs consente di determinare l'importo di $USR coniato tramite il parametro _targetAmount.
🧵3/ La funzione completeSwap verifica che l'indirizzo del chiamante (msg.sender) debba detenere il SERVICE_ROLE. Ciò significa che dopo che un utente invia una transazione di scambio, il team del progetto deve eseguire una validazione centralizzata dei parametri come _targetAmount, e solo dopo aver confermato la correttezza chiameranno questa funzione per completare la transazione. Sulla base delle due transazioni di attacco, $100K USDC corrispondevano a valori di _targetAmount di 50M e 30M USR, rispettivamente. È evidente che il meccanismo di validazione di _targetAmount del progetto ha fallito. Poiché la validazione di _targetAmount è centralizzata e non open-source, la causa principale non può essere determinata in questa fase. Non si possono escludere possibilità come coinvolgimento di insider, compromissione del sistema centralizzato o fuga della chiave privata del SERVICE_ROLE.
2/ Meccanismo di attacco La funzione completeSwap nel contratto #TheCounter di Resolv Labs consente di determinare l'importo di $USR coniato tramite il parametro _targetAmount.
2,28K