March 7, 2025

Взлом 1inch: хакер похитил криптовалюту на ~$5 млн!

Краткое введение: 5 марта 2025 года децентрализованный агрегатор обмена 1inch подвергся хакерской атаке. Злоумышленник использовал уязвимость в смарт-контракте 1inch, что позволило ему похитить криптоактивы на сумму около $5 000 000. Инцидент важен, потому что 1inch – один из крупнейших DeFi-агрегаторов, и подобные эксплойты подрывают доверие ко всей экосистеме. Хорошая новость: средства конечных пользователей не пострадали, проблема затронула лишь инфраструктуру самого протокола.

Хронология атаки (UTC):

  • 2025-03-05 ~21:30 UTC –📍 Замечены первые аномальные транзакции. Блокчейн-аналитики (SlowMist) зафиксировали подозрительную активность, связанную с 1inch. Первоначально потери оценивались примерно в $1 млн.
  • 2025-03-05 22:00 UTC – 🔎 Команда 1inch обнаруживает уязвимость. Разработчики 1inch выясняют, что проблема кроется в устаревшем смарт-контракте Fusion v1 (механизм Fusion), используемом для исполнения ордеров. Начато расследование, пользователям сообщено о потенциальной угрозе (в приватном режиме).
  • 2025-03-06 ~17:00 UTC – 📢 Официальное объявление 1inch. Публично подтверждён факт взлома и уязвимости (через пост в Twitter). 1inch заверяет, что средства пользователей в безопасности, так как атака затронула только сторонние «резолверы» (специальные боты-маркетмейкеры, обслуживающие Fusion-свопы). Команда призывает всех партнеров и резолверов немедленно обновить свои смарт-контракты до актуальной версии. Также анонсирована программа вознаграждений за обнаружение багов и уязвимостей.
  • 2025-03-07 10:34 UTC – 🕵️ Раскрыты детали кражи. Компания SlowMist опубликовала отчёт: хакер вывел примерно 2,4 млн USDC и 1276 WETH с уязвимых контрактов резолверов – суммарно более $5 млн по курсу. 1inch запускает усилия по поддержке пострадавших маркет-мейкеров и продолжает работу над усилением защиты, в том числе объявляя баунти до $500k за информацию о новых уязвимостях или помощь в возврате средств.

Технический анализ эксплойта: 🔬 Атака стала возможна из-за бреши в устаревшем смарт-контракте Fusion v1, отвечавшем за так называемый “parser” ордеров. Этот контракт использовался резолверами – ботами, которые заполняют заявки и оплачивают газ для свопов на 1inch. В новой версии Fusion контракт был исправлен, но некоторые участники экосистемы все ещё работали на Legacy-версии, ставшей уязвимой мишенью. Хакер обнаружил логическую ошибку: недостаточная проверка входных данных и прав доступа при обработке ордеров позволила исполнить несанкционированный вызов, выводящий средства резолвера на адрес атакующего. Проще говоря, злоумышленник заставил устаревший смарт-контракт думать, будто выполняется легитимный обмен, в результате чего ликвидность маркет-мейкеров была переведена ему. Атака носила целенаправленный характер – были компрометированы несколько независимых маркет-мейкеров, работавших через Fusion v1, причем один из крупнейших (известный как Trusted Volumes) потерял около $4,5 млн. Благодаря изоляции Fusion-резолверов от основного протокола, массового ущерба для пользователей удалось избежать – уязвимость затронула только средства, задействованные в работе этих маркет-мейкеров.

Итог потерь и возврат средств: 💸 Всего злоумышленник похитил эквивалент ~$5 млн, в том числе ~2,4 млн USDC и 1276 WETH. Эти средства принадлежали сторонним маркет-мейкерам (резолверам), поэтому обычные пользователи 1inch не понесли прямых убытков. Часть украденных токенов была ошибочно отправлена обратно в контракт 1inch во время атаки – белым хакерам удалось перехватить и сохранить эту небольшую долю. Однако большинство средств всё ещё под контролем хакера. Команда 1inch уже обратилась к злоумышленнику: предложено вернуть средства добровольно. Проект готов выплатить вознаграждение и гарантировать отсутствие правовых последствий, если хакер пойдет на сотрудничество и вернёт украденное. (Подобная практика “white hat” не нова в DeFi: иногда взломщики возвращают большую часть средств в обмен на 5-10% суммы в качестве вознаграждения и отсутствие преследования.) На данный момент открытого ответа от хакера нет, и возврат остаётся под вопросом.

Выводы и уроки для DeFi: 📊 Инцидент с 1inch подчёркивает несколько важных моментов безопасности в децентрализованных финансах:

  • Неиспользуемый код = риск. Если в вашем протоколе остаются активны устаревшие смарт-контракты или модули, они могут стать слабым звеном. Необходимо своевременно обновлять или отключать legacy-компоненты, особенно после выпуска улучшенных версий.
  • Регулярные аудиты. Постоянный аудит смарт-контрактов независимыми экспертами способен выявить уязвимости до того, как их найдут злоумышленники. 1inch обнаружил баг сам и призвал резолверов обновиться – так проблемы удалось локализовать и избежать большего ущерба.
  • Bug bounty и сотрудничество с белыми хакерами. Предоставление щедрых баунти за найденные уязвимости мотивирует исследователей сообщать о проблемах, а не эксплуатировать их. 1inch уже запустил программу вознаграждений (до $500 000 за критические баги) – отличный шаг для усиления безопасности.
  • Мониторинг и оперативный отклик. Важно иметь системы реального времени для мониторинга транзакций и необычной активности. В этой ситуации сторонняя фирма SlowMist быстро заметила подозрительные переводы и оповестила сообщество. Оперативная реакция (ревок прав, пауза exploitable-функций, оповещение партнёров) способна значительно снизить потери при взломе.
  • Деление ответственности. Архитектура 1inch сыграла свою роль: разделение средств пользователей и средств провайдеров ликвидности ограничило зону поражения. DeFi-протоколам стоит продумывать механизмы ограничения возможного ущерба (например, лимиты на вывод, поэтапное внедрение обновлений, мультисиг для критичных действий и пр.).

Призыв к осторожности и безопасности: 🔐 Этот случай служит важным напоминанием всем участникам крипторынка. Если даже крупный проект с опытной командой оказался уязвим, то риски существуют всегда. Будьте бдительны! Пользуйтесь только проверенными протоколами, следите за новостями об их обновлениях и возможных уязвимостях. Разработчикам DeFi следует постоянно улучшать безопасность своих платформ, а пользователям – соблюдать гигиену безопасности: хранить средства в надёжных кошельках, устанавливать 2FA, не вводить приватные ключи на подозрительных сайтах. В мире DeFi каждый ответственен за безопасность своих средств – давайте учиться на подобных инцидентах и делать экосистему надёжнее 🙏🏻.


Оригинал https://blog.decurity.io/yul-calldata-corruption-1inch-postmortem-a7ea7a53bfd9?cache