Наш Telegram
КурсыBTC $76 689 −1,7%ETH $2 252 −1,3%TON $1,160 −3,2%SOL $92,00 −2,4%USDT/RUB 81,63 ₽

Атака на X100: флеш-кредит купил два места в «Сенате» проекта, и казна продала 400 000 токенов за $35,68

24 октября атакующий взял флеш-кредит, обошёл сенатора X100 на одну миллионную токена и проголосовал за продажу казны в свой пул. Ошибки в коде не было: в механизме не оказалось снапшотов, сроков владения и таймлоков.

Автор: Редакция КриптоПанкс
Атака на X100: флеш-кредит купил два места в «Сенате» проекта, и казна продала 400 000 токенов за $35,68
Коротко
  • Места в Сенате доставались трём кошелькам с наибольшим количеством замороженных X, причём прямо в текущий момент: без снапшотов, без минимального срока владения и без задержки исполнения.
  • Атакующий обошёл действующего сенатора на одну миллионную X — минимальную долю, которую считает токен.
  • По подсчёту Bitquery, около 99% долларов, которые зашли в пул в день атаки, принесли сами члены Сената.

Атака на X100 обошлась без единой ошибки в коде: 24 октября атакующий занял флеш-кредитом два из трёх мест в «Сенате» проекта, проголосовал сам с собой и заставил казначейство продать 400 000 токенов X за $35,68. Итог — около $4,75–4,85 млн в USDT у атакующего и обвал токена больше чем на 96%.

Что произошло

X100 Global — новый проект на Ethereum с токеном X. Казна хранится в контракте Freezer: держатели «замораживают» в нём X на год, три или пять лет. Любой, кто заморозил X, может за 100 X выдвинуться в Сенат, а сенаторами становятся три крупнейших стейка в моменте. Двух голосов «за» достаточно, чтобы предложение прошло, а выполнить его можно в той же транзакции, что и голосование.

По разбору Bitquery, первая атака уложилась в одну транзакцию в 14:11:47 UTC (17:11 по Москве):

  1. Флеш-кредит на $1,94 млн в USDT из Aave.
  2. Покупка 38 200 X и заморозка через два вспомогательных контракта — каждый на 19 000,000001 X, ровно на миллионную больше, чем у второго сенатора.
  3. Один контракт предлагает своп с описанием «testnet flash governance proof», второй голосует «за».
  4. Казна продаёт 400 000 X в пул, который атакующий создал в той же транзакции и положил туда $100. Минимальная цена — ноль, казна получает $35,68. На бумаге отданные X стоили $20,3 млн.
  5. Атакующий продаёт 131 703 X в настоящий пул, возвращает кредит и оставляет себе $4,75 млн.

По оценке Bitquery, всё прошло «по правилам»: атакующие ничего не ломали, они просто использовали каждый шаг механизма так, как он был написан.

Почему атака на X100 сработала

Корень проблемы, по данным Exvul, которые цитирует 0xCERT, в функции applyForSenate: вступить в Сенат можно сразу за 100 X, а места распределяются по текущим замороженным балансам. Нет снапшота голосующей силы, нет требования к сроку владения, нет таймлока на исполнение. Плюс две детали сделали атаку дешёвой: своп-предложение проверяло только существование указанного пула, а минимальную цену задавал сам автор предложения.

Две защиты всё же сработали. Freezer после каждого предложения должен хранить не меньше X, чем заморожено пользователями, поэтому замороженные монеты держателей не тронули. И казна могла выставить на рынок не больше 1 000 000 X — этот лимит ограничил ущерб, и атакующие выбрали его до конца.

Самое неприятное в деталях. Сенат сформировался в тот же день, и его участники активно покупали X. Крупнейший покупатель, кошелёк 0xa13a, сделал последнюю покупку по $50,83 за токен за две минуты до атаки, и пул достиг максимума — около $4,75 млн. Первая атака забрала из него 99,98% долларов. То есть приз в основном состоял из денег самих сенаторов.

