MISTER X
Гуру проекта
Команда форума
Судья
Модератор
ПРОВЕРЕННЫЙ ПРОДАВЕЦ
Private Club
Координатор арбитражей
Злоумышленники завладели активами на $807 тыс. и отказались вернуть средства за вознаграждение в размере 33% украденных активов
30 января 2026 года команда Gyroscope сообщила в своем аккаунте в X, что временно приостановила работу пулов ликвидности из-за проблемы в их кроссчейн-контракте (механизме, который позволяет передавать активы между разными блокчейнами). В результате этой уязвимости было затронуто 6 миллионов токенов Gyro Dollar (GYD), из которых злоумышленник смог фактически вывести ликвидность примерно на сумму $807 тысяч. GetBlock AML Research детально разбирает атаку и движение похищенных средств.
Причиной инцидента стала ошибка, связанная с некорректной обработкой входных данных в мостовом контракте Gyroscope. Из-за этой ошибки атакующий смог выдать самому себе так называемое «безлимитное разрешение» на использование токенов GYD в сети Ethereum. Получив такое разрешение, он воспользовался стандартной функцией перевода средств от имени другого контракта и вывел 6 миллионов токенов GYD.
После инцидента команда Gyroscope предложила атакующему вознаграждение в размере 33% от суммы ущерба за добровольный возврат средств. Это более чем в три раза превышает стандартную практику, при которой обычно предлагают около 10%.
Злоумышленник перевел минимально возможную сумму — 1 wei GYD (это крайне малая доля токена) — из сети Arbitrum в сеть Ethereum. В качестве получателя он указал не обычный пользовательский адрес, а сам контракт токена GYD, одновременно передав специальные данные для выполнения команды.
Этот 1 wei GYD был успешно получен в сети Ethereum, но вместе с этим атакующий получил безлимитное разрешение на использование токенов GYD. Это разрешение впоследствии не было отменено.
Используя полученное разрешение, злоумышленник вывел 6 099 337,37 токена GYD.
Атакующий отправил 1 wei Gyro Dollar не на адрес пользователя, а напрямую на адрес контракта токена Gyro Dollar, что и было необходимо для реализации атаки.
Дополнительно он передал данные, которые выполнялись уже после завершения процедуры перевода между сетями.
На стороне получения перевод завершился стандартным образом, однако затем в функции _ccipReceive(), отвечающей за обработку операции, контракт проверял, переданы ли дополнительные данные. Если они присутствовали, система автоматически выполняла соответствующую команду. В данном случае переданные данные запускали функцию approve() на адресе получателя. Поскольку получателем был указан сам контракт токена GYD, злоумышленник выдал себе безлимитное разрешение на управление токенами. Если бы контракт ограничивал список допустимых адресов-получателей и запрещал использование адреса токена, атаки можно было бы избежать.
Несмотря на то что злоумышленник получил контроль над более чем 6 миллионами токенов Gyro Dollar, фактически он смог вывести лишь около $807 тыс. Это было связано с ограниченным объемом ликвидности, доступной в пулах.
Вывод похищенных средств на Tornado Cash.
В общей сложности злоумышленник перевел 300,2 ETH в сервис Tornado Cash, который часто используется для сокрытия происхождения средств.
Источник
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 тыс. Это было связано с ограниченным объемом ликвидности, доступной в пулах.
Вывод похищенных средств на Tornado Cash.
Источник





