Как не взламывая контракт из TrustedVolumes вывели $6.6 млн
07.05.2026 | CoinKyt Company

7 мая 2026 года злоумышленник похитил около $6.6 млн из инфраструктуры TrustedVolumes — участника торговой экосистемы 1inch. Атака затронула сети Ethereum и Arbitrum. Ошибка была не во взломе чужого кода, а в логике проверки сделок: контракт проверял одно, а деньги списывал по-другому.

 


Что такое TrustedVolumes и при чём тут 1inch


1inch — это агрегатор обменов. Если объяснять совсем просто: вы хотите поменять один токен на другой, а 1inch находит лучший курс среди десятков площадок и проводит сделку за вас.


Для этого 1inch использует сеть resolver-ов — это независимые участники, которые выступают поставщиками ликвидности (то есть держат у себя токены и исполняют сделки, когда это выгодно). TrustedVolumes был одним из таких участников. Именно его кошелёк стал целью атаки — не сам протокол 1inch.


В одной транзакции (0xc5c61b3ac39d854773b9dc34bd0cdbc8b5bbf75f18551802a0b5881fcb990513) атакующий вывел сразу четыре актива: 1 291 WETH (токенизированный эфир), 206 тыс. USDT, 16.9 WBTC (токенизированный биткоин) и 1 268 тыс. USDC.

 


Почему это стало возможным


Представьте: вы подписываете договор. В договоре написано: «Иван Иванов переводит $6.6 млн Петру Петрову». Нотариус проверяет вашу подпись и говорит: «Подпись настоящая». Но в приложении к договору, которое нотариус не читал, написано: «Деньги берём со счёта Сидорова». Именно это и произошло.


Контракт проверял подпись на одной части данных сделки — кто участник, какие токены, когда истекает срок и так далее. Но реальное списание токенов происходило по другой части данных, которая не была защищена подписью.


Атакующий подписал корректную на вид сделку от своего адреса, а в незащищённой части указал: «токены списать с кошелька TrustedVolumes». Контракт не сверил, совпадает ли адрес списания с адресом из подписанной части. Расхождение осталось незамеченным — деньги ушли.

 


Детали расследования: движение средств


Ethereum


1️⃣ Похищенные средства сначала поступили на адрес атакующего 0xC3EBDdEa4f69df717a8f5c89e7cF20C1c0389100.


2️⃣ Часть средств — USDT (~$206 тыс.), USDC (~$1.27 млн) и WBTC (~$1.35 млн) — была переведена на второй адрес 0x61e6301614178A2cA21Bfa0FBB30ABa06ACC2D1c. Там все три актива обменяли через Uniswap (это крупная децентрализованная биржа) примерно на 1 222 ETH. На момент расследования средства остаются на этом адресе.


3️⃣ На первом адресе осталось ещё около 1 290 ETH.


4️⃣ В Tornado Cash — миксер, который перемешивает транзакции от разных пользователей, чтобы скрыть происхождение денег, — ушло лишь 0.1 ETH. Совсем небольшая сумма.



Arbitrum


1️⃣ В сети Arbitrum средства поступили на адрес 0x5ffb889659598ea3a78911690e0815b2a47a1a07.


2️⃣ Оттуда они были переброшены в сеть Ethereum на тот же адрес атакующего, обменяны на токен DAI (ещё один стейблкоин, всегда равный $1) и переведены на адрес 0xfA4F52DF02E5f3563bC4569A6B43bB6AcA617e07, где и остаются на момент расследования.

 


Заключение


Атака на TrustedVolumes — наглядный пример того, как ошибка в одном месте логики сделки открывает доступ к чужим средствам. Контракт работал «по правилам» и подпись проверил и операцию выполнил. Только вот кошелёк для списания никто не сверил.


Основная масса похищенных средств на момент расследования остаётся на адресах злоумышленника и не выведена. Команда КоинКит продолжает отслеживать движение активов.