Компания Carbontec, специализирующаяся на безопасности блокчейна, обнаружила критическую уязвимость в смарт-контракте Aggregation Router v6 от 1inch — одном из самых популярных протоколов децентрализованных финансов (DeFi). Исследование показало, что ошибочно отправленные пользователями токены на сумму более $520 000 (включая 4,2 WBTC, или ~$445 000) могли быть выведены любым пользователем, а не только владельцем средств.
Как работает уязвимость?
Проблема связана с общедоступными функциями обратного вызова и логикой маршрутизатора, которая принимает пользовательские пулы свопов. Это позволяет злоумышленникам имитировать транзакции и выводить средства под видом обычных операций в протоколе.
Ключевые моменты:
-
Уязвимость не является ошибкой кода, а следствием компромисса между экономией газа и безопасностью.
-
Разработчики переоценили скрытность контракта и недооценили риски злоупотреблений.
-
Любой технически подкованный пользователь мог безнаказанно изымать ошибочно отправленные токены.
Системная проблема DeFi
Мирослав Барил, технический директор Carbontec, подчеркнул, что это не единичный случай, а системное "слепое пятно" в DeFi:
"Представление о том, что ошибочно отправленные токены либо безвозвратно теряются, либо могут быть возвращены только владельцами контрактов, создаёт ложное чувство безопасности. Реальные угрозы часто возникают не из-за багов в коде, а из-за ошибок проектирования."
Проблема затрагивает не только 1inch, но и другие протоколы, которые:
-
Принимают данные от внешних контрактов.
-
Используют внутренние обратные вызовы для свопов.
Последствия и выводы
Инцидент ставит под сомнение надежность DeFi-протоколов в вопросах:
-
Обработки ошибочных транзакций.
-
Контроля над доступом к пользовательским средствам.
Carbontec рекомендует:
-
Пересмотреть архитектуру смарт-контрактов, чтобы исключить подобные риски.
-
Усилить проверки входящих транзакций.
-
Четко документировать возможные векторы атак при проектировании протоколов.
Этот случай ещё раз подтверждает, что безопасность DeFi требует глубокого аудита не только кода, но и самой логики работы протоколов.