Scallop подтверждает целенаправленную атаку: 150 000 токенов SUI похищено из бонусного пула sSUI.
DeFi-протокол Scallop на базе Sui подтвердил, что стал жертвой эксплойта, в результате которого из его пула вознаграждений sSUI было выведено около 150 000 SUI, а также был обнаружен многолетний баг, скрывавшийся внутри неактуального смарт-контракта.
Согласно официальному заявлению протокола, они заметили, что злоумышленник полностью обошёл их активную кодовую базу и стандартные SDK-интерфейсы. Вместо этого он обратился к неактуальной версии пакета V2, датируемой ноябрём 2023 года, которая всё ещё находилась в сети, но несколько месяцев не использовалась.
Такой уровень точности привлёк значительное внимание во всей экосистеме. Этот эксплойт предполагает либо глубокую обратную разработку, либо то, что кто-то был хорошо знаком с архитектурой контракта.
Примечательно, что уязвимость оставалась незамеченной почти 17 месяцев, поскольку экосистема перешла на новые версии контрактов. Scallop подтвердил инцидент в Twitter и сообщил, что пользователи в настоящее время в безопасности, поскольку были немедленно приняты меры по сдерживанию.
Эксплойт выявил критическую уязвимость в логике расчёта вознаграждений неактуального контракта. В нём используется так называемый «индекс пула» (spool index) — постоянно растущее значение, отражающее общий объём накопленных в пуле вознаграждений за всё время.
При нормальной работе каждый аккаунт пользователя сохраняет значение last_index в момент стейкинга. Вознаграждения рассчитываются на основе разницы между текущим индексом и сохранённым значением, чтобы ни один пользователь не мог получать вознаграждения до начала стейкинга.
Однако в старом пакете V2 вновь созданные аккаунты пула никогда не инициализировались — значение last_index всегда было равно нулю. Именно эта ошибка создала серьёзную лазейку.
Последствия этого бага оказались мгновенными и катастрофическими. За примерно 20 месяцев индекс пула вырос почти до 1,19 миллиарда. Злоумышленнику было начислено раздутое количество — 162 триллиона очков вознаграждения при 136 000 застейканных sSUI.
Усугубляло ситуацию то, что в пуле вознаграждений действовал коэффициент конвертации 1:1, при котором каждое очко вознаграждения напрямую конвертировалось в токены SUI. Это позволило злоумышленнику беспрепятственно обналичить очки, полученные через искусственную инфляцию, в реальные активы.
В результате эксплойта пул вознаграждений был полностью опустошён — на тот момент он содержал около 150 000 SUI. Несмотря на то что рассчитанные вознаграждения злоумышленника значительно превышали баланс пула, была извлечена только имеющаяся ликвидность.
Этот инцидент иллюстрирует одну из системных проблем, существующих с развёрнутыми пакетами в экосистеме Sui: развёрнутые пакеты являются неизменяемыми. Когда смарт-контракт попадает в сеть, его невозможно удалить или изменить. Все версии — прошлые и настоящие — остаются вызываемыми навсегда.
Хотя Scallop перенаправил пользователей на новый, более защищённый пакет через свой SDK, старый контракт V2 по-прежнему оставался доступен. Объекты Spooled и RewardsPool являются общими, поэтому злоумышленник смог полностью обойти обновлённую логику, поскольку на них не распространяются ограничения по версиям.
Этот тип уязвимости, переклассифицированной как риск «устаревшего пакета», выявляет важное слабое место для многих DeFi-систем. Устаревшие контракты могут служить постоянными векторами атак, поскольку в общих объектах не встроены явные проверки версий.
Эксплойт Scallop — это отдельное событие, а не бесконечный результат более масштабной тенденции, наблюдавшейся на протяжении всего апреля. Многочисленные недавние атаки были связаны не с основной логикой протокола, а с периферийными или упущенными из виду аспектами. Уязвимости в RPC-инфраструктуре KelpDAO, уровне конфиденциальности (MWEB) для Litecoin и баги контроля доступа в адаптерных системах Aethir — лишь некоторые из примеров.
Во всех случаях источник находился за пределами основного контракта — в других вторичных или устаревших модулях. Использование подобного паттерна свидетельствует о том, что злоумышленники изменили свою тактику. Хакеры всё меньше времени уделяют основным контрактам, которые активно проверяются аудитом, и всё больше — атакам на периферию экосистемы с очень слабым мониторингом периметра. Это требует изменения парадигмы для разработчиков и аудиторов. Простого обеспечения безопасности новых развёртываний недостаточно — все исторические контракты, точки интеграции и инфраструктурные компоненты должны рассматриваться как активная поверхность угроз.
Scallop отреагировал на эксплойт быстро и решительно. Атакованный контракт был немедленно заморожен, что означало, что только один пул вознаграждений был скомпрометирован в результате этой атаки.
Команда подтвердила, что основные контракты по-прежнему в безопасности и ни один депозит пользователя не был скомпрометирован. Остальные пулы остались нетронутыми, а основные функции протокола возобновили работу сразу после разморозки незатронутых компонентов.
Примечательно, что Scallop обязался компенсировать 100% убытков, понесённых в результате эксплойта. Это обязательство демонстрирует надёжность и ответственность за результат в устранении неожиданных уязвимостей безопасности и направлено на восстановление доверия пользователей.
Депозиты и вывод средств возобновлены, что свидетельствует о восстановлении стабильности системы.
Инцидент со Scallop воплощает ключевой урок для экосистемы DeFi в целом. При работе в среде с неизменяемыми смарт-контрактами безопасность никогда не бывает задачей «настроил и забыл».
Любая версия вашего развёрнутого контракта является частью действующей системы. Даже неактивный код может стать единственной точкой отказа спустя месяцы или годы, если надлежащие меры защиты легко обойти.
В дальнейшем экосистеме необходимо внедрить более строгие практики контроля версий, непрерывный мониторинг устаревших контрактов и расширение охвата аудита для охвата всех предыдущих развёртываний. Как показывает этот эксплойт, злоумышленники готовы глубоко погружаться в историю протокола в поисках уязвимостей, которые можно использовать.
В конечном счёте децентрализованные финансы будут настолько устойчивы, насколько способны адаптироваться к меняющемуся ландшафту угроз протоколы, лежащие в их основе.
Дисклеймер: это не торговый или инвестиционный совет. Всегда проводите собственное исследование перед покупкой любой криптовалюты или инвестированием в какие-либо сервисы.
Подписывайтесь на нас в Twitter @themerklehash, чтобы быть в курсе последних новостей о криптовалюте, NFT, AI, кибербезопасности и Метавселенной!
Публикация Scallop Exploit Drains 150K SUI Through Deprecated Contract As Hidden Vulnerability Lurks For 17 Months впервые появилась на The Merkle News.