Вторая и третья волна

Через 24 минуты второй атакующий повторил трюк — уже с перевесом в две миллионные — и вытеснил первого из Сената. По данным Bitquery, он забрал $96 382 и выводил средства через ChangeNOW. Blockaid, по данным 0xCERT, сообщал, что второй атакующий также сжёг позиции Freezer в пулах Uniswap V3. ForkLog со ссылкой на Chainalysis пишет, что стейблкоины обменяли на ETH и разложили по четырём кошелькам по 400 ETH; Bitquery насчитал 2 022,86 ETH у первого атакующего в пяти новых кошельках и отмечает, что часть первых публичных подсчётов была неточной. Эти ETH, по данным Bitquery, пока не двигались.

Цифры ущерба у разных аналитиков расходятся: BlockSec оценивает около $4,75 млн, Blockaid — около $4,85 млн в двух транзакциях. 0xCERT объясняет разницу тем, что замеры делали в разное время. Токен X, по данным Bitcoin.com News, упал с $50–60 примерно до $1,75. Два из трёх мест в Сенате, по Bitquery, до сих пор занимают контракты второго атакующего, которые принимают вызовы от кого угодно.

Что это значит для тебя

Взломы через управление — не новость, но X100 — учебный пример того, как «децентрализованное голосование» без защит превращается в кнопку «забрать казну». Если проект даёт власть по текущему балансу, её можно взять в долг на одну транзакцию. На что смотреть, прежде чем заносить деньги в проект с DAO или «Сенатом»:

  • Есть ли снапшот голосующей силы на момент до предложения.
  • Есть ли минимальный срок владения токенами для голосования.
  • Есть ли таймлок между голосованием и исполнением.
  • Не может ли предложение само задать цену и выбрать пул.

Ещё одна свежая история о том, как проект за минуты остался без денег, — взлом Initia, где атакующий напечатал необеспеченные токены. А как выглядит нормальное голосование с долгим обсуждением, видно по голосованию PancakeSwap по The Flip.

0xCERT рекомендует не покупать X, не давать ликвидность и не замораживать токены, пока X100 не опубликует официальное заявление. На момент первых отчётов его не было.

FAQ

Атака на X100 — сколько украли? Оценки — от $4,75 млн до $4,85 млн в USDT у первого атакующего, плюс $96 382 у второго.

Это баг в коде? Нет. Механизм работал как написан: в нём не было снапшотов, сроков владения и таймлоков.

Пострадали ли замороженные X пользователей? По данным Bitquery, нет — их защищало правило о минимальном остатке во Freezer.

Что с токеном X? Упал больше чем на 96%, ликвидность в пулах почти исчезла.

Итог: атака на X100 показала, что голосование по текущему балансу без задержек — это не управление, а открытая дверь. Флеш-кредит превращает любого в кита на несколько секунд, и этих секунд хватило на $4,75 млн.

Материал не является инвестиционной рекомендацией. Крипта — высокий риск, решения принимаешь сам.

Второй этап выводов Binance стартует 3 ноября: BSC, Ethereum, Solana и ещё шесть сетей, отток уже замедлился
Новости
Второй этап выводов Binance стартует 3 ноября: BSC, Ethereum, Solana и ещё шесть сетей, отток уже замедлился
3 ноября 2026
LiquidChain: скам или нет? Проверка по 5 флагам
Скам-радар
LiquidChain: скам или нет? Проверка по 5 флагам
2 ноября 2026
Взломы октября: 56 атак на $6,48 млрд и рост на 745% — PeckShield подвёл итоги месяца с кражей у Binance
Новости
Взломы октября: 56 атак на $6,48 млрд и рост на 745% — PeckShield подвёл итоги месяца с кражей у Binance
1 ноября 2026

Будь в теме первым

Главные новости крипты, мемкоинов и нейросетей. Коротко, каждый день.