Один из пользователей мошеннического проекта UniCats потерял $140 000 в токенах UNI, вложенных в него для фарминга. Разработчики UniCats внедрили дефект в смарт-контракт, чтобы контролировать токены даже после их вывода. Об этом сообщил исследователь из команды криптовалютного кошелька ZenGo Алекс Манускин.
Чтобы начать пользоваться платформой UniCats, от пользователя требуется разрешение на расходование неограниченного количества токенов. Учитывая, что подобные требования предъявляют многие проекты децентрализованных финансов (DeFi), пользователь принял эти условия. После фарминга некоторого количества токенов MEOW он вывел UNI из пула. Позднее выяснилось, что разработчики UniCats заложили в смарт-контракт «обходной путь», который позволял им управлять токенами даже в случае их вывода с платформы.
«Пользователь даже не подозревал, что получив разрешение расходовать неограниченное число активов, контракт может использовать их в любое время. Это возможно, даже если пользователь вывел токены из схемы доходного фермерства», – сказал исследователь ZenGo Манускин.
Благодаря «лазейке» в смарт-контракте, создателю UniCats удалось перехватить токены пользователя, совершив две транзакции на 26 000 UNI и 10 000 UNI на сумму $94 000 и $38 000. Затем злоумышленники обменяли полученные токены на 416 WETH.Таким образом мошенники получили как минимум $50 000 от других жертв. Точную сумму ущерба пользователей определить непросто, учитывая, что вывод криптоактивов совершался с помощью отдельных сделок.
Манускин сообщил, что впервые встречается с таким видом атак, используемых в пулах для фарминга. Исследователь привел в пример ситуацию с протоколом Bancor, когда из-за уязвимости в новой версии смарт-контракта пользователи потеряли токены BNT на сумму более $100 000. Однако в случае с Bancor речь идет об уязвимости, а разработчики UniCats умышленно встроили дефект алгоритма в смарт-контракт. Чтобы «замести следы», мошенники создавали дополнительный контракт для каждой жертвы, а для отмывания украденных токенов использовали криптовалютный миксер Tornado Cash, чтобы аналитическим компаниям было сложнее отследить средства.
Во избежание подобных потерь пользователям необходимо изучать условия работы смарт-контракта, давать разрешения только на те криптоактивы, которые они хотят потратить и не забывать отзывать такие доступы. Суть проблемы заключается в том, что пользователи дают разрешение на расход неограниченных сумм, что зачастую встречается в популярных децентрализованных приложениях. Однако приложения должны запрашивать разрешение только на расход необходимых сумм, даже если это не совсем удобно для пользователя. В свою очередь, криптовалютные кошельки должны уведомлять пользователей, что они позволяют использовать все текущие и будущие токены.
По данным CoinGecko, 40% участников фарминга в DeFi не способны самостоятельно оценить риски смарт-контрактов и полагаются на аудиторов, из-за чего подвергаются большим рискам.