Ф'ючерси
Сотні безстрокових контрактів
CFD
Золото
Одна платформа для світових активів
Опціони
Hot
Торгівля ванільними опціонами європейського зразка
Єдиний рахунок
Максимізуйте ефективність вашого капіталу
Демо торгівля
Вступ до ф'ючерсної торгівлі
Підготуйтеся до ф’ючерсної торгівлі
Ф'ючерсні події
Заробляйте, беручи участь в подіях
Демо торгівля
Використовуйте віртуальні кошти для безризикової торгівлі
Запуск
CandyDrop
Збирайте цукерки, щоб заробити аірдропи
Launchpool
Швидкий стейкінг, заробляйте нові токени
HODLer Airdrop
Утримуйте GT і отримуйте масові аірдропи безкоштовно
Pre-IPOs
Отримайте повний доступ до глобальних IPO акцій.
Alpha Поінти
Ончейн-торгівля та аірдропи
Ф'ючерсні бали
Заробляйте фʼючерсні бали та отримуйте аірдроп-винагороди
Інвестиції
Simple Earn
Заробляйте відсотки за допомогою неактивних токенів
Автоінвестування
Автоматичне інвестування на регулярній основі
Подвійні інвестиції
Прибуток від волатильності ринку
Soft Staking
Earn rewards with flexible staking
Криптопозика
0 Fees
Заставте одну криптовалюту, щоб позичити іншу
Центр кредитування
Єдиний центр кредитування
Центр багатства VIP
Преміальні плани зростання капіталу
Управління приватним капіталом
Розподіл преміальних активів
Квантовий фонд
Квантові стратегії найвищого рівня
Стейкінг
Стейкайте криптовалюту, щоб заробляти на продуктах PoS
Розумне кредитне плече
Кредитне плече без ліквідації
Випуск GUSD
Мінтинг GUSD для прибутку RWA
Акції
AI
Gate AI
Ваш універсальний AI-помічник для спілкування
Gate AI Bot
Використовуйте Gate AI безпосередньо у своєму соціальному додатку
GateClaw
Gate Блакитний Лобстер — готовий до використання
Gate for AI Agent
AI-інфраструктура, Gate MCP, Skills і CLI
Gate Skills Hub
Понад 10 000 навичок
Від офісу до трейдингу: універсальна база навичок для ефективнішої роботи з AI
GateRouter
Розумний вибір із понад 40 моделей ШІ, без додаткових витрат (0%)
Глибокий аналіз інциденту з крадіжкою $9M активів Yearn: від вразливості протоколу до зникнення доларової вартості
1 грудня 2025 року протокол Earn зазнав добре спланованої багаторівневої атаки з використанням композицій в історії DeFi, що врешті-решт призвело до втрати приблизно $9 мільйонів користувацьких активів. Це не проста єдина точка експлуатації, а систематичне знищення зловмисниками, які використовують флеш-кредити для залучення коштів, прориву механізмів захисту протоколів шар за шаром, безкінечного створення токенів LP, пов’язаних із yETH, і зрештою виснаження пулу. Цей інцидент ще раз попереджає всю індустрію: ризик безпеки DeFi-протоколів полягає не в одній вразливості, а в накладанні численних недоліків — це найскладніший режим атаки в галузі для захисту.
Огляд події: Як флеш-кредити можуть стати здобиччю для багатоступеневих атак
Стратегія фінансування зловмисника може здаватися звичайною, але вона закладає основу для низки наступних ланцюгових операцій. Вони одночасно запускали флеш-кредити за протоколами Balancer і Aave, а також одночасно надавали велику кількість деривативів ETH, таких як wstETH, rETH, WETH, ETHx і cbETH. Ці активи не потрапляли безпосередньо в транзакцію, а були ретельно розподілені: 100 із 1 100 ETH було надіслано Tornado. Готівка для змішування — крок, справжня мета якого полягала в тому, щоб приховати джерело коштів і прокласти шлях для подальших операцій «відбілювання».
Після завершення змішування зловмисник вивів 100 ETH 0x3e8e7533dcf69c698Cf806C3DB22f7f10B9B0b97 адресу шкідливого контракту і активував функцію резерву. У цьому прихованому відскоку всі позичені активи конвертувалися на LP-токени для yETH зваженого стейблсвопу пулу – еквівалент купівлі «акційних сертифікатів» для цього пулу. На перший погляд це звичайна ін’єкція ліквідності, але насправді це фінальна підготовка до витонченої «техніки опорожнення басейну».
Три основні вразливості: фатальна комбінація втрати точності, скорочення доходу та нульової ініціалізації постачання
Вразливість першого рівня: втрата точності та безкоштовне втручання у стан
У технічному центрі всієї атаки лежить, здавалося б, незначна помилка в коді:remove_liquidity функція не призводить до короткого замикання нульової величини。
Перший крок атакуючого — навмисно створити крайній дисбаланс ресурсів у пулі. Він неодноразово називав функцію add_liquidity (додавання ліквідності), але свідомо пропускав введення індексу 3 (rETH), індексу 6 (wOETH) та індексу 7 (mETH), штучно збільшуючи розрив у співвідношенні між цими трьома активами та іншими активами. Згодом він односторонньо ввів величезну кількість rETH, що ще більше розширило дисбаланс.
У цьому надзвичайно незбалансованому стані пулу атакуючий викликає remove_liquidity, але вводить параметр суми виведення 0. Згідно з традиційною логікою, виведення 0 токенів має повертатися безпосередньо і взагалі не змінювати стан. Але контракт pool.vy цього не робить — він все одно виконує повний цикл розрахунку vb_prod (віртуальний балансовий продукт).
У математичному середовищі екстремального дисбалансу ваги функція _pow_down (округлення вниз) призводить до значної втрати точності. Контракт неправильно обчислює мале значення vb_prod і записує це змінене значення у глобальний стан packed_pool_vb. По суті, зловмисник успішно втрутився у балансову вартість усього пулу за допомогою операції «нульова вартість» (жодних токен не було передано).
Лазівки другого рівня: продаж доходів і ерозія часток
Другий рівень вразливостей більш прихований. Коли зловмисник викликає update_rates функцію, це активує внутрішню _update_supply логіку. Оскільки vb_prod були зловісно придушені, система створила хибне уявлення, що загальна вартість пулу різко зменшилася. Щоб збалансувати баланс, контракт автоматично спалює велику кількість LP-токенів, які належать стейкінгу.
Зловмисник точно провів арбітражні операції до і після оновлення валютного курсу. Кожен дзвінок update_rates оновити курс конкретного активу (наприклад, wOETH, mETH), а потім одразу здійснити дзвінок remove_liquidity зняти актив. Оскільки велика кількість акцій контракту зі стейкінгу була знищена, відносно більша частка часток LP у руках зловмисника пасивно зросла. Повторюючи цикл «оновлення-вилучення-спалювання», зловмисник крок за кроком видавлював фактичний баланс wOETH і mETH у пулі, одночасно доводячи Total Supply пулу до небезпечної межі нульового значення.
Вразливість рівня 3: точка перелому необмеженого карбування нульового постачання
Після серії операцій на перших двох етапах пул було спорожнено: загальна пропозиція близька до 0, а залишок wOETH і mETH надзвичайно низький. У цей момент нападник завдає останнього фатального удару: викликає add_liquidity з введеними параметрами [1, 1, 1, 1, 1, 1, 1, 9] — тобто перші сім активів кожне вводять по 1 вей (найменшу одиницю), а восьму (mETH) — 9 вей.
Ця, здавалося б, абсурдна операція спричинила обчислювальний зрив контракту в критичний момент, коли пул мав бути знищений. Ітеративна формула _calc_supply не спрацювала при роботі з мінімальною вартістю, і контракт був неправильно викарбуваний235 443 токени LP на yETH。 Це еквівалентно створенню мільйонів доларів фейкових активів з повітря.
Детальне пояснення чотирьох стадій атаки: від крайнього дисбалансу до нескінченного карбування
Етап 1: Підготовка фонду та ініціалізація стану пулу
Етап 2: Штучне виробництво крайнього дисбалансу
Етап 3: Вилучення доходів і захоплення акцій
Фаза 4: Нульовий запас, необмежене карбування
Шлях відстеження та ліквідації фонду: втрата вартості від yETH до USD
Найкраща чорна комедія цієї атаки полягає у ланцюжку втечі коштів. 235 443 LP-токени, отримані зловмисниками, поступово були обміняні на ETH і стейблкоїни через серію операцій обміну. Ці активи потім обмінюються на більш приховані форми активів, такі як біткоїн, через торгові пари DEX, а зрештою мільйони доларів активів обмінюються на готівку або біткоїн через позабіржові (OTC) платформи. Протягом усього процесу $9 мільйонів користувацьких коштів були явно переведені з протокольного балансу на гаманець зловмисника в ланцюжку, а потім поступово обміняні на долари США, біткоїни тощо, і зрештою втекли.
Наслідки для індустрії: як DeFi-протоколи можуть захистити від складних атак на склад
З цього інциденту є три ключові уроки:
Урок 1: Посилити перевірку краю сцени DeFi-протоколи повинні проводити суворі логічні перевірки крайових сценаріїв, таких як «нульова кількість» та «крайній дисбаланс». remove_liquidity має повертатися одразу після отримання параметра 0, а не виконувати повний обчислювальний цикл. Такий тип «короткого замикання» може здаватися простим, але він ефективно запобігає можливості втручання в стан.
Урок 2: Оптимізація логіки точних розрахунків _pow_down та інші функції, що передбачають екстремальні пропорційні розрахунки, повинні впроваджувати захисні механізми. Розгляньте використання більш складної чисельної бібліотеки обробки, додавання виявлення проміжного переповнення або використання різних гілок алгоритмів у екстремальних ситуаціях. Історично протокол Balancer зазнавав критики через схожі проблеми з точністю, що є уроком із минулого.
Урок 3: Встановити моніторинг багатовимірних аномалій Необхідно створити систему моніторингу в режимі реального часу для раннього попередження про такі операції:
Для всієї екосистеми DeFi цей інцидент доводить глибоку істину:Безпека — це не виправлення вразливості, а систематичне запобігання поєднанню множинних недоліків。 Розробникам протоколів потрібно дивитися на логіку коду з точки зору повного процесу і не відпускати жодних, здавалося б, «нешкідливих» недоліків дизайну. Водночас індустрії потрібно посилити можливості відстеження та заморожування капіталу зловмисників у блокчейні, а також покращити загальні можливості захисту через чорні списки DEX і контроль ризиків на платформі OTC. Хак Yearn — це не кінець, але має стати каталізатором еволюції безпеки всієї індустрії.