Децентрализованный протокол кредитования Term Finance потерял $8,5 млн в результате эксплойта механизма управления, при этом смарт-контракты взломаны не были. Атакующий воспользовался особенностями системы голосования в хранилищах Meta Vaults и вывел средства через легитимное предложение, получившее поддержку благодаря крайне низкой явке держателей токенов. Команда разработчиков Term Labs подтвердила инцидент и сообщила о необратимом закрытии всех Meta Vaults с отзывом ролей DAO, при этом базовый протокол и рынки прямого кредитования остались незатронутыми.
Механика захвата контроля над голосованием
Успех атаки стал возможен из-за несоответствия между экономическим участием и правом голоса в экосистеме протокола. При внесении средств в хранилище пользователи получали токен-квитанцию tmvETH, подтверждающую долю в пуле, но этот актив сам по себе не давал права участвовать в управлении. Для получения голоса квитанцию необходимо было отдельно конвертировать в специальный токен gtmvETH, однако большинство вкладчиков проигнорировало это действие. Злоумышленник внес всего 0,5 $ETH, получил 0,485 tmvETH и обернул их в голосующие токены. Его реальная доля в капитале хранилища составляла лишь 0,017%, но среди выпущенных бюллетеней он контролировал 90,66% голосов.
Правила управления также способствовали реализации эксплойта. Создать предложение мог любой пользователь даже без наличия голосов, а для достижения кворума требовалось участие всего 5% от выпущенных бюллетеней. Для принятия решения достаточно было простого большинства. Победив в голосовании, атакующий предложил отключить семидневную задержку на вывод средств, подключить собственный контракт и направить туда активы вкладчиков. Предложение, содержавшее 17 действий, находилось в открытом доступе в блокчейне около 145 часов. Почти шесть суток в публичном реестре фактически было размещено уведомление о предстоящем отключении защитных механизмов и выводе средств, но никто не воспользовался возможностью наложить вето или оспорить решение.
Хронология вывода средств и реакция команды
Голосование завершилось 23 августа 2026 года, и уже через 12 секунд после закрытия окна функция executeProposal была выполнена. Первым действием предложения семидневная задержка (timelock) была обнулена, что позволило мгновенно вывести активы из подхранилищ Shorewoods $ETH, August Digital $ETH, Parity Prime $ETH и Parity Core $ETH. Средства были направлены через специально добавленную стратегию «Fixed Recipient WETH Exit Strategy» на адрес злоумышленника. Всего было выведено 2 841 WETH. Вслед за этим аналогичные операции прошли по пяти хранилищам $USDC, откуда было изъято 1 679 639 монет. Все средства консолидированы на одном кошельке.
Аналитики PeckShield оценили общий ущерб примерно в $8,5 млн, включая около 2 843 $ETH (примерно $6,87 млн) и 1,68 млн $USDC, которые впоследствии были обменены на DAI. Первоначальное финансирование атаки осуществлялось через Tornado Cash: кошелек злоумышленника получил 1 $ETH из этого миксера 17 августа 2026 года. После подтверждения инцидента команда Term Labs заявила, что все роли управления DAO отозваны, а закрытие Meta Vaults является необратимым и блокирует новые депозиты. При этом выводы для пользователей остаются открытыми. Разработчики инфраструктуры Yearn V3, на которой построены хранилища, отдельно отметили, что вектор атаки относится исключительно к кастомной оболочке Term и не затрагивает стандартные продукты Yearn.
Системные уязвимости децентрализованного управления
Инцидент демонстрирует критические риски, возникающие при сочетании низкого порога входа в управление и отсутствия обязательной активности со стороны стейкхолдеров. Кворум и пороговые значения позволяли создавать предложения практически любому участнику, а при пассивности владельцев LP-токенов контроль над выпущенными бюллетенями переходил к минимальной доле капитала. Механизмы безопасности, такие как временная задержка и право вето, оказались неэффективными, поскольку атакующий имел техническую возможность отключить защиту изнутри самого предложения до его исполнения. По данным on-chain анализа, детально изученного экспертами, предложение находилось в открытом доступе около шести суток, и единственный голос был отдан самим атакующим.
До инцидента общий объем заблокированных средств (TVL) в хранилищах Term Finance составлял около $12,45 млн, из которых примерно $8,8 млн приходилось на сеть Ethereum. Выведенная сумма соответствует приблизительно 68% TVL этого продукта. Ситуация указывает на необходимость пересмотра архитектуры управления в DeFi-протоколах, где право голоса автоматически привязано к экономическому участию, а параметры кворума и задержек защищены от модификации в рамках обычных предложений. Текущее состояние протокола предполагает сохранение функциональности базовых рынков кредитования при полной остановке сегмента Meta Vaults.
Взлом Term Finance через механизм голосования выявил фундаментальные проблемы дизайна систем управления с низкой явкой участников и отделимыми правами голоса. Вывод 68% TVL продукта через легитимную процедуру подчеркивает, что формальная корректность исполнения смарт-контрактов не гарантирует безопасность активов при наличии архитектурных просчетов в логике принятия решений.
Мнение ИИ
Ситуация демонстрирует классическую проблему «пустого кворума», когда минимальная активность интерпретируется системой как легитимный консенсус. Статистика подтверждает, что за десять лет хакеры похитили свыше $17 млрд, и главной причиной потерь стала не уязвимость кода, а компрометация ключей и логики управления. Техническая архитектура протоколов часто допускает изменение параметров безопасности тем же механизмом, который эти параметры должен защищать.
Машина видит здесь не ошибку кода, а неизбежное следствие дизайна, где молчание большинства приравнивается к согласию. Стоит ли децентрализованным системам внедрять жесткие конституционные ограничения на изменение базовых правил безопасности, даже если это противоречит идее полного суверенитета сообщества?
hashtelegraph.com