Фьючерсы
Доступ к сотням фьючерсов
CFD
Золото
Одна платформа мировых активов
Опционы
Hot
Торги опционами Vanilla в европейском стиле
Единый счет
Увеличьте эффективность вашего капитала
Демо-торговля
Введение в торговлю фьючерсами
Подготовьтесь к торговле фьючерсами
Фьючерсные события
Получайте награды в событиях
Демо-торговля
Используйте виртуальные средства для торговли без риска
Запуск
CandyDrop
Собирайте конфеты, чтобы заработать аирдропы
Launchpool
Быстрый стейкинг, заработайте потенциальные новые токены
HODLer Airdrop
Удерживайте GT и получайте огромные аирдропы бесплатно
Pre-IPOs
Откройте полный доступ к глобальным IPO акций
Alpha Points
Торгуйте и получайте аирдропы
Фьючерсные баллы
Зарабатывайте баллы и получайте награды аирдропа
Инвестиции
Simple Earn
Зарабатывайте проценты с помощью неиспользуемых токенов
Автоинвест.
Автоинвестиции на регулярной основе.
Бивалютные инвестиции
Доход от волатильности рынка
Мягкий стейкинг
Получайте вознаграждения с помощью гибкого стейкинга
Криптозаймы
0 Fees
Заложите одну криптовалюту, чтобы занять другую
Центр кредитования
Единый центр кредитования
Рекламные акции
AI
Gate AI
Ваш универсальный AI-ассистент для любых задач
Gate AI Bot
Используйте Gate AI прямо в вашем социальном приложении
GateClaw
Gate Синий Лобстер — готов к использованию
Gate for AI Agent
AI-инфраструктура: Gate MCP, Skills и CLI
Gate Skills Hub
Более 10 тыс навыков
От офиса до трейдинга: единая база навыков для эффективного использования ИИ
GateRouter
Умный выбор из более чем 40 моделей ИИ, без дополнительных затрат (0%)
Глубокий анализ инцидента с кражей 9 миллионов долларов в 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 в пуле, одновременно увеличивая общий запас пула до опасной границы нулевого значения.
Уязвимость третьего уровня: точка перелома безлимитного чеканки без запасов
После серии операций на первых двух этапах пул был опустошён: общий запас близок к нулю, а остаток wOETH и mETH крайне низок. В этот момент атакующий наносит последний смертельный удар: вызывает add_liquidity с введёнными параметрами [1, 1, 1, 1, 1, 1, 9] — то есть первые семь активов вводят по 1 вэй (наименьшую единицу), а восьмой (mETH) — 9 вэй.
Эта, казалось бы, абсурдная операция вызвала вычислительный сбой контракта в критический момент, когда пул собирался быть уничтожен. Итеративная формула _calc_supply не сработала при работе с минимальной стоимостью, и контракт был неправильно отчеканен235 443 токенов yETH LP。 Это эквивалентно созданию миллионов долларов поддельных активов из воздуха.
Подробное объяснение четырёх стадий атаки: от крайнего дисбаланса до бесконечного чеканки
Этап 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 — это не конец, но он должен стать катализатором эволюции безопасности всей отрасли.