Неизвестный вывел около $4,67 млн с моста между Secret Network и Axelar, воспользовавшись уязвимостью «бесконечной эмиссии» в форке контракта токена. Кражу не замечали семь дней.
В Axelar заявили, что вокруг инцидента возникла путаница, и уточнили: ни протокол, ни IBC — протокол обмена данными между блокчейнами в экосистеме Cosmos — не пострадали.
Согласно отчету Common Prefix, курирующей развитие Axelar, уязвимый смарт-контракт токена в Axelar не разрабатывали, не разворачивали и не поддерживали. Встроенные механизмы изоляции (файрволлинг) не дали последствиям распространиться на другие сети.
Контракт оказался форком реализации CW20-ICS20, в котором закомментировали две ключевые проверки безопасности. Именно это сделало возможной «бесконечную эмиссию»: форк изменил модель доверия контракта, но повторный аудит после этого не проводили. По словам команды Axelar, дело не в логике самого протокола и не в IBC.
Создавать контракты, которые оборачивают активы других сетей через IBC, может кто угодно — разрешения для этого не требуются. По такому же принципу оборачивают активы и в Secret Network, но именно эта реализация оказалась уязвимой: в ее форке убрали ключевые проверки.
Под удар попал модифицированный контракт CW20-ICS20. Он принимает поступающие из Axelar активы и выпускает их обернутые версии — saToken. Контракт не проверял канал входящего перевода, поэтому злоумышленник подделывал депозиты и чеканил эти токены без обеспечения.
Атакующий развернул собственный блокчейн на базе Cosmos с единственным валидатором, открыл канал к контракту моста и сам пересылал поддельные пакеты. В них стояли обозначения токенов из «белого списка» контракта, и тот принимал их за переводы по реальному каналу Axelar. Под такие пакеты контракт выпускал saToken, а их обратный обмен через настоящий канал высвобождал активы из эскроу.
Всего хакер вывел семь saToken: saUSDT, saUSDC, saDAI, saWETH, saWBTC, saWBNB и sawstETH.
Уязвимость оставалась в коде долгое время. Common Prefix проследила ее до первого развертывания контракта в начале 2023 года. Миграция в марте 2026 года обновила байт-код ради новых функций, но перенесла в него те же пропущенные проверки. Атака 10 июня пришлась уже на этот обновленный код.
Secret Network описала ситуацию иначе. По ее данным, контракт моста переделали из модели эскроу в модель эмиссии под интеграцию с Axelar и при этом удалили две функции, которые проверяли источник перевода. Внешний аудит проект в рамках интеграции не запрашивал.
По теме: мост Verus-Ethereum взломали — ущерб составил $11,58 млн
Почему кражу не замечали семь дней
Балансы в сети по умолчанию зашифрованы, поэтому нехватку обеспечения нельзя было увидеть ончейн — в отличие от опустошенного пула в Ethereum. Дефицит обнаружили только 17 июня: обычный кроссчейн-перевод в Axelar не прошел, потому что на эскроу-счете не хватило средств. Расследование вывело на семь выводов средств, сделанных 10 июня.
В Secret Network добавили, что инфраструктура моста Axelar не включила мониторинг, выявление аномалий и экстренную приостановку — иначе крупные и подозрительные переводы остановили бы раньше.
Экстренный комитет Axelar отключил подключения Secret и Secret-SNIP, а кроссчейн-маршрутизатор Squid убрал Secret из интерфейса. В Axelar подчеркнули, что ядро протокола не пострадало, а другие сети, каналы и эскроу-счета остались нетронутыми. Команде Secret поручили остановить и мигрировать уязвимый контракт.
По теме: хакер выпустил квадриллион токенов в результате атаки на кроссчейн-мост MAP Protocol
Куда ушли похищенные активы
По данным Common Prefix, украденное вывели в Axelar, провели через Osmosis с автоматической пересылкой пакетов и перевели в Ethereum. Там большую часть обменяли на Ethereum в CoW Protocol.
Эфир распределили между новыми кошельками — около 30 переводов. После этого средства попали на депозитные адреса KuCoin, ChangeNow и HitBTC.
По данным Secret Network, на момент выхода поста на кошельке атакующего оставалось около $770 000. Команда сочла, что эти средства можно вернуть, и попросила Axelar заморозить их — самостоятельно или силами сообщества.
Проект на просьбу не откликнулся, сообщив лишь, что работает с биржами и правоохранителями. Сроков восстановления подключения в компании не назвали.
The Block со ссылкой на Axelarscan сообщило, что на кошельке атакующего еще оставались 6,2 WBTC, 239 324 USDC, 64,04 WBNB и 248,85 AXL — около $672 000 по ценам на момент публикации.