Белые хакеры обнаружили уязвимость на SushiSwap, которая стоила бы $350 млн

Группа исследователей во главе с партнером крипто-инвестиционной фирмы Paradigm Сэмом Саном, обнаружила критическую уязвимость на платформе по сбору средств Miso, которая принадлежит бирже SushiSwap. Если бы о ней узнали хакеры, то смогли бы украсть 109000 ETH (более $350 млн). Ошибка была исправлена менее чем за пять часов.

Ошибка содержалась в контракте Dutch auction (голландский аукцион). На голландском аукционе пользователи делают ставки в максимальной сумме, которую они готовы заплатить. Победителем объявляется самая высокая ставка, а не победившие ставки возвращаются владельцам. Уязвимость позволяла делать ставки без использования средств.

«Ошибка проявлялась, когда функция для адресов кошельков взаимодействовала с механизмом возмещения по контракту аукциона, — объяснил Дункан Таунсенд, технический директор Immunefi. — Злоумышленник мог бы выставить любую превосходящую цену и получить возмещение разницы, но это возмещение могло повторяться снова и снова, до полного истощения контракта аукциона».

Исследователи отметили, что один из наиболее важных уроков, которые следует извлечь из этого открытия, заключается в том, что даже «безопасные компоненты кода в различных комбинациях способны сделать что-то небезопасное».

Смарт-контракты, лежащие в основе DeFi, словно «компонуемые» блоки конструктора Lego, которые можно использовать по-разному для создания новых контрактов и протоколов. Но способ объединения этих блоков может иметь катастрофические последствия, даже когда программисты используют по своей сути безопасные отдельные компоненты.

Компания SushiSwap отметила, что ошибка была найдена своевременно, поэтому никакие средства не украдены, а все аукционы голландского формата не будут запускаться до тех пор, пока смарт-контракт не пройдет обновление.