Два инцидента на $7,7 млн и 4,3 WBTC

Расследование «КоинКит» анализирует, как работали обе атаки.
Введение
Safe — это кошелёк с мультиподписью. Для совершения операций требуется несколько подтверждений от владельцев. Также к кошельку можно подключать модули — дополнительные программы, которые автоматизируют действия, например, ребалансировку активов.
Мост (bridge) — это сервис для перевода криптовалюты между разными блокчейнами. Обычно активы блокируются в одной сети, и только тогда выпускаются в другой.
Оба инцидента показали, что ошибка в одной проверке — в Router или в мосте — может привести к краже средств.
Safe — обход авторизации через Router
Ход инцидента
1️⃣ Злоумышленник нацелился на Safe-кошелёк, который использовался для автоматизированного управления активами. Для этого он применил внешний Router — контракт-прослойку, которая обычно направляет команды внутрь системы.
2️⃣ Он вызвал публичную функцию multicall, которая позволяет выполнить несколько команд за одну транзакцию. Внутри этой функции он запустил вложенный вызов, при котором Router обращался сам к себе.
3️⃣ В коде Router было исключение: если цель вызова — сам Router (его собственный адрес), проверка прав пропускалась. Из-за этого вложенный вызов прошёл без авторизации, а отправителем система видела уже не злоумышленника, а сам Router.
4️⃣ Подготовленные команды прошли через уже подключённый к Safe доверенный модуль. Этот модуль имел право управлять активами кошелька без получения новых подписей владельцев.
5️⃣ Safe выдал разрешения на использование своих активов и направил около 2 900 aEthrsETH — это токенизированный стейкинговый эфириум, который приносит доход в протоколе Aave, — в пул ликвидности Uniswap V4. Взамен кошелёк получил позицию в виде NFT.
6️⃣ Злоумышленник использовал специально созданный токен и Hook-контракт — дополнительную логику в Uniswap V4, — чтобы обменять этот токен на почти весь внесённый aEthrsETH. Кошелёк формально сохранил позицию, но ценный актив был извлечён из неё.
7️⃣ Затем контракт эксплойта погасил aEthrsETH через Aave и получил ~2 900 rsETH — ликвидного стейкингового токена. Оценочный ущерб составил около $7,73 млн.
8️⃣ Однако первоначального злоумышленника опередил MEV-бот Yoink. Это программа, которая отслеживает очередь транзакций и вставляет свои операции раньше других, чтобы извлечь выгоду. Бот воспользовался подготовленной схемой и выполнил операцию раньше атакующего. Весь объём rsETH достался не злоумышленнику, а боту.
Почему это стало возможным
Критичным стало сочетание двух факторов: обход проверки прав во внешнем Router и наличие подключённого доверенного модуля в Safe. Router не проверял авторизацию при самообращении, а модуль позволял выполнять операции с активами без дополнительных подписей владельцев. Это дало возможность выдавать разрешения на трату токенов и вносить средства в подготовленную ловушку.
Детали расследования: движение средств
MEV-бот Yoink направил 17,63 rsETH на обмен через Uniswap V4. Основную часть — 2 882,37 rsETH — перевёл на адрес:
Symbiosis Bitcoin Bridge — фальшивое сообщение в мосте
Ход инцидента
1️⃣ 11 сентября 2026 года злоумышленник воспользовался мостом Symbiosis Bitcoin Bridge. Этот мост связывает разные блокчейны: активы блокируются на одной стороне, валидаторы (Relayers) подтверждают операцию, и на другой стороне выпускаются синтетические токены.
2️⃣ Он отправил некорректное кроссчейн-сообщение — сигнал о том, что в другой сети якобы заблокированы настоящие биткоины. Контракт BridgeV2 принял это сообщение как допустимое, хотя реального обеспечения не было.
3️⃣ В результате было выпущено огромное количество syBTC — синтетических биткоинов Symbiosis. По данным расследования, через восемь операций прошло около 368,9 млрд syBTC.
4️⃣ В сети BNB Smart Chain практически весь объём созданных syBTC остался на адресе злоумышленника.
5️⃣ В сети Ethereum ситуация была иной: злоумышленник отправил ~184,5 млрд syBTC в пул Uniswap V4 и обменял их примерно на 4,3 WBTC — «обёрнутый» биткоин, токен-версию BTC в Ethereum.
Почему это стало возможным
В нормальной работе моста сообщения от валидаторов подписываются специальным MPC-ключом — это механизм коллективной подписи, который должен гарантировать подлинность операции. BridgeV2 выполняет инструкции из полученного сообщения. В данном случае проверка сообщения сработала некорректно: система приняла сигнал, который не должен был приводить к выпуску токенов, и создала syBTC без соответствующего обеспечения в настоящих биткоинах.
Детали расследования: движение средств
Полученные ~4,3 WBTC поступили на адрес злоумышленника:
Затем они были обменяны через протокол 0x на 137 ETH. Далее средства двумя переводами — 130 ETH и 7 ETH — были отправлены на адрес:
Заключение
Инциденты в Safe и Symbiosis показали две разные, но одинаково опасные уязвимости: доверие к внутренним исключениям в коде и некорректная проверка внешних сообщений.


