Yuga Labs завершила скоординированную бело-шапочную операцию в понедельник, в ходе которой были защищены 68 NFT от активной эксплуатации в Flooring Protocol — платформе ликвидности NFT на базе ethereum. Спасённые токены, стоимость которых превышает $500 000 по уровню минимальных цен на момент восстановления, теперь находятся под контролем Yuga до устранения уязвимости в протоколе.
Генеральный директор Майкл Фигге раскрыл операцию на X 8 июня, перечислив восстановленные активы: 29 NFT Bored Ape Yacht Club, 4 Mutant Apes, 1 BAKC, 2 CryptoPunks, 1 Azuki, 2 Elementals, 26 Captains, 1 Moonbird и 2 Doodles. Фигге заявил, что он «тихо поручил нашему торговому деску GrailsOTC предоставить деньги и NFT для спасения активов, находящихся под угрозой, с протокола». GrailsOTC — это OTC-торговый деск Yuga.
Операция по спасению иллюстрирует сценарий, который сформировался для NFT-коллекций высокой стоимости: издатель первого уровня рассматривает сбой стороннего протокола как свою собственную проблему реагирования на инцидент и использует собственную торговую инфраструктуру для ограничения ущерба до того, как злоумышленники смогут действовать. Подобная операция со стороны создателя NFT масштаба Yuga ранее публично не документировалась.
Механика эксплуатации
Flooring Protocol — это платформа, позволяющая держателям NFT фракционировать активы в микротокены и объединять их для обеспечения ликвидности. Ранее платформа обеспечивала значительную ликвидность в пулах NFT высокого класса на ethereum.
Уязвимость была выявлена вице-президентом по блокчейну Yuga Labs, известным в сети как 0xQuit, в логике упакованного хранения и индексации токенов в смарт-контракте платформы стиля BT404. Небольшая сумма Wrapped Ether (WETH) могла быть внесена для создания почти бесконечного баланса fpTokens — ERC-20 представлений фракционированных заблокированных NFT. Злоумышленник использовал этот сфабрикованный баланс, чтобы опустошить пулы Flooring и выкупить лежащие в основе NFT.
0xQuit описал основную ошибку как «призрачное владение»: локальное состояние контракта регистрировало атакующего в качестве законного владельца активов, которыми он не обладал. Это несоответствие в учете распространилось на вторичные пулы, расширив поверхность атаки. Второй, связанный путь атаки раскрыл пул, из которого Yuga в конечном итоге извлекла средства.
Исследователь безопасности Coffee помог определить полный масштаб уязвимости вместе с 0xQuit.
Ответ Yuga
После подтверждения второго пути атаки Yuga действовала до того, как дополнительные злоумышленники могли воспользоваться им. GrailsOTC предоставила капитал и NFT, необходимые для извлечения активов, находившихся под угрозой, из скомпрометированных пулов, эффективно выступив в роли белого хакера против уязвимого состояния до того, как это мог сделать вредоносный участник.
Yuga хранит восстановленные токены в качестве меры предосторожности, а не как постоянный перевод. Фигге заявил, что компания вернёт их законным владельцам, как только разработчики Flooring Protocol внедрят проверенное исправление. Он также предупредил, что незакрытая уязвимость продолжает представлять риск для держателей BAYC и CryptoPunks, если её не устранить, и что воздействие выходит за рамки уже эксплуатированных уязвимостей.
0xQuit отдельно предупредил пользователей не вносить дополнительные NFT в Flooring Protocol до выхода подтвержденного исправления.
Некоторые NFT остаются под контролем злоумышленника, согласно учету 0xQuit. На Monday afternoon ET Flooring Protocol не опубликовал пост-мортем и не подтвердил сроки устранения уязвимости. Масштаб первоначальной атаки — до вмешательства Yuga — и общие потери для поставщиков ликвидности Flooring не были независимо оценены.

