Сложная атака на Aevo-rebrand Ribbon Finance вывела 2,7 миллиона $ из старого контракта и перевела их на пятнадцать отдельных адресов кошельков, некоторые из которых уже были объединены в более крупные счета.
По данным нескольких исследователей блокчейна на социальной платформе X, атака произошла всего через шесть дней после того, как платформа обновила свою инфраструктуру оракула и процедуры создания опционов. Они использовали смарт контракт для извлечения сотен токенов Ethereum и других цифровых активов.
В треде, объясняющем эксплойт, аналитик безопасности Web3 Лийи Чжоу сказал, что злонамеренный контракт манипулировал стеком оракула Opyn/Ribbon, злоупотребляя прокси-серверами ценовых фидов, и внедрил произвольные цены истечения для wstETH, AAVE, LINK и WBTC в общий оракул с общей временной меткой истечения.
"Атакующий разместил крупные короткие позиции oToken против MarginPool Ribbon Finance, который использовал эти поддельные цены истечения в своем конвейере расчетов и перевел сотни WETH и wstETH, тысячи USDC и несколько WBTC на адреса кражи через транзакции redeem и redeemTo", - объяснил Чжоу.
За шесть дней до атаки команда Ribbon Finance обновила ценообразование оракула для поддержки 18 десятичных знаков для stETH, PAXG, LINK и AAVE. Однако другие активы, включая USDC, все еще имели восемь десятичных знаков, и по словам Чжоу, расхождение в десятичной точности способствовало уязвимости, которая была использована в пятницу.
По словам анонимного разработчика под именем Вейлин на X, создание самих oTokens не было незаконным, поскольку каждый базовый токен должен быть внесен в белый список, прежде чем он будет использован в качестве залога или страйк-актива, процедуру, которой атакующий следовал буквально.
Злонамеренная деятельность началась с создания плохо структурированных опционных продуктов, где один продукт состоял из колл-опциона stETH со страйком 3 800 USDC, обеспеченного WETH, со сроком истечения 12 декабря. Затем атакующий создал несколько oTokens для этих опционов, которые позже были использованы для вывода средств из протокола.
Атака включала повторные взаимодействия с прокси-админ контрактом по адресу 0x9D7b…8ae6B76. Некоторые функции, такие как transferOwnership и setImplementation, использовались для манипулирования прокси-серверами ценовых фидов через делегированные вызовы. Хакер вызвал реализацию для оракула, чтобы установить цены истечения активов с одинаковой временной меткой, вызывая события ExpiryPriceUpdated, которые подтверждали мошеннические оценки.
Манипулированные цены заставили систему распознать stETH как значительно превышающий цену страйка и сожгли 225 oTokens, что дало 22.468662541163160869 WETH. В общей сложности хакер извлек примерно 900 ETH с помощью этого метода.
Фирма по безопасности Web3 Spectre обнаружила первоначальные переводы на адрес кошелька 0x354ad…9a355e, но оттуда деньги были распределены на 14 дополнительных счетов, многие из которых содержали около 100.1 ETH каждый. Некоторые из украденных средств уже попали в то, что Чжоу назвал "TC" или пулами консолидации казначейства.
По словам разработчика Monarch DeFi Антона Ченга, поддерживаемое Coinbase децентрализованное приложение Opyn не было скомпрометировано, как об этом ходили слухи в Crypto Twitter.
Ченг объяснил, что взлом Ribbon Finance был осуществлен с помощью обновленного кода оракула, который непреднамеренно позволял любому пользователю устанавливать цены для вновь добавленных активов. Он отметил, что атака началась с подготовительной транзакции для "подготовки сцены" путем генерации плохо структурированных oTokens с законными залоговыми и страйк-активами. Он продолжил, сказав, что поддельные токены позволили хакеру выбирать известные базовые активы, такие как AAVE, чтобы избежать привлечения внимания и пометки.
Затем хакер настроил три "субсчета", каждый из которых вносил минимальный залог для создания всех трех опционов. Все субсчета были отмечены как тип 0, что означает, что они были полностью обеспечены залогом, но отсутствие максимального лимита выплат для каждого счета или oToken помогло преступнику выводить активы без каких-либо ограничений.
В системах Gamma от Opyn базовый актив должен соответствовать залогу для колл-опционов и страйку для путов, чтобы продавцы были полностью обеспечены залогом. Если оракул скомпрометирован, только продавцы этого конкретного продукта должны пострадать.
Однако в данном случае комбинация создания новых oToken и манипулированного оракула была достаточной для обхода этих защит.
Не просто читайте новости о криптовалютах. Понимайте их. Подпишитесь на нашу рассылку. Это бесплатно.


