Продажа, которую он не разглядел в подписи
Январь 2025. Пользователь из Еревана выставляет три CryptoPunks на Blur через флеш-сейл. Через несколько дней в Discord пишет «коллекционер» с «эксклюзивным предложением» и ведёт его на самодельный сайт «Blur Pro». Запрос там называется «принять бид». На самом деле он подписывает пачку ордеров на продажу: все три Панка по 0,1 ETH за штуку.
Атакующий мгновенно исполняет ордера. Три Панка при флоре 38 ETH уходят по 0,1 ETH каждый. Потеря: 113,7 ETH.
Чем опасна офчейн-подпись ордера
Blur, как и большинство NFT-маркетплейсов, позволяет выставлять лоты и делать ставки через офчейн-ордера EIP-712, а одобрение, выданное маркетплейсу при первом листинге, позволяет его контракту перевести NFT, когда ордер исполняется. При подписи в сеть ничего не отправляется. Мошенник, который уговорил вас подписать ордер на продажу по цене около нуля, просто исполняет его со своего кошелька, и контракт маркетплейса проводит сделку ровно так, как подписано.
Пять признаков
- Сайт подписи — не
blur.io. «Blur Pro», «Blur Plus», «Blur OTC» — всё фейк. Лотами и ставками управляют только наblur.io. - Цена ничтожна относительно флора. Реальные коллекционеры не пишут в личку с предложением 0,1 ETH за NFT с флором 38 ETH.
- Подпись выставляет на продажу ваши же NFT. Если в typed-data-запросе перечислены ваши Панки — или целая пачка ваших NFT — рядом с ценой около нуля, эксплойт происходит у вас на глазах.
- Срочность в личных сообщениях Discord. «Предложение истекает через 10 минут» — чтобы пропустить шаг проверки.
- Discord ID легко подделать. Мошенник может взять ник, отличающийся от ника команды Blur одним символом.
Чек-лист восстановления
Если подписали: на blur.io и на любом другом маркетплейсе, где у вас есть лоты, воспользуйтесь функцией отмены всех листингов и предложений. Это стоит газа, зато делает недействительными уже подписанные ордера. Параллельно переведите каждый NFT из пострадавшего кошелька на свежий, а затем отзовите одобрения маркетплейсов у старого кошелька на revoke.cash. Ничего больше не подписывайте, пока не разберётесь, что именно подписали.
Постоянная установка
Обращайтесь с каждой подписью на маркетплейсе как с контрактом в реальной жизни: прочитайте его, назовите контрагента, цену, срок. Если хотя бы один из трёх пробелов не заполнен — отказывайтесь.