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-колекцій високої вартості: видавець першого рівня, який сприймає невдачу стороннього протоколу як свою власну проблему реагування на інцидент, і використовує свою власну торгову інфраструктуру, щоб обмежити збитки до того, як нападники зможуть діяти. Раніше публічно не було задокументовано жодної подібної операції з боку створювача 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 впровадять перевірене виправлення. Він також попередив, що незапatchena вразливість створює постійний ризик для власників BAYC і CryptoPunks, якщо її не усунути, і що експозиція поширюється далі за те, що вже було використано.
0xQuit окремо попередив користувачів не вносити додаткові NFT у Flooring Protocol, доки не буде запущено підтверджений виправлення.
Деякі NFT залишаються під контролем нападника, згідно з обліком 0xQuit. На понеділок вдень за східним часом Flooring Protocol не опублікував аналіз інциденту чи не підтвердив терміни виправлення. Масштаб початкової атаки — до втручання Yuga — та загальні втрати для постачальників ліквідності Flooring не були незалежно квантифіковані.

