Содержание статьи:
- Всего лишь арбитраж
- Соснули не все
Суть: Опытный фермер использовал flash loans, чтобы украсть $33.8 млн. из пулов FARM/USDT и FARM/USDC. (перевод статьи)
Всего лишь арбитраж
В течение двух часов, во время которых хакер взял $50 млн. USDT в качестве flash loan, fUSDT упал на 13.7% и $FARM упал на 67%. Затем он использовал Y pool на Curve Finance, чтобы свапнуть средства и растянуть цены стейблкоина в соответствующей пропорции.
Детальный анализ транзакций вот здесь.
В течение 7 минут были осуществлены следующий действия: (Спасибо @valentinmihov за информацию)
- Свап $11.4 млн. USDC to USDT -> цена USDT растет
- Депозит $60 млн. USDT в Vault
- Обмен $11.4 млн. USDT на USDC -> цена USDT падает
- Вывод $61.1 млн. USDT из Vault -> профит $0.5 млн.
- Отмыть и повторить 32 раза (без какого-либо тестирования)
- Сконвертить в renBTC и выйти в BTC/ETH через Tornado Cash
Хакер смог вывести больше USDT на шаге №4 из-за измененной цены USDT. Поскольку цена USDT была меньше на момент вывода, части пула соответствовали большему количеству USDT. Примерно 4 цикла вписывается в 10 млн. Gas Limit. И несмотря на то, что каждый цикл дает менее 1% профит, $500k в сумме набегает очень быстро.
Уязвимостью, которую атаковал хакер, была именно в механизме калькуляции цены для ввода/вывода из Liquidity пулов. Это значит, что можно было продолжить атаку и на пулы renBTC, FARM/TUSD и FARM/DAI. Хакер остановился получив $25 млн. или 17% пулов FARM/USDT и FARM/USDC, хотя мог с легкостью продолжить и забрать все $400 млн.
Что говорит о том, что считался какой-то ценовой индекс. Но поскольку они указали «tokenIndex», можно заключить, что они не просто использовали get_virtual_price(), но делали какие-то внутренние вычисления.
Уровень толерантности функции проверки на арбитраж была не слишком высокой, но уровень толерантности дефолтного слипеджа в 3% — слишком высок.
Соснули не все
Не только хакер получил профит. Liquidity пулы и разработчики Harvest в накладе не остались и получили от хакера «чаевые». Harvest заявили, что эти средства будут возвращены пострадавшим юзерам.
- Хакер получил — $24,000,000
- Uniswap пулы — $6,000,00
- Разработчики Harvest — $2,500,000
- Curve пулы — $1,000,000
- Ethereum Gas — $100,000
- RenVM комиссии $20,000
Холдеры токенов veCRV, участвуя в пулах также получили профит с экстра объема, который прошел через Curve. Хакер сгенерировал $500k торговых комиссий, которые были распределены среди тех, кто стейкал CRV. Трейдинг комиссии Curve выросли на 8000% так как хакер свапнул около $100 млн. в USDT и USDC.
У пулов Uniswap также был урожайный день благодаря неизвестному супер-фармеру. 92% объема прошло через пары USDT/ETH и USDC/ETH, сгенерировав $5.76 vky/ комиссий для предоставляющих ликвидности пользователей.
Благодаря этому объем торгов на Uniswap за 24 часа вырос с $148 млн. до $2 млрд., о чем мы писали.
Всем хорошего дня, подписывайтесь на наш Telegram и YouTube, чтобы ничего не пропустить.