Взлом Payy: 682 ETH ушли в Tornado Cash, но 90 202 USDC всё ещё лежат у атакующего
PublicAML · Ончейн-расследование · 30 сентября 2026
24 сентября 2026 года мост Payy в Ethereum выплатил около 1,92 млн USDC на один адрес. По разбору самой Payy, её верификатор Noir/Barretenberg принял недействительное доказательство сжигания. Мы прошли за деньгами до конца. Первая выплата, 1,83 млн USDC, за несколько минут была обменяна примерно на 683 ETH и разложена на три кошелька; 26 сентября всё это меньше чем за час ушло в Tornado Cash. Вторая выплата, 90 202 USDC, не двигалась: она по-прежнему на кошельке атакующего, и на 30 сентября Circle её не заморозил.
1,92 млн USDC
выплатил мост 24 сентября двумя порциями
~682 ETH
в Tornado Cash 26 сентября, 06:09–07:17 UTC
90 202 USDC
всё ещё на кошельке атакующего, не заморожены
Railgun
откуда пришёл первый газ атакующего, 22 сентября
Что произошло
Payy — приватный роллап с мостом в Ethereum, 0x367C1eAF14AA06b78ce76bd0243297de79d85270. Мост выдаёт USDC, когда ему показывают действительное доказательство того, что та же сумма сожжена в роллапе. По разбору Payy, развёрнутый верификатор принял недействительное доказательство, и мост выплатил деньги, которые никто не сжигал: 1 828 589 USDC в 04:21 UTC 24 сентября и ещё 90 202 USDC в 09:30, оба раза на 0xAa4985dBDaBfACa344237D40F7E06C4a0BB57E70.
Обе выплаты вошли в собственные пакеты роллапа Payy, поэтому транзакции в Ethereum отправлял оператор Payy, а не атакующий. Этот адрес отправил тысячи обычных пакетов; это не атакующий, и мы его таковым не считаем.
Атакующий готовился заранее. Первый ETH на газ — 0,005 ETH — кошелёк получил из Railgun, протокола приватности, 22 сентября в 11:29 UTC. В тот же и на следующий день он дважды внёс в мост по 5 USDC обычным способом — для проверки.
Куда ушли деньги
Через минуту после первой выплаты атакующий перевёл 1,83 млн USDC на 0xb483B1742aaD0a60a9FC91bb36C5a42dbE3F3D38, который продал их через UniswapX примерно за 683 ETH. С 05:20 до 05:38 UTC этот ETH разложили на три части: 282,4 ETH на 0xe8d566E2f914dbd8309625e1792ed21fD0431956, 200 ETH на 0x888A21c48cF442e312bddd7c24B678f0C7132a2a и 200 ETH на 0x3d092740936dA4C5693DaE3633c7207A37F40104. До этого места след описал Unchained.
Затем три кошелька ждали два дня. 26 сентября, начиная с 06:07 UTC, каждый передал свой ETH ещё на один адрес — 0xF46e1e8Ca9a032f1C84b1451890ad0aedb5E0BeD, 0x2072f325f0Bb7e06c1D7C933a10886f794D4CC99 и 0x21D4A32a357c77e72dCe79810d54C7FCf5A19969, — а те внесли его в Tornado Cash: 180 ETH, 302 ETH и 200 ETH, последний депозит в 07:17. Ни на одном из этих кошельков ничего не осталось.
На кошельки вокруг этого взлома приходят поддельные токены USDC и «ETH» с адресов-двойников (0xb483…, 0xe8d5…, 0x888…), и некоторые обозреватели показывают их рядом с настоящими переводами. Это отравление адресов в расчёте на тех, кто копирует адрес из истории; к следу оно не относится и здесь не учитывается.
| Когда (UTC, 2026) | Откуда | Куда | Сумма | Транзакция |
|---|---|---|---|---|
| 24 Sep 04:21 | 0x367C1e…d85270 | 0xAa4985…B57E70 | 1,828,589 USDC выплата моста по недействительному доказательству | 0xf43abd…1e1814 |
| 24 Sep 09:30 | 0x367C1e…d85270 | 0xAa4985…B57E70 | 90,202 USDC вторая выплата — до сих пор на этом кошельке | 0xda88fb…4858c8 |
| 24 Sep 04:22 | 0xAa4985…B57E70 | 0xb483B1…3F3D38 | 1,828,595 USDC на кошелёк обмена, продано через UniswapX | 0xb2fd99…ca10e7 |
| 24 Sep 05:20–05:36 | 0xb483B1…3F3D38 | 0xe8d566…431956 | 282.4 ETH кошелёк-делитель | 0x798745…f09b95 |
| 24 Sep 05:37 | 0xb483B1…3F3D38 | 0x888A21…132a2a | 200 ETH кошелёк-делитель | 0xd2ef52…074f1a |
| 24 Sep 05:38 | 0xb483B1…3F3D38 | 0x3d0927…F40104 | 200 ETH кошелёк-делитель | 0x0b41b6…289a9e |
| 26 Sep 06:09–06:19 | 0xF46e1e…5E0BeD | 0xd90e2f…24F31b | 180 ETH в Tornado Cash | 0x1cfb68…5a9cf6 |
| 26 Sep 06:46–07:00 | 0x2072f3…D4CC99 | 0xd90e2f…24F31b | 302 ETH в Tornado Cash | 0xe5dfd9…b6dbf2 |
| 26 Sep 07:16–07:17 | 0x21D4A3…A19969 | 0xd90e2f…24F31b | 200 ETH в Tornado Cash | 0x0415dc…cf64f4 |
Что ещё можно заморозить
Вторая выплата, 90 202,82 USDC, не двигалась с момента поступления 24 сентября в 09:30 UTC. Она лежит на 0xAa4985dBDaBfACa344237D40F7E06C4a0BB57E70. USDC выпускает Circle, который может заморозить адрес; 30 сентября мы проверили контракт USDC напрямую — этот адрес не в чёрном списке. ETH ушёл в Tornado Cash, но эту часть денег ещё можно вернуть.
Чего эта страница не утверждает
Она никого не называет. Она не говорит, кто управляет кошельком атакующего, а депозит в Railgun, из которого пришёл газ, по публичным данным к человеку не привязать.
Техническая причина — изложение самой Payy из её разбора; мы проверяли выплаты и движение денег, а не код верификатора.
Все восемь адресов атакующего с этой страницы перечислены на нашей странице инцидента, так что любой, кто проверит один из них, найдёт это дело.
Источники: данные Ethereum (Blockscout) на 30 сентября 2026 года, isBlacklisted контракта USDC проверен напрямую в тот же день; разбор Payy — о причине; материал Unchained — о первых шагах. Долларовые суммы по цене ETH конца сентября. Это информационный материал о транзакциях между адресами, а не финансовый или юридический совет, и он никого не называет виновным.