Взлом X100: газ атакующему пришёл с FixedFloat, второй заход сделал кошелёк атакующего Limit Break, а все 2 022,86 ETH лежат на пяти адресах
PublicAML · Ончейн-расследование · 25 октября 2026
24 октября 2026 года одна транзакция в Ethereum заняла 1,94 млн USDT, купила столько X, чтобы занять два из трёх мест в Сенате X100 Global, и заставила казну проекта продать 400 000 X за 36 USDT. Атакующий получил 4 749 726 USDT, обменял их на 2 022 ETH и разложил на пять кошельков, где они и лежат. Это уже опубликовали Blockaid, ExVul и Chainalysis. Чего нет в отчётах: газ на атаку пришёл с горячего кошелька FixedFloat за пять минут до транзакции; второй кошелёк, повторивший ту же схему через 24 минуты, PublicAML занёс в базу ещё 29 сентября как кошелёк атакующего из слива Limit Break — и он вывел свои 96 382 USDT через ChangeNOW за двадцать минут; а третий заход, 549 915 X, до сих пор лежит на кошельке, который продаёт их по десять штук.
4 749 726 USDT
чистыми у атакующего после одной транзакции в 14:11:47 UTC 24 октября, после возврата флэш-займа
2 022,86 ETH
во что превратились USDT и где они: 4 × 400 ETH на четырёх новых кошельках и 422,86 ETH на распределительном; ничего не уходило на 18:00 UTC 25 октября (около $4,77 млн)
14:05 UTC
когда FixedFloat перевёл атакующему 0,021 ETH, потом 0,84 ETH — за шесть и пять минут до атаки
96 382 USDT
взял второй транзакцией кошелёк, который уже был в списке атакующих Limit Break у PublicAML; 40,9 ETH из них дошли до депозитного адреса ChangeNOW к 14:57 UTC
Что известно
X100 Global — казна стейблкоина вокруг токена X (0x100a2c7f45fd48e217fdce72e658dc78fd43a100), которой управляет Сенат из трёх мест: кандидатом мог стать любой за взнос 100 X, места доставались крупнейшим балансам, замороженным в контракте Freezer (0x79f35a33fe2813414851c4ae8daeacd14d822a46) на данный момент, а предложение можно было создать, проголосовать и исполнить в одной транзакции. Blockaid зафиксировал эксплойт в 14:49 UTC 24 октября, ExVul разобрал транзакцию, BlockSec оценил потери примерно в $4,75 млн, Chainalysis сообщил, что стейблкоины обменяны на ETH и разложены по четырём кошелькам по 400 ETH. Позже Blockaid насчитал около 4,85 млн USDT и примерно 550 000 X, выведенных тремя транзакциями; X упал более чем на 96%. Заявления от X100 Global на момент написания не было.
Транзакция, прочитанная из блокчейна
Кошелёк атакующего 0x7ec2afdf3ec5964899894f8d58afa95cbb8ffd63 отправил одну транзакцию в 14:11:47 UTC (блок 26 263 022). Она развернула контракт (0x89e903e4512F8a315ceBD99c29a1e40EeE6Fe2C9), тот развернул координатор (0x37541fc4a6f1ec86889ba506f51dc39f2bedd10a), который занял 1 942 457 USDT в Aave v3, купил 38 200 X в пуле Uniswap V3 X/USDT (0x0D85edD90c94053Fc5997551b1BAa8A77Aa02Fa0) и разделил их по 19 100 на два вспомогательных контракта. Каждый заморозил 19 000 X и заплатил взнос кандидата 100 X: два места в Сенате, купленные на один блок.
С большинством координатор заставил казну вызвать собственный v3Swap с минимальным выходом ноль и продать 400 000 X в пул Dackie V3 (0x9A03c41c539880b51508bEbbc2Dde7B738f6f075), который атакующий создал в той же транзакции. Казна получила 35,68 USDT; атакующий забрал из пула 399 987 X, продал 131 703 из них в пул Uniswap за 6 693 090 USDT, вернул Aave 1 943 429 USDT и передал 4 749 726 USDT на деплойер, а затем на кошелёк. Оставшиеся 268 284 X остались в координаторе.
Через четыре минуты кошелёк продал USDT через UniswapX (два исполнения от реактора голландских ордеров 0x00000011F84B9aa48e5f8aA8B9897600006289Be: 851,54 и 1 170,47 ETH) и к 14:19 UTC перевёл все 2 022,86 ETH на распределительный кошелёк 0x8296721489d0a7E934edd66ea27159B1C88A42e5. Тот отправил по 400 ETH на четыре новых адреса между 14:39 и 14:43 UTC и оставил себе 422,86. На 18:00 UTC 25 октября все пять балансов без изменений: 400, 400, 400, 400 и 422,86 ETH — около $4,77 млн по $2 357.
Откуда газ: FixedFloat, за пять минут до атаки
Кошелёк атакующего был новым. Первые два входящих перевода — 0,021 ETH в 14:05:59 UTC и 0,840 ETH в 14:06:59 UTC, оба с 0x4E5B2e1dc63F6b91cb6Cd759936495434C7e972F, горячего кошелька, который данные PublicAML относят к обменнику FixedFloat. Транзакция атаки последовала в 14:11:47 и сожгла 0,0195 ETH газа. Больше кошелёк никто не пополнял. Мгновенный обмен без аккаунта — обычный способ профинансировать кошелёк для атаки; но это значит, что у обменника есть запись, чем и откуда были оплачены эти 0,86 ETH.
Второй заход: кошелёк атакующего Limit Break, вывод через ChangeNOW
В 14:35:35 UTC, через 24 минуты после первой транзакции, второй кошелёк 0xfc3fAcD67138966aB0c841E905B0C4BCA1AbE92F повторил ту же схему против уже опустошённого Freezer: флэш-займ 1,95 млн USDT в Morpho, куплено 38 202 X, 2 × 19 100 X заморожены через два вспомогательных контракта, пять оставшихся позиций казны в Uniswap V3 сожжены, 50 000 X проданы. Кошелёк оставил себе 96 381,88 USDT, выплаченных на 0xEDac2D8905bF2Bf0033872D420C4ec6ef1dDd0c8.
Это не новый кошелёк. У 0xfc3fAcD67138966aB0c841E905B0C4BCA1AbE92F 1 928 транзакций, и 29 сентября 2026 года PublicAML занёс его в базу как один из кошельков атакующего в сливе Limit Break Payment Processor V2, где он забрал 10,6 WETH у держателей с открытыми разрешениями. Газ 23 октября он получил с того же депозитного адреса ChangeNOW, на который на следующий день вывел деньги.
Вывод занял двадцать минут. 0xEDac2D8905bF2Bf0033872D420C4ec6ef1dDd0c8 обменял USDT примерно на 40,9 ETH через DEX-роутер OKX в 14:37–14:38 UTC, отправил 10 ETH на 0x35DcAbCB77153FD2220FE547D8a8Af4196e0814D в 14:45 и 30,9 ETH на 0x37069ea6a24b754b05B4AD9e7D9923b4eeab99aB в 14:48, и каждый транзитный кошелёк переслал всю сумму на 0x3f3Ee0a9cAC2d01DB44001eca3E8382fbe40207B в 14:54 и 14:57 UTC. Etherscan помечает этот адрес как «ChangeNOW Dep», в данных PublicAML та же атрибуция. На кошельке прибыли остаётся 9 895 X.
Третий заход: 549 915 X, продаются по десять штук
В 14:40:47 UTC третий кошелёк 0xDAB137F390dF77caA97fd492540E973fd5e2F8c8 развернул контракт, который занял 300 USDT в Aave и вытащил из Freezer 549 969 X и 1 949 USDT через тот же пул Dackie. 549 915 X и 1 909 USDT легли на 0x0A67804462F04B0be1c433fB1C2F7fb76e5166F2 — кошелёк, который 1 октября пополнил 0xDAB137F390dF77caA97fd492540E973fd5e2F8c8 на 0,1 ETH. С тех пор 0x0A67804462F04B0be1c433fB1C2F7fb76e5166F2 скармливает X в пул Uniswap через лимитные ордера 1inch партиями по 1–20 токенов за несколько USDT и держит почти всё. По цене после обвала, которую приводит Blockaid, меньше $2, стопка стоит заметно меньше $1 млн; по цене до атаки это было бы около $28 млн.
Чего эта страница не утверждает
Она не говорит, кто атакующий, и не говорит, что FixedFloat, ChangeNOW, Aave, Morpho, Uniswap, Dackie или OKX сделали что-то не так: обменники приняли и выплатили средства так же, как любому клиенту, а контракты займов и обменов исполнили код. Она не говорит, что второй и третий кошельки — это первый атакующий: они использовали ту же уязвимость после того, как она стала публичной, и у второго своя история. Механизм первыми описали Blockaid, ExVul и BlockSec; четыре кошелька по 400 ETH — Chainalysis. Финансирование с FixedFloat, связь с Limit Break, вывод через ChangeNOW, третий кошелёк и балансы — собственное чтение блокчейна PublicAML 25 октября 2026 года.
Адреса по этому делу
Кошелёк и контракты атакующего (Ethereum)
Где лежат 2 022,86 ETH (Ethereum)
Второй заход: кошелёк Limit Break и его вывод (Ethereum)
Третий заход: 549 915 X (Ethereum)
Проверьте адрес сами
Бесплатно, без регистрации. Вставьте любой адрес и посмотрите, связан ли он с этим или другим инцидентом:
Источники: посты Blockaid, ExVul и BlockSec от 24 октября 2026; Chainalysis в пересказе Coinfomania и The Defiant 24–25 октября; news.bitcoin.com и Dev.to (Panda Security) по механизму; данные Ethereum через Blockscout и публичные ноды; метки Etherscan для адреса ChangeNOW; прочитано PublicAML 25 октября 2026. Цены: ETH $2 357 (CoinGecko, 25 октября). Это информационный ресурс о транзакциях между адресами, а не финансовая или юридическая консультация; он не называет ни одного человека ответственным за что-либо.