Poly Network 🌉 Мост
10 августа 2021 года анонимный злоумышленник вывел из протокола Poly Network около $610–612 млн в криптоактивах — это остаётся одним из крупнейших единичных хищений в истории DeFi (Chainalysis). Poly Network — протокол-релей, блокирующий токены на одной сети и высвобождающий их эквивалент на другой, чтобы стоимость могла переходить между Ethereum, BNB Smart Chain и Polygon. Приватный ключ никто не крал, flash loan не использовался — брешь была в том, как контракты протокола проверяли полномочия друг друга; это описывают как эксплуатацию контроля доступа в логике верификации кросс-чейн транзакций (rekt.news).
Как устроена атака
На каждой сети логика Poly Network была разделена между двумя контрактами: один хранил текущий набор публичных ключей «кипера» (keeper) — ротируемый список адресов, чьи подписи требовались для одобрения кросс-чейн перевода, — а второй, управляющий контракт, исполнял переданные транзакции при наличии валидной подписи кипера. Проблема была в том, что управляющий контракт мог вызвать почти любую функцию почти любого контракта данными, которые передавал вызывающий, — включая свой же контракт хранения ключей. Контракт определяет, какую функцию вызвать, по первым четырём байтам хеша её сигнатуры; злоумышленник подобрал параметры вызова так, что их хеш совпал с этими четырьмя байтами для функции, перезаписывающей ключи кипера (rekt.news). Это позволило вызвать функцию замены ключей напрямую через собственный механизм исполнения управляющего контракта — а контракт хранения ключей был построен так, что безусловно доверял именно этому вызывающему. Атакующий заставил легитимный контракт протокола вызвать привилегированную функцию, которая не должна была быть доступна произвольным данным, и переписал список ключей на подконтрольный себе адрес. С этого момента любая команда «высвободить заблокированные монеты» на всех трёх сетях несла подпись, которую сам протокол принимал как действительную, — и атакующий вывел обеспечение.
Что было дальше
Poly Network сразу публично сообщила о взломе и обратилась к биржам, валидаторам и самому атакующему с призывом помочь заблокировать средства. Примерно через сутки атакующий начал возвращать активы, сопровождая переводы сообщениями во встроенных данных транзакций, в которых называл произошедшее демонстрацией уязвимости протокола, а не хищением в чистом виде. Часть маршрута перемещения средств удалось связать с идентифицируемыми биржевыми аккаунтами — вероятно, это и подтолкнуло атакующего к возврату вместо попытки обналичить украденное (Chainalysis). К 12–13 августа было возвращено несколько сотен миллионов долларов; около $33 млн в USDT вернуть не удалось, поскольку эмитент Tether успел заморозить эти токены. Последний транш, хранившийся на адресе с доступом и у атакующего, и у команды Poly Network, был разблокирован к 25 августа, доведя итоговый возврат почти до полной суммы похищенного (Wikipedia). Poly Network публично поблагодарила атакующего, назвав его «Mr. White Hat», предложила баг-баунти в $500 000 и символическую должность «главного советника по безопасности» — жест, вызвавший критику среди специалистов по безопасности: у частного протокола нет полномочий гарантировать иммунитет от уголовного преследования. Ареста или уголовного дела не последовало, личность атакующего официально так и не подтверждена. Протокол продолжил работу и позже запустил баг-баунти на платформе Immunefi.
Что из этого следует
- Мосты концентрируют риск, а не распределяют его. Единственная брешь в контроле доступа обнажила весь мультичейн-пул сразу, а не средства одной сети. Любой мост с единым слоем «кипер/верификатор» наследует тот же профиль риска.
- Уязвимость была не видна со стороны пользователя. Ни интерфейс, ни документация не сигнализировали, что управляющий контракт способен вызвать собственный контракт хранения ключей произвольными данными атакующего — это дефект архитектуры, обнаруживаемый только аудитом кода, а не чек-листом due diligence.
- Возврат средств — не шаблон, на который стоит рассчитывать. Почти полный возврат стал возможен благодаря сочетанию частичной деанонимизации атакующего и способности эмитента стейблкоина заморозить токены. Большинство взломов мостов после 2021 года (Ronin, Wormhole, Nomad) закончились без возврата.
- Индустрия сместилась в сторону децентрализации самого слоя верификации. Более поздние кросс-чейн архитектуры чаще опираются на пороговые/мультисторонние подписи и более узкие права контрактов вместо одного управляющего контракта с широкими полномочиями вызова, а баг-баунти стали стандартным превентивным контролем.
Источники
- Poly Network - Rekt — Rekt.news ↗
- Poly Network Hack, August 2021 — Chainalysis ↗
- Poly Network exploit — Wikipedia ↗
Источники проверены 07.08.2026
On-chain DeFi несёт риск смарт-контрактов. Держите основные средства на регулируемой бирже.