Как я случайно нашел критический баг в минте стикеров @fuseПосле первого минта стикеров в
@fuse я решил заглянуть во внутрянку их контрактов, а именно сообщений, которые передаются при минте. Однако наткнулся на довольно серьезный баг.
Прикол в том, что сообщение минта весило 654 бита, из которых 512 бит приходилось на подпись. Для сравнения: адрес в TON занимает всего 267 бит.
Это означает, что контракт никак не проверял отправителя. Получалось, что любой MEV-бот мог перехватить твой запрос на минт, отправить его раньше и получить NFT себе. Стоимость атаки - 0.1 TON комиссии. Это классический пример фронтраннинга.
После обнаружения бага я сразу сообщил об этом нужным людям. На следующих минтаx проблема уже была закрыта, и контракт стал безопасным.
В итоге я случайно заметил критическую дыру и помог ее устранить до того, как кто-то реально мог эксплуатировать ее. Теперь минтить стикеры в
@fuse можно спокойно 🤟