Back to Blog

Краткий анализ флешлон-атаки на APE Airdrop

Code Auditing
March 17, 2022
3 min read
(изображение из Создатели Bored Ape Yacht Club представили криптотокен ApeCoin (lifestyleasia.com))
(изображение из Создатели Bored Ape Yacht Club представили криптотокен ApeCoin (lifestyleasia.com))

Как сообщил Уилл Шиэн, токен 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

Best Security Auditor for Web3

Validate design, code, and business logic before launch. Aligned with the highest industry security standards.

BlockSec Audit