Эксперты Halborn: На самом деле хакеры вывели из ALEX Protocol в 2 раза больше криптовалюты

В июне 2025 года децентрализованный протокол Alex Lab (ALEX Protocol), работающий на блокчейне Stacks и позиционирующий себя как «финансовый слой для Биткоина», подвергся масштабной хакерской атаке. По данным официального отчета компании, общий объем украденных средств составил $8,3 млн, однако независимые аналитики из Halborn указывают на более серьезный реальный ущерб — $16,18 млн, включая активы, не отраженные в официальной инвентаризации.
По словам аналитиков, суть атаки заключалась в использовании уязвимости в системе контроля доступа хранилища токенов Alex Lab. Злоумышленник создал поддельный токен с именем ssl-labubu-672d3, в смарт-контракт которого была встроена вредоносная функция transfer.
Затем хакер организовал пул Labubu/STX и вызвал функцию set-approved-token, в результате чего контракт ALEX предоставил вредоносному токену права доступа к хранилищу. Получив эти полномочия, злоумышленник изменил значение флага set-enable-farming. Это активировало встроенную вредоносную функцию.
Во время выполнения стандартной операции swap-x-for-y контракт Alex Lab обращался к поддельной функции transfer вредоносного токена, используя команду as-contract. Это позволяло выдавать хранилище протокола за отправителя транзакции, в то время как настоящим инициатором был сторонний смарт-контракт. Таким образом злоумышленник смог обойти механизмы защиты и вывести хранимые средства.
После инцидента команда Alex Lab заявила о намерении полностью возместить украденные критовалюты в соответствии с официальным перечнем утраченных активов. Однако в этот список не вошли некоторые токены, в том числе aBTC и ALEX, перемещенные в ходе атаки, что и объясняет расхождение в оценках ущерба — $8,3 млн против $16,18 млн.
По мнению исследователей, ключевой причиной взлома стала ошибка в логике контроля доступа, которая позволила вредоносному токену получить права хранилища. Несмотря на то что ранее проект прошел аудит новых функций, эксплуатируемый злоумышленником код не входил в область проверки, из-за чего уязвимость осталась незамеченной.