Магия на блохчейне или BAYC airdrop
Данная заметка является переводом и адаптацией статьи The short analysis of the flashloan attack to the APE AirDrop, описывающей чудеса флеш-кредитов.
Как сообщил Уилл Шиэн, токен APE подвергся атаке со стороны MEVor. После анализа мы думаем, что из-за уязвимости процесс AirDrop токена APE учитывает только точечное состояние, которым может манипулировать злоумышленник.
В частности, злоумышленник может заимствовать токены BYAC, которые можно обменять на NFT, а затем использовать эти NFT для получения дропа. После этого злоумышленник минтит токены BYAC, используя BYAC NFT, чтобы вернуть флэш-кредит. Однако через этот процесс злоумышленник получил токены APE. Мы думаем, что это похоже на атаку манипулирования ценой на основе мгновенного кредита, когда контракт учитывает только спотовую цену актива (которой можно манипулировать).
Далее мы будем использовать атакующую транзакцию, чтобы проиллюстрировать этот процесс.
Шаг I: подготовьте NFT для комиссии flashloan (мгновенный кредит)
Злоумышленник перевел 1060 NFT в контракт атаки 0x7797. Обратите внимание, что этот NFT не заимствован из мгновенного кредита, а внесен в 106 ETH.
Шаг II: Займите токены BYAC через flashloan
Шаг III: Используйте NFT для получения токенов APE
Обратите внимание, что во время этого процесса у злоумышленника есть шесть NFT. Один — это 1060, которые он купил, и пять, которые были погашены с использованием заимствованных токенов BYAC (на этапе II). Всего он получает 60 564 токена APE.
Шаг IV: Сминтите NFT, чтобы получить токены BAYC
Злоумышленник выпустил шесть NFT, чтобы получить токены BAYC. Обратите внимание, что злоумышленник также создал свой собственный NFT (1060) для оплаты комиссий за быстрый кредит. Поскольку после выплаты флеш-кредита все еще остались токены BAYC (поскольку он выпустил свой собственный BAYC NFT 1060), злоумышленник обменял оставшиеся токены BAYC примерно на 14 ETH.
Выгода
В общей сложности злоумышленник получил 60 564 токена APE на сумму около 500 тысяч долларов США (на момент написания этого блога цена APE составляет 8 долларов США). Стоимость манипуляции составляет один NFT (106 ETH — 14 ETH), что составляет около 270 тысяч долларов США.
Уроки
Мы думаем, что проблема здесь в том, что токен APE учитывает только спотовое состояние, когда кто-то владеет NFT. Это уязвимость, поскольку злоумышленник может манипулировать состоянием спота с помощью flashloan. Если стоимость флэш-кредита меньше, чем стоимость токена, это создает возможность для атаки, которую мы и наблюдали.