Gli yield farmer in cerca di guadagni veloci sono stati ingannati da un dubbio protocollo DeFi chiamato UniCats, uno schema di yield farming simile a progetti più famosi come SushiSwap o Yam Finance.

Secondo Alex Manuskin, ricercatore presso ZenGo, almeno uno dei suoi utenti ha perso oltre 140.000$ in UNI, il token di Uniswap, nonostante avesse rimosso i fondi dal protocollo. Altri utenti hanno perso circa 50.000$ in più, ha rivelato Manuskin a Cointelegraph.

Questi utenti sono caduti vittima di una pratica pericolosa piuttosto comune nella finanza decentralizzata. La maggior parte dei protocolli DeFi richiede l’autorizzazione a prelevare quantità illimitate di un particolare token dal wallet del cliente. Come già segnalato da Cointelegraph, app decentralizzate come Compound, Uniswap, Kyber e altre spesso richiedono autorizzazioni per prelievi illimitati. Questo permette agli smart contract di trasferire l’intero saldo di un determinato token per conto del proprietario di ciascun wallet.

Alcuni wallet consentono agli utenti di regolare manualmente la quantità approvata, anche se generalmente questo parametro viene impostato di default come il valore massimo possibile.

Così è stato con UniCats, ha spiegato Manuskin:

“Non solo l’intero progetto si è rivelato un rug pull e una truffa, sta anche cercando di sottrarre tutti i token approvati degli utenti.”

Lo smart contract di UniCats conteneva una funzione “setGovernance” nascosta, che consente al suo proprietario di richiamare qualsiasi funzione a nome del contratto. Dato che gli utenti hanno concesso approvazioni infinite a questo smart contract, lo sviluppatore è riuscito a prosciugare la totalità dei saldi UNI dei suoi utenti.

I token sono stati venduti immediatamente per Ether (ETH), inviato poi a Tornado Cash per il mixing, portando molti a chiedersi se queste azioni fossero premeditate.

L’incidente sottolinea l’importanza del delegare fondi solo a progetti verificati e affidabili. Sulla scia della mania di yield farming, sono stati lanciati molti progetti meno conosciuti in questo ambito per capitalizzare sul trend. Sfortunatamente, spesso si sono rivelati una completa truffa, con diversi tipi di backdoor. Molti yield farmer hanno subito “rug pull” e i loro fondi sono stati prosciugati in simili incidenti.

In passato, gli  “sviluppatori” si limitavano solitamente ai token forniti al protocollo. Nel caso di UniCats, la differenza sta nel meccanismo dell’approvazione infinita, che consente allo smart contract di prelevare ogni singolo token nel wallet dell’utente, per sempre. Il wallet diventa completamente compromesso finché l’approvazione non viene revocata, quindi qualsiasi nuovo token inviato all’indirizzo può essere rubato nello stesso modo.

Il meccanismo di approvazione è necessario a causa di un limite dello standard ERC-20 usato per i token basati su Ethereum. Le dApp e gli smart contract non sono in grado di rilevare se un utente ha trasferito o meno fondi al contratto. Di conseguenza, lo smart contract li trasferisce a nome dell’utente, processo che richiede un’approvazione preimpostata. Standard più recenti come l’ERC-777 risolvono questa pecca, ma questo tipo di token presenta ancora vulnerabilità e può comunque essere oggetto di furti.

Spesso le approvazioni infinite vengono concesse perché così facendo gli utenti risparmiano tempo e commissioni, in quanto non devono approvare ogni transazione separatamente. Tuttavia, come dimostrato a giugno dalla vulnerabilità di Bancor, qualsiasi compromissione futura di uno smart contract rende i suoi utenti vulnerabili ai furti, anche se non interagiscono con il protocollo da tempo.