Критическая уязвимость протокола децентрализованной биржи Balancer позволила злоумышленникам извлечь более 120 миллионов долларов, воспользовавшись ошибкой округления в механизме пакетных свапов. Анализ показывает, что неверная логика в функции обмена EXACT_OUT неправильно масштабировала вверх и вниз количество токенов на нескольких этапах, создавая мелкие дисбалансы баланса, которые накапливались в ходе повторяющихся транзакций. Эти расхождения, подобные стрижке дробных долей цента, систематически выкачивались хакером до тех пор, пока не срабатывали защитные механизмы ликвидности.
Уязвимость была направлена на пулы, в которых токены имели разную десятичную точность, что осталось незамеченным несмотря на многочисленные аудиты безопасности. Во время пакетных сделок код Balancer сначала преобразовывал входящие количества в представление с 18 десятичными знаками перед вычислением цен, а затем возвращал результаты к десятичной точности нативного токена. В некоторых случаях завершающий этап снижения масштаба округлял значения вверх, предоставляя инициатору обмена лишние активы. Организуя частые микрозамены, злоумышленник получил совокупную прибыль, обходя ограничения по проскальзыванию на цепочке.
После обнаружения команда Balancer выпустила предварительный отчет и координировала действия с валидаторами блокчейна и операторами узлов для внедрения чрезвычайных мер. На Polygon и Sonic органы управления внедрили модули заморозки, чтобы заблокировать затронутые контракты пулов и перехватить исходящие переводы. Акционеры Berachain одобрили экстренный жесткий форк, чтобы откатить окно эксплуатации и обеспечить возмещение поставщикам ликвидности. Эти меры подчёркивают продолжающееся противоречие между принципами неизменяемого реестра и быстрой реакцией на кризисы в DeFi-экосистемах.
Это происшествие вновь разожгло дебаты вокруг централизации инструментов безопасности: критики утверждают, что функции заморозки и форки противоречат духу «код — закон». Сторонники же утверждают, что адаптивные механизмы управления необходимы для защиты пользователей в условиях высокого риска. Уязвимость Balancer подчеркивает важность тщательных проверок корректной обработки десятичных значений и освещает развивающиеся векторы атак, использующие крайние математические случаи. Разработчики протоколов сейчас пересматривают рамки аудита и внедряют автоматизированное fuzz-тестирование операций с десятичными значениями, чтобы предотвратить подобные эксплойты в будущих релизах.
Комментарии (0)