Старый контракт наград Scallop позволил похитить ~150 тыс. SUI
30.04.2026 | CoinKyt Company

26 апреля 2026 года злоумышленник вывел около 150 тыс. SUI (~$142 тыс.) из устаревшего контракта наград протокола Scallop, работающего в сети Sui. Атака стала возможной из-за отсутствия проверки принадлежности аккаунта к конкретному пулу наград. Scallop заморозил затронутый контракт и объявил о полной компенсации потерь из казны протокола.

 


Ход инцидента


Scallop — протокол кредитования в сети Sui. Помимо основного контракта, где хранятся депозиты и займы пользователей, в системе существовал отдельный старый контракт для начисления наград по пулу sSUI (токенизированный SUI, который пользователи получают при размещении средств в протоколе).


Именно этот вспомогательный контракт стал целью атаки.


В одной транзакции (6WNDjCX3W852hipq6yrHhpUaSFHSPWfTxuLKaQkgNfVL) злоумышленник вывел ~150 тыс. SUI из пула sSUI rewards.

 


Почему это стало возможным


Уязвимость находилась в логике проверки наград. Контракт использовал объект SpoolAccount — внутренний аккаунт пользователя, который отслеживает накопленные reward points (баллы для получения наград).


Проблема заключалась в том, что контракт не проверял, действительно ли переданный SpoolAccount принадлежит тому Spool (пулу), по которому рассчитываются награды. Атакующий воспользовался этим: подставив «чужой» spool-индекс, он искусственно завысил свои reward points и получил право на вывод суммы, значительно превышающей реальный вклад.


По сути, в контракте отсутствовала одна проверка — и именно это позволило манипулировать расчётом наград.

 


Детали расследования: движение средств


1️⃣ Вся сумма (~150 тыс. SUI) была выведена в одной транзакции на адрес атакующего.


2️⃣ Часть SUI злоумышленник обменял через агрегатор DEX в сети Sui на стейблкоины wUSDC и wUSDT.


3️⃣ Основную сумму атакующий разбил на четыре новых адреса: по схеме 30 тыс. + 40 тыс. + 40 тыс. + 40 тыс. SUI.


4️⃣ Затем средства с этих адресов были переведены на два крупных кошелька, характер которых указывает на горячие адреса централизованных бирж.


Конвертация части средств в стейблкоины и немедленная отправка на предположительно биржевые адреса свидетельствуют о намерении быстро реализовать похищенное.

 


Заключение


Инцидент со Scallop — классический пример того, как одна пропущенная проверка в устаревшем контракте открывает возможность для манипуляции. Основной протокол не пострадал: средства пользователей на депозитах и займах остались нетронутыми. Потери в размере ~$142 тыс. будут покрыты из казны протокола.

Этот случай напоминает о важности своевременного аудита и вывода из эксплуатации старых контрактов — даже если они кажутся второстепенными.