Skip to content
Yieldo

Balancer V2

$128.0M
Украдено средств
Возвращено средств
03 Nov 2025
Дата инцидента
Техника
Rounding Error
Классификация
Token & Share Accounting
Тип цели
DeFi Protocol
Затронутые сети
Ethereum Arbitrum Base Polygon Sonic Optimism
Источник
Нет публичной ссылки на источник

3 ноября 2025 года злоумышленник вывел из пулов Balancer v2 около $128 млн в рамках одной скоординированной атаки на девяти сетях; наибольшая часть потерь пришлась на Ethereum — около $91,5 млн. Атака была нацелена не на украденный ключ и не на манипуляцию оракулом, а на ошибку округления в математике Composable Stable Pools — поэтому один и тот же шаблон транзакции сработал почти без изменений в Arbitrum, Base, Optimism, Polygon, Avalanche, Gnosis, Sonic и Berachain в течение нескольких часов после первого удара (rekt.news; CoinDesk).

Как устроена атака

Composable Stable Pools хранят токены с разной точностью — 6 знаков у USDC, 18 у DAI, 8 у WBTC — и перед расчётом свопа приводят все балансы к единому масштабу в 18 знаков («upscaling»). Функция масштабирования всегда округляла вниз; в комментарии к коду разработчики называли влияние этого округления «минимальным». Атакующий превратил это допущение в рычаг: с помощью flash-минта LP-токена пула он выполнил внутри одной транзакции десятки крошечных свопов — по некоторым оценкам, более 65 — каждый из которых терял ничтожную сумму на округлении, но эти потери накапливались и незаметно занижали внутренний инвариант пула — величину, которой контракт доверяет как отражению реальных резервов. Когда инвариант разошёлся с реальностью, атакующий погасил раздутую LP-позицию за настоящие токены по искажённому курсу, забрав больше, чем когда-либо внёс. Часть технических разборов (Halborn) описывает и второй этап — брешь в контроле доступа на пути вывода внутренних балансов vault, которую атакующий использовал, чтобы забрать искажённые суммы напрямую. Это шире, чем подсказывает название «Composable Stable Pools», но именно округление создало саму возможность для эксплуатации.

Что было дальше

Мониторинговая компания Hypernative зафиксировала аномальную активность свопов в 07:46 UTC, и Balancer поставил пулы v2 на паузу примерно через двадцать минут — этого хватило, чтобы ограничить дальнейшие потери, но не хватило, чтобы предотвратить копирующие атаки на других сетях в течение часа. Восстановление сильно различалось по сетям: Berachain, по сообщениям, остановил сеть и провёл экстренный хардфорк, вернув около $12,86 млн, валидаторы Polygon, по сообщениям, отцензурировали транзакции атакующего и заморозили средства в этой сети, а партнёры StakeWise (~$19,7 млн) и Certora (~$4,1 млн) вернули меньшие суммы в других местах. rekt.news оценивает общую сумму возвращённых или замороженных средств примерно в $38,4 млн — на момент публикации бо́льшая часть из $128 млн оставалась невозвращённой, но это далеко не ноль. TVL Balancer упал примерно с $775 млн до атаки до около $258 млн спустя несколько недель; в конце ноября DAO вынес на голосование план распределить около $8 млн возвращённых токенов между пострадавшими поставщиками ликвидности пропорционально их доле, с баунти для white hat, ограниченными $1 млн за инцидент (CoinDesk). Протокол продолжил работу, не остановившись; по данным СМИ, это уже третий известный инцидент безопасности Balancer — после эпизодов 2021 и 2023 годов.

Что из этого следует

  • Риск этого класса несёт любой пул, который приводит токены с разной точностью к общему масштабу перед расчётом инварианта: направление округления на границах точности — это параметр безопасности, а не косметическая деталь, и его нужно доказывать устойчивым к состязательному вводу с большим числом итераций, а не проверять на средний случай.
  • Композируемость умножает радиус поражения: форки, унаследовавшие ту же библиотеку пулов (Beethoven X, Beets Finance, BEX), превратили один баг в мультипротокольный и мультисетевой инцидент в один день.
  • Пользователю заранее не видно никакого сигнала — уязвимый код уже проходил аудиты годами ранее; практическая защита для поставщика ликвидности — диверсификация между протоколами и конструкциями пулов, а не чтение Solidity.
  • Итог восстановления средств всё больше зависит от возможностей управления конкретной сетью, а не от самого протокола: сети, способные вмешаться — цензурой валидаторов или экстренным хардфорком, — вернули заметно больше, чем те, что не смогли.

On-chain DeFi несёт риск смарт-контрактов. Держите основные средства на регулируемой бирже.