
Как сообщил Уилл Шиэн, токен APE подвергся атаке со стороны MEV-бота. После анализа мы пришли к выводу, что это связано с уязвимостью в процессе аирдропа токенов APE, который учитывает только текущее состояние (спотовое состояние), чем и воспользовался атакующий.
В частности, злоумышленник может взять во временное пользование (флеш-кредит) токены BAYC, которые можно обменять на NFT, а затем использовать эти NFT для получения аирдропа. После этого злоумышленник минтит (чеканит) токены BAYC, используя BAYC NFT, чтобы вернуть флеш-кредит. Однако в процессе этой операции злоумышленник успевает получить аирдроп токенов APE. Мы считаем, что это похоже на атаку по манипулированию ценой с использованием флеш-кредитов, когда контракт учитывает только спотовую цену актива (которой можно манипулировать).
Ниже мы используем транзакцию атаки, чтобы проиллюстрировать этот процесс.
Шаг I: подготовка NFT для оплаты комиссии по флеш-кредиту

Злоумышленник перевел 1060 NFT на контракт атаки 0x7797. Обратите внимание, что этот NFT не был взят в кредит, а был приобретен за 106 ETH.

Шаг II: получение токенов BAYC через флеш-кредит

Шаг III: использование NFT для получения токенов APE

Обратите внимание, что в ходе этого процесса у злоумышленника было шесть NFT. Один — это тот, который он купил (1060), и пять тех, что были получены с помощью токенов BAYC, взятых в кредит (в шаге II). В общей сложности он получил 60 564 токена APE.
Шаг IV: чеканка (минтинг) NFT для получения токенов BAYC

Злоумышленник сминтил шесть NFT, чтобы получить токены BAYC обратно. Заметьте, что злоумышленник также сминтил свой собственный NFT (1060), чтобы оплатить комиссии за флеш-кредит. Поскольку после возврата флеш-кредита остались токены BAYC (так как он добавил свой собственный BAYC NFT 1060), злоумышленник обменял оставшиеся токены BAYC примерно на 14 ETH.

Прибыль
В общей сложности злоумышленник получил 60 564 токена APE, что на момент написания этого блога составляло около 5 млн долларов США. Расходы составили один NFT (106 ETH - 14 ETH), что эквивалентно примерно 270 тысячам долларов США.
Выводы
Мы считаем, что проблема заключается в том, что аирдроп токенов APE учитывает только спотовое состояние — то есть владеет ли кто-то этими NFT на данный момент. Это ненадежно, поскольку злоумышленник может манипулировать состоянием с помощью флеш-кредита. Если стоимость флеш-кредита меньше, чем стоимость токенов аирдропа, это создает возможность для атаки, что и было продемонстрировано в данном случае.
Благодарности
Спасибо Уиллу Шиэну, который сообщил об этой транзакции.
О компании BlockSec
BlockSec — передовая компания в области безопасности блокчейна, основанная в 2021 году группой всемирно признанных экспертов по безопасности. Компания стремится повысить безопасность и удобство использования для развивающегося мира Web3, чтобы способствовать его массовому внедрению. Для этого BlockSec предоставляет услуги по аудиту смарт-контрактов и EVM-сетей, платформу Phalcon для разработки безопасности и проактивного блокирования угроз, платформу MetaSleuth для отслеживания и расследования финансовых потоков, а также расширение MetaDock для эффективной работы Web3-разработчиков в криптомире.
На сегодняшний день компания обслужила более 300 уважаемых клиентов, таких как MetaMask, Uniswap Foundation, Compound, Forta и PancakeSwap, и получила десятки миллионов долларов США в двух раундах финансирования от ведущих инвесторов, включая Matrix Partners, Vitalbridge Capital и Fenbushi Capital.
Официальный сайт: https://blocksec.com/
Официальный аккаунт в Twitter: https://twitter.com/BlockSecTeam



