Что произошло
22 июня 2024 года Maya Protocol, платформа, предоставляющая пул ликвидности для токена CACAO, стала жертвой атаки, в результате которой злоумышленник вывел около 1,7 млн USD. Хакер использовал уязвимость в механизме субсидий, заставив контракт «заплатить» несуществующую награду, а затем многократно добавлял и удалял ликвидность, получая доступ к средствам провайдеров пула. По оценкам аудиторской компании CertiK, прямой финансовый ущерб составил $1 730 000, а косвенные потери затронули всех держателей CACAO и LP‑токенов.
Почему это важно для крипто-рынка
Эксплойт раскрывает фундаментальную уязвимость в модели стимулирования DeFi‑протоколов, где автоматические субсидии часто реализуются без надёжного контроля доступа. Потеря столь значимого объёма средств подрывает доверие инвесторов к новым проектам, особенно тем, кто предлагает «беспроцентные» доходы от фарминга. Для трейдеров это сигнал к повышенной осторожности при работе с малоизвестными пулами: рост волатильности CACAO после инцидента привёл к резкому падению цены более чем на 30 % за сутки, а объём торгов упал на 45 %. Для разработчиков и аудиторов событие стало напоминанием о необходимости интеграции MEV‑защиты и более строгих проверок оркестрации субсидий. Инвесторы, ориентированные на долгосрочный TVL, могут пересмотреть портфели, перераспределяя капитал в более проверенные протоколы, что в краткосрочной перспективе уменьшит общий объём ликвидности в экосистеме.
Технический разбор инфоповода
Атака состояла из четырёх последовательных шагов:
- Манипуляция субсидией. Протокол использовал функцию
grantSubsidy(address recipient, uint256 amount), которая проверяла лишь подпись владельца контракта, но не проверяла наличие средств на балансе. Хакер создал поддельный запрос, указав адрес «нулевого» токена, что привело к «выдаче» субсидии в размере 0 ETH, но с последующим изменением состояния. - Эксплуатация re‑entrancy. После подтверждения субсидии атакующий вызвал функцию
addLiquidity(), которая внутри вызывала внешнюю библиотеку расчёта цены. Отсутствие «checks‑effects‑interactions» позволило повторно вызватьaddLiquidityдо завершения первой транзакции, тем самым увеличивая своё участие в пуле без корректного обновления баланса. - Flash‑loan‑поглощение. Используя Uniswap V3 в качестве источника мгновенного кредита, злоумышленник заимствовал $500 k, что дало ему возможность покрыть требуемый минимум для добавления ликвидности и одновременно вызвать ценовой сдвиг, который усилил прибыль от последующего вывода.
- Серия removeLiquidity‑операций. После того как пул был «заполнен» подставными токенами, атакующий несколько раз вызывал
removeLiquidity(), получая реальную долю активов, в том числе CACAO и WETH, которые затем переводил на скрытый адрес.
Ключевой недочёт – отсутствие мультисиг‑проверки для функций, изменяющих параметры субсидий, а также отсутствие ограничений на частоту вызова addLiquidity. Кроме того, контракт не использовал oracle‑guard для защиты от ценовых манипуляций, что позволило flash‑loan атаке изменить внутреннюю цену пула в пользу хакера.
Риски и возможности для Web3‑бизнеса
- Скрытый риск — непрозрачные субсидии. Автоматические выплаты без внешних проверок могут стать вектором для повторных атак.
- Скрытый риск — отсутствие мультисиг‑контроля. Один ключевой администратор способен изменить финансовую логику без согласования.
- Скрытый риск — недостаточная защита от MEV. Протоколы без встроенного front‑running‑барьера уязвимы к ценовым манипуляциям через flash‑loans.
- Возможность — интеграция escrow‑модулей. Применение условных депозитов позволяет «задерживать» субсидии до подтверждения наличия средств.
- Возможность — изолированные API‑шлюзы. Разделение логики управления и пользовательского доступа уменьшает поверхность атаки.
- Возможность — платформы аудита в реальном времени. Автоматический мониторинг аномалий в объёмах ликвидности и частоте вызовов функций может предупредить злоумышленника ещё до вывода средств.
Как защититься и заработать на этом тренде
Mint Scripts Studio предлагает набор проверенных архитектурных решений, которые минимизируют вероятность повторения подобных эксплойтов:
- no‑backdoors. Каждый смарт‑контракт проходит строгий аудит, в нём отсутствуют «скрытые» функции, вызываемые только владельцем.
- чистый open source. Полный публичный репозиторий позволяет сообществу проверять логику и предлагать улучшения, что снижает риск скрытых уязвимостей.
- изолированные API‑шлюзы. Внешние запросы к финансовым методам проходят через отдельный слой, где реализованы rate‑limiting и whitelist‑контроль.
- escrow‑логика. Субсидии и выплаты держатся в условном депозите до момента, когда проверяется баланс и подтверждается отсутствие конфликтов.
- multisig‑авторизация. Критические операции, такие как изменение параметров субсидий или вывод средств из пула, требуют подписи минимум двух независимых участников.
- MEV‑protection. Встроенные механизмы защиты от front‑running (commit‑reveal, time‑lock) делают невозможным мгновенные ценовые атаки.
Для разработчиков, желающих монетизировать рост спроса на безопасность, рекомендуется предлагать услуги по аудиту и доработке DeFi‑протоколов в виде модульных пакетов. Партнёрские программы с биржами позволяют получать комиссию за интеграцию наших escrow‑модулей, а также за обучение команд по best‑practice в области smart‑contract security. Инвесторы могут диверсифицировать портфель, вкладывая средства в проекты, прошедшие наш security‑seal, получая при этом бонусные токены за участие в bounty‑программах.