Взлом 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:210x367C1e…d852700xAa4985…B57E701,828,589 USDC
выплата моста по недействительному доказательству
0xf43abd…1e1814
24 Sep 09:300x367C1e…d852700xAa4985…B57E7090,202 USDC
вторая выплата — до сих пор на этом кошельке
0xda88fb…4858c8
24 Sep 04:220xAa4985…B57E700xb483B1…3F3D381,828,595 USDC
на кошелёк обмена, продано через UniswapX
0xb2fd99…ca10e7
24 Sep 05:20–05:360xb483B1…3F3D380xe8d566…431956282.4 ETH
кошелёк-делитель
0x798745…f09b95
24 Sep 05:370xb483B1…3F3D380x888A21…132a2a200 ETH
кошелёк-делитель
0xd2ef52…074f1a
24 Sep 05:380xb483B1…3F3D380x3d0927…F40104200 ETH
кошелёк-делитель
0x0b41b6…289a9e
26 Sep 06:09–06:190xF46e1e…5E0BeD0xd90e2f…24F31b180 ETH
в Tornado Cash
0x1cfb68…5a9cf6
26 Sep 06:46–07:000x2072f3…D4CC990xd90e2f…24F31b302 ETH
в Tornado Cash
0xe5dfd9…b6dbf2
26 Sep 07:16–07:170x21D4A3…A199690xd90e2f…24F31b200 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 конца сентября. Это информационный материал о транзакциях между адресами, а не финансовый или юридический совет, и он никого не называет виновным.