BAYC NFT ApeCoin Check Point Research
Злоумышленники заработали миллионы долларов с помощью NFT-токенов, которыми они не владели.
NFT-коллекция Bored Ape Yacht Club (BAYC) представила для своих членов собственную криптовалюту — ApeCoin. Владельцы NFT-токенов Bored Ape Yacht Club или Mutant Ape Yacht Club могли претендовать на определенное количество бесплатных токенов. После подачи заявки инвесторы могли либо продать активы и получить прибыль, либо оставить их себе.
После запуска криптовалюты было продано и разослано 93 млн токенов, что привлекло внимание многих злоумышленников и хакеров. Каждый владелец BAYC получил 10 094 токена стоимостью от $80 тыс. до $200 тыс.
Исследователи из Check Point Research обнаружили свидетельства того, что злоумышленники могут заявить права на аирдроп токенов (бесплатную раздачу), используя NFT, которыми они изначально не владели. Хакеры использовали аирдроп для получения большого количества токенов с помощью так называемой атаки flash loan (флэш-кредит).
Флэш-кредит — метод кредитования и возврата кредита за одну транзакцию в сети блокчейн. На практике заемщик должен вернуть кредит до окончания блока (что занимает несколько секунд), а если этого не сделать, кредит не будет выполнен, и деньги вернутся кредитору. В отличие от обычного кредита, пользователю не нужен залог и не нужно проходить процесс идентификации. Процесс заимствования и кредитования автоматизирован. В случае успеха и кредитор, и заемщик получают выгоду от кредита. Если что-то пойдет не так, транзакция отменяется, и ни одна из сторон не получает прибыли.
Разница в цене токенов на разных биржах дает трейдерам небольшое окно для быстрого получения прибыли. Трейдеры используют флэш-кредит с целью купить монеты по низкой цене на одной бирже и продать их по более высокой цене на другой бирже, получая быструю прибыль и выплачивая кредит в той же транзакции.
Злоумышленники, использующие флэш-кредиты, находят способы манипулировать рынком, соблюдая при этом правила блокчейна. Хакеры обманом заставляют кредитора поверить в то, что кредит полностью погашен, даже если это не так. В некоторых случаях злоумышленники используют уязвимости в смарт-контрактах.
Все, что нужно сделать злоумышленнику, — найти BAYC NFT, которые не использовались для получения токена в ходе аирдропа, и использовать протокол под названием NFTX. Протокол NFTX позволяет пользователям вносить свои NFT в хранилище, а взамен чеканить токен, которым можно торговать на таких платформах, как Sushi, Uniswap и Bancor.
Злоумышленник купил токен ape 1060 на OpenSea, чтобы использовать флэш-кредит протокола NFTX. Затем с помощью флэш-кредита преступник позаимствовал большое количество токенов NFTX. Хакер использовал NFT, чтобы получить 60 564 ApeCoin, вернуть NFT в NFTX и погасить кредит, и все это за одну транзакцию.
Основная ошибка заключалась в том, что аирдроп ApeCoin не проверял, как долго у держателя были NFT-токены Bored Ape. Вместо этого на него мог претендовать любой владелец токена на момент получения аирдропа. Все, что нужно сделать злоумышленнику, — это завладеть им на короткое время и принять участие в аирдропе.
В контракте AirdropGrapesToken функция ClaimableTokens() вызывает функцию getClaimableTokenAmountAndGammaToClaim(), чтобы рассчитать количество ApeCoin на основе того, сколько NFT есть у вызывающей стороны, и не учитывает, как долго вызывающая сторона владеет этими NFT.
SECURITYLAB.RU