DeFi Mark: Safemoon взломали на $8.9 миллионов
Ошибка в коде Safemoon привела к потере $8.9 миллионов. Пользователи могли сжигать токены с любого адреса.
Пользователь Твиттера DeFi Mark (@MoonMark_) сообщил об уязвимости Safemoon.
Контракт Safemoon был взломан. Токен потерял $ 8.9 миллионов. Причиной стала простая ошибка - использование функции типа public вместо private.
Функция public burn() позволила любому пользователю с любого адреса сжигать монеты SFM.
Что сделал мошенник? Он удалял токены SFM из пула SFM-WBNB. Так он завысил курс Safemoon. Затем он продал монеты SFM в тот же пул по завышенному курсу.
Вот полный текст объяснения от DeFi Mark:
Safemoon только что взломали на $8.9 миллиона.
После двух минут просмотра нового контракта Safemoon я смог определить чрезвычайно очевидную уязвимость.
Атакующий использовал функцию public burn(), эта функция позволяют любому юзеру сжигать токены с ЛЮБОГО другого адреса (код прилагается).
Атакующий использовал эту функцию, чтобы удалить токены SFM из пула ликвидности Safemoon-WBNB, искусственно завышая цену SFM.
Затем у атакующего появилась возможность продать SFM в этот LP (прим.: пул ликвидности) по резко подскочившему курсу внутри той же транзакции, "вымывая" оставшиеся в пуле ликвидности WBNB.
Это невероятно простая уязвимость, жертвами которой пали многие контракты в пространстве.
Пожалуйста, не позволяйте какому-либо пользователю сжигать токены с какого-либо адреса, это плохая идея.
