Взлом MEV-бота JaredFromSubway обошелся оператору примерно в $15 млн: атакующий не ломал Ethereum и не искал баг в мосте или кошельке, а аккуратно скормил торговому боту фальшивые возможности для арбитража. Для IT-аудитории здесь важен не только размер потерь, но и сама механика инцидента: автоматизированная система сама выдала опасные разрешения контрактам злоумышленника, потому что поверила собственной логике оценки сделок.
Инцидент заметила в субботу компания Blockaid, а позже сам JaredFromSubway подтвердил схему атаки, сообщает BleepingComputer. По версии участников разбора, злоумышленник развернул контракты, которые выглядели для бота как прибыльные MEV-возможности. Автоматизированная система анализировала маршруты обмена и считала, что перед ней нормальные торговые сценарии с положительной экономикой. После этого бот формировал транзакции для исполнения и, что оказалось ключевым, выдавал ERC-20 approvals вспомогательным контрактам, контролируемым атакующим.
Дальше сработал сценарий, который разработчики DeFi-инфраструктуры видят слишком редко, пока не становится поздно. По данным Blockaid, первые транзакции выглядели как безвредные тесты: атакующий проверял, как именно реагирует система и какие действия выполняет автоматически. Затем маршрут был изменен так, чтобы после выдачи разрешения allowance не расходовался и не отзывался. В итоге злоумышленник не стал сразу вынимать активы, а сначала накопил действующие права на списание средств. Максимум, о котором известно из разбора, составил 92,1614 WETH, одобренных на helper-контракт атакующего. После этого оставалось сделать последний, самый банальный шаг: через функцию transferFrom вывести WETH, USDC и USDT из контракта MEV-бота.
Ирония истории в том, что JaredFromSubway давно известен как один из самых агрессивных и заметных игроков в мире Ethereum MEV, особенно в сегменте так называемых sandwich-ботов. Такие системы отслеживают чужие ожидающие транзакции, встраиваются перед ними с покупкой, а сразу после проводят продажу, зарабатывая на сдвиге цены, который сама же жертва и создает. Для розничных трейдеров это обычно означает худший курс и проскальзывание, для оператора бота — прибыль на скорости и приоритете исполнения. Поэтому история быстро разошлась не только как еще один криптоэксплойт, но и как редкий случай, когда охотник за чужой неэффективностью сам оказался жертвой собственной автоматизации.
Взлом MEV-бота в этом случае интересен не только моралью про «карму», которую уже активно обсуждают в криптосообществе. Технически это пример провала в модели доверия. Если торговая система умеет самостоятельно находить возможности, строить маршруты и подписывать действия, то контроль должен быть не только на уровне прибыльности сделки, но и на уровне разрешений, которые она раздает внешним контрактам. Иначе появляется опасный перекос: движок хорошо умеет считать потенциальный доход, но слишком слабо проверяет, кому и на каких условиях выдает права на управление активами. Для разработчиков это еще одно напоминание, что approve-модель в ERC-20 остается одним из самых недооцененных источников риска, особенно когда вокруг нее строят сложную автоматизацию.
Реакция самого JaredFromSubway показывает, насколько болезненным оказался удар. Сначала оператор предложил атакующему $3 млн в качестве вознаграждения за полный возврат средств и пообещал не предпринимать дальнейших действий. Когда ответа не последовало, условия изменили: уже предлагалось $7,5 млн за возврат хотя бы 50% похищенной суммы, а еще $1 млн обещали выделить сообществу. Дополнительно JaredFromSubway сообщил о переговорах с некой white-hat-группой по поводу украденных $15 млн, но подтверждения сделки на момент публикации не было. Сам по себе этот торг тоже показатель отрасли: даже у крупных и технически продвинутых игроков стандартным антикризисным инструментом часто остается не возврат через судебные механизмы, а публичные переговоры с атакующим и попытка превратить кражу в «баунти» задним числом.
Для бизнеса и инженерных команд история полезна без романтики вокруг DeFi. Во-первых, если система умеет автоматически подписывать или инициировать действия с активами, ей нужны жесткие ограничения на список допустимых контрактов, типы маршрутов и объемы разовых approvals. Во-вторых, симуляция прибыльной операции не должна считаться достаточной проверкой безопасности: контракт может выглядеть экономически выгодным и при этом быть специально собранным для получения разрешений. В-третьих, безопасный сценарий должен предполагать, что allowance либо одноразовый, либо немедленно обнуляется после операции, либо вообще заменяется на более узкую механику авторизации. И наконец, все такие цепочки нужно прогонять не только на happy path, но и на adversarial-сценариях, где контрагент сознательно строит сделку так, чтобы логика автомата сработала формально правильно и по факту отдала ему ключи от кассы.
Взлом MEV-бота JaredFromSubway вряд ли станет последней такой историей: чем больше в криптоинфраструктуре систем, которые сами ищут возможность заработать и сами же исполняют решение, тем дороже становится любая ошибка в их модели доверия. Главный вопрос теперь не в том, вернутся ли эти конкретные $15 млн, а в том, сколько еще торговых ботов на рынке считают фальшивую «прибыльную возможность» достаточным основанием, чтобы раздать права на списание активов.