Статья Как взломали проект Gyroscope: детальный разбор атаки и движения средств

MISTER X

Гуру проекта
Команда форума
Судья
Модератор
ПРОВЕРЕННЫЙ ПРОДАВЕЦ
Private Club
Координатор арбитражей
Регистрация
7/2/15
Сообщения
11.381
Репутация
14.265
Реакции
36.443
USDT
0
Депозит
18 000 рублей
Сделок через гаранта
23
Злоумышленники завладели активами на $807 тыс. и отказались вернуть средства за вознаграждение в размере 33% украденных активов


Как взломали проект Gyroscope: детальный разбор атаки и движения средств




30 января 2026 года команда Gyroscope сообщила в своем аккаунте в X, что временно приостановила работу пулов ликвидности из-за проблемы в их кроссчейн-контракте (механизме, который позволяет передавать активы между разными блокчейнами). В результате этой уязвимости было затронуто 6 миллионов токенов Gyro Dollar (GYD), из которых злоумышленник смог фактически вывести ликвидность примерно на сумму $807 тысяч. GetBlock AML Research детально разбирает атаку и движение похищенных средств.


Причиной инцидента стала ошибка, связанная с некорректной обработкой входных данных в мостовом контракте Gyroscope. Из-за этой ошибки атакующий смог выдать самому себе так называемое «безлимитное разрешение» на использование токенов GYD в сети Ethereum. Получив такое разрешение, он воспользовался стандартной функцией перевода средств от имени другого контракта и вывел 6 миллионов токенов GYD.

После инцидента команда Gyroscope предложила атакующему вознаграждение в размере 33% от суммы ущерба за добровольный возврат средств. Это более чем в три раза превышает стандартную практику, при которой обычно предлагают около 10%.


Ход атаки​

Адрес злоумышленника
0x7DD4075A6eAe9f18309F112364f0394C2DfA8102

Пошаговое развитие событий​

Transaction from January 30, 2026, 20:07:51
0x51c22898a9b9f519a10b0a0be89b9d51c0248adb80cc0f89e57437e15e6c60c7



Злоумышленник перевел минимально возможную сумму — 1 wei GYD (это крайне малая доля токена) — из сети Arbitrum в сеть Ethereum. В качестве получателя он указал не обычный пользовательский адрес, а сам контракт токена GYD, одновременно передав специальные данные для выполнения команды.

Transaction from January 30, 2026, 20:27:59
0x45739a92c2d99f172a74d8028736a2fd1b507ac6fc134680cd1dccd3c572c600

Этот 1 wei GYD был успешно получен в сети Ethereum, но вместе с этим атакующий получил безлимитное разрешение на использование токенов GYD. Это разрешение впоследствии не было отменено.

Транзакция от 30 января 2026 года, 20:40:59
0xe03ac744df1910a71fedab58bc6a32ab5afe1cb4fcad94a0e5c8d7edf0d7405c

Используя полученное разрешение, злоумышленник вывел 6 099 337,37 токена GYD.

Описание уязвимости​

Основная причина инцидента заключалась в том, что контракт моста принимал произвольные входные данные при вызове функции BridgeToken() из контракта 0xCA5. Эта функция принимала четыре параметра: целевую сеть, адрес получателя, сумму перевода и дополнительные данные для выполнения после завершения перевода.

Атакующий отправил 1 wei Gyro Dollar не на адрес пользователя, а напрямую на адрес контракта токена Gyro Dollar, что и было необходимо для реализации атаки.

Дополнительно он передал данные, которые выполнялись уже после завершения процедуры перевода между сетями.

На стороне получения перевод завершился стандартным образом, однако затем в функции _ccipReceive(), отвечающей за обработку операции, контракт проверял, переданы ли дополнительные данные. Если они присутствовали, система автоматически выполняла соответствующую команду. В данном случае переданные данные запускали функцию approve() на адресе получателя. Поскольку получателем был указан сам контракт токена GYD, злоумышленник выдал себе безлимитное разрешение на управление токенами. Если бы контракт ограничивал список допустимых адресов-получателей и запрещал использование адреса токена, атаки можно было бы избежать.

Движение средств​


Несмотря на то что злоумышленник получил контроль над более чем 6 миллионами токенов Gyro Dollar, фактически он смог вывести лишь около $807 тыс. Это было связано с ограниченным объемом ликвидности, доступной в пулах.

IMSR7iAa8J0GVELURV1a7iyLDN3aEuqE.png


Вывод похищенных средств на Tornado Cash.
В общей сложности злоумышленник перевел 300,2 ETH в сервис Tornado Cash, который часто используется для сокрытия происхождения средств.


Источник
 
  • Теги
    gyroscope
  • Назад
    Сверху Снизу