В популярном DeFi-протоколе SushiSwap найдена новая критическая уязвимость, которая позволяет пользователям оставлять за собой право голоса, даже после передачи своих токенов другому лицу. Данными об ошибке поделился разработчик Чонг Сок Парк, саму же уязвимость можно охарактеризовать, как двойную трату средств управления.
По сути, механизм управления SushiSwap позволяет держателям токенов делегировать свое право голоса другому лицу. Однако, если этот владелец токена затем передает токены кому-то другому, делегат по-прежнему сохраняет свои полномочия по управлению. Второй держатель токенов теперь может снова делегировать токены, умножая полномочия делегата настолько, насколько это необходимо. Ошибка заключается в том, что передача токенов не сбрасывает параметры делегирования, и это, скорее всего, является результатом объединения кодовых баз из разных проектов.
Контракты управления протоколом SushiSwap в значительной степени являются ответвлением Defi-протокола Yam, а те в свою очередь являются ответвлением Compound. Однако, изучая исходный код SushiSwap на Github, кажется, что смарт-контракт токена только модифицировал функцию «mint» из стандартной реализации контрактов ERC-20 OpenZeppelin. Yam, с другой стороны, использовал конкретную реализацию стандарта, которая имеет функцию «moveDelegates», вызываемую при передаче.
По словам генерального директора FTX, а ныне руководитель проекта SushiSwap Сэма Бэнкман-Фрида в протоколе действительно имеется данная ошибка. Тем не менее по его словам «это не представляет серьезной проблемы для Sushi», поскольку управление еще не активировано.
Выявление ошибки перед выпуском означает, что теперь команда может работать над решениями, чтобы исправить ее. Сэм Бэнкман-Фри считает, что эту проблему можно решить без необходимости переноса проекта на новые контракты, тем не менее команда «все еще занимается этим».
Стоит отметить, что протокол SushiSwap прошёл аудит сразу в нескольких компаниях и данная ошибка выявлена не была. Это не первый случай, когда аудиты не смогут обнаружить некоторые серьезные проблемы в протоколе, подчеркивая необходимость участия всего сообщества разработчиков для обеспечения безопасности смарт-контрактов DeFi.
Не все DeFi-протоколы сталкиваются с такого рода проблемами. Так основатель Yearn.finance и разработчик протокола YFI Андре Кронье недавно опубликовал аудит безопасности своего проекта, который провели 5 независимых компаний. Критических проблем при этом обнаружено не было
Discussion about this post