Scallop підтверджує цілеспрямований експлойт: 150 000 токенів SUI виведено з пулу винагород sSUI.
DeFi-протокол Scallop на базі Sui підтвердив, що став жертвою експлойту, який виснажив близько 150 000 SUI з його пулу винагород sSUI, водночас розкривши давній баг, що ховався у застарілому смартконтракті.
Згідно з офіційною заявою протоколу, вони помітили, що зловмисник повністю оминув їхню активну кодову базу та стандартні SDK-інтерфейси. Натомість він звернувся до застарілої версії пакету V2, що датується листопадом 2023 року, яка все ще була в ончейні, але місяцями не використовувалася.
Такий рівень точності привернув значну увагу в екосистемі. Цей експлойт або передбачає глибоке зворотне проектування, або хтось мав чудове знайомство з архітектурою контракту.
Що особливо примітно, вразливість залишалася непоміченою майже 17 місяців, оскільки екосистема перейшла на нові версії контрактів. Scallop звернувся до Twitter, щоб підтвердити інцидент, і повідомив, що наразі користувачі в безпеці, оскільки були вжиті негайні заходи щодо локалізації.
Експлойт виявляє критичну помилку в логіці розрахунку винагород застарілого контракту. Він використовує так званий «індекс spool» — значення, що постійно зростає і відображає загальні винагороди, накопичені в пулі з часом.
Під час нормальної роботи кожен обліковий запис користувача зберігає last_index під час стейкінгу. Винагороди розраховуються на основі різниці між поточним індексом та збереженим значенням, щоб жоден користувач не міг отримувати винагороди до початку стейкінгу.
Однак у старому пакеті V2 нові облікові записи spool ніколи не ініціалізувалися; last_index завжди дорівнював нулю. І ця помилка забезпечила значну лазівку.
Наслідки цього бага були миттєвими та катастрофічними. Індекс spool зріс майже до 1,19 мільярда приблизно за 20 місяців. Зловмисник отримав роздуті 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 , щоб бути в курсі останніх новин про Crypto, NFT, AI, кібербезпеку та Метавсесвіт!
Публікація Scallop Exploit Drains 150K SUI Through Deprecated Contract As Hidden Vulnerability Lurks For 17 Months вперше з'явилася на The Merkle News.


