Пять атак за десять дней: как теряют криптовалюту из-за слабых паролей, открытых функций и доверия к магазину
26.10.2026 CoinKyt Company
9 мин
share button

С 6 по 24 октября 2026 года аналитики КоинКит зафиксировали пять инцидентов в криптоэкосистеме. За десять дней злоумышленники похитили в общей сложности более $6,4 млн — используя совершенно разные методы: от предсказуемых паролей до шестилетних забытых аукционов.

 


MakerDaoBot: 200 ETH пролежали шесть лет — и достались чужому


Дата:
6 октября 2026 года

Сеть:
Ethereum

Ущерб:
~$542 тыс.


В марте 2020 года, во время одного из крупнейших обвалов криптовалютного рынка, автоматический бот участвовал в ликвидационных аукционах протокола MakerDAO. Чтобы понять произошедшее, нужно объяснить, как работает MakerDAO.


MakerDAO — это децентрализованный кредитный протокол. Пользователи могут получить кредит в стейблкоине DAI, оставив в залог криптовалюту. Стейблкоин — это токен, привязанный к стоимости доллара: 1 DAI = 1 доллар. Если цена залога резко падает и перестаёт покрывать сумму долга, протокол автоматически выставляет залог на аукцион, чтобы погасить кредит. Именно на таких аукционах в марте 2020 года работал сторонний ликвидационный бот.


Бот выиграл четыре аукциона по 50 ETH каждый, предложив нулевую цену — это была законная стратегия в условиях хаоса того дня. Однако победитель аукциона обязан был завершить сделку отдельной транзакцией. Бот этого не сделал. 200 ETH зависли в системе и пролежали там более шести лет.


В октябре 2026 года злоумышленник обнаружил в смарт-контракте этого бота критическую ошибку: одна из функций позволяла любому желающему получить права управления активами бота. Смарт-контракт — это программа, которая автоматически исполняет заданные правила в блокчейне без участия людей. В данном случае правила были написаны с ошибкой: не было проверки, кто именно вызывает функцию. Злоумышленник создал собственный контракт, наделил его правами бота и завершил все четыре незакрытых аукциона 2020 года. 200 ETH перешли под его контроль.


Движение средств.
После получения 200 WETH на адрес контракта злоумышленника 0xF09A13072ed939B79bC25b66AA3a836eA6DcC170 средства прошли через промежуточный адрес 0xEc997d2aD033277913d6002277353368E8321dcF, где были обменяны на ETH, затем поступили на адрес 0x01EB957E5C7DcDDD60F3C875956cCc6fb9BdA5FA. Далее 200 ETH были отправлены двадцатью равными транзакциями по 10 ETH в Tornado Cash — криптомиксер, который перемешивает транзакции множества пользователей, скрывая их происхождение.


Анализ КоинКит.
Бот шесть лет не трогал средства, которые ему причитались. Это типичная ситуация «мёртвого» контракта: никто не следит, никто не обновляет код, а деньги на нём есть. Злоумышленнику даже не нужно было взламывать ничего сложного — достаточно было найти контракт, про который все забыли.

 


Qubic: предсказуемый пароль обошёлся в 2,94 трлн токенов


Дата:
17–18 октября 2026 года

Сеть:
Qubic

Ущерб:
~2,94 трлн QU (~1 404 кошелька)


Qubic — это криптовалютная сеть, использующая собственный токен QU. Чтобы создать кошелёк в Qubic, нужна seed-фраза — уникальный набор из 55 строчных латинских букв, который служит паролем от кошелька. Кто знает эту фразу — тот и владеет средствами.


Проблема заключалась в том, как именно генерировались эти фразы. В кошельке Qubic для генерации использовалась функция JavaScript Math.random(). Если представить надёжный генератор случайных чисел как кубик с миллиардами граней, то Math.random() — это кубик с несколькими тысячами граней, причём предсказуемый: зная, когда он был брошен, можно угадать результат.


Эта функция не предназначена для криптографии — она создаёт псевдослучайные числа, которые при определённых условиях можно воспроизвести. Особенно уязвимыми оказались устройства Apple: iPhone, iPad, Mac с браузером Safari и приложение Qubic для iOS до июля 2025 года.


Злоумышленник восстановил seed-фразы 1 404 кошельков и в течение двух дней — 17 и 18 октября — перевёл с них около 2,94 трлн QU на семь адресов-сборщиков. Около 379 млрд QU (12,9% от похищенного) было направлено на биржу MEXC — биржа заморозила принимающий аккаунт. Основная часть — около 2,56 трлн QU — осталась на кошельках злоумышленника. Чтобы остановить дальнейший вывод средств, команда Qubic приостановила работу всей сети на отметке tick 85 371 949.


После атаки генерация seed-фраз была исправлена: Math.random() заменили на crypto.getRandomValues() — криптографически стойкий генератор, специально предназначенный для таких задач. Однако кошельки, созданные до исправления, по-прежнему уязвимы, если их seed-фраза не была пересоздана.


Анализ КоинКит.
Атака на Qubic — классический пример того, как уязвимость в инструменте генерации ключей ставит под угрозу сразу тысячи пользователей. Примечательно, что речь идёт не о взломе блокчейна и не о краже паролей у конкретных людей: злоумышленник просто перебрал математически предсказуемые комбинации. Если вы создавали кошелёк Qubic на устройстве Apple до октября 2026 года — немедленно переведите средства на новый кошелёк.

 


Cysic: поддельное сообщение — и 10 миллионов токенов из воздуха


Дата:
17 октября 2026 года

Сети:
BNB Smart Chain, Ethereum

Ущерб:
~$727 тыс. (~306,52 ETH)


Cysic — это криптовалютный проект с собственным токеном CYS. Для перемещения токенов между разными блокчейнами (например, из сети BNB в сеть Ethereum) используется кроссчейн-мост. Мост — это технический инструмент, который принимает токены в одной сети, блокирует их там и выпускает эквивалентное количество в другой сети. Именно в инфраструктуре такого моста и была найдена уязвимость.


17 октября злоумышленник получил несанкционированный доступ к базе данных, которую использовали сервисы, обеспечивающие работу моста. Затем он отправил поддельное сообщение — инструкцию о том, что якобы в сети BNB Smart Chain нужно выпустить токены. Система обработала это сообщение как настоящее и выпустила 10 миллионов токенов CYS на адрес злоумышленника 0xA4e1827Fe2664fD0797a55e442b2e2639449C255. За этими токенами не стояло никакого реального обеспечения — они появились из воздуха.


За 1 час 16 минут, пока адрес не был заблокирован, злоумышленник успел продать около 7,2 млн CYS, получив примерно 588 тыс. USDT и 220 BNB. Оставшиеся 2,8 млн CYS были заморожены после внесения адреса в чёрный список. После обнаружения инцидента Cysic приостановила работу моста.


Движение средств.
Полученные активы были выведены из сети BNB в Ethereum через кроссчейн-сервисы Mayan и deBridge. На адрес злоумышленника в сети Ethereum поступило около 306,6 ETH, которые пятью транзакциями были переведены на адрес 0x1106de394da07e90b02161465ea0421b74db4691, где и остаются на момент расследования.


Анализ КоинКит.
Кроссчейн-мосты остаются одной из наиболее уязвимых точек в криптоэкосистеме. Компрометация не самого контракта, а базы данных и системы обработки сообщений — всё чаще встречающийся сценарий. Злоумышленник не взламывал блокчейн: он взломал инфраструктуру вокруг него.

 


AlpsCon: тестовый адрес остался в боевой системе — и обошёлся в $152 тыс.


Дата:
18 октября 2026 года

Сеть:
BNB Smart Chain

Ущерб:
~$152 тыс. USDC


AlpsCon — платформа, где пользователи могут размещать токены ALPS в стейкинге и получать вознаграждения в USDC. Стейкинг — это добровольная блокировка токенов на определённый срок; взамен платформа платит проценты, как депозит в банке. Атаку обеспечили сразу две ошибки.


Первая ошибка.
При разработке и тестировании платформы программисты добавили в список «доверенных пользователей» стандартный тестовый адрес инструментов Hardhat и Anvil. Это обычная практика на этапе разработки — но когда платформа запускается для реальных пользователей, такие тестовые адреса необходимо удалять. Приватный ключ от этого адреса общеизвестен и опубликован в документации инструментов. Иными словами, разработчики случайно оставили в боевой системе «мастер-ключ», доступный всем.


Вторая ошибка.
После обновления платформы старый стейкинг-контракт продолжал принимать токены, а новые контракты при расчёте вознаграждений не учитывали реальную дату внесения средств. Это означало: можно внести токены прямо перед выплатой — и получить вознаграждение за весь предшествующий период, как будто токены лежали там с самого начала.


Злоумышленник воспользовался механизмом EIP-7702 — инструментом, позволяющим обычному адресу временно действовать как смарт-контракт — чтобы работать от имени тестового адреса. Взяв флэш-лоан (мгновенный кредит, который нужно вернуть в рамках одной транзакции) в размере ~1,03 млн USDC, он купил токены ALPS, разместил их в старом стейкинг-контракте и получил вознаграждение за весь предшествующий период — около 355 тыс. USDC. Затем вывел токены, продал их, вернул кредит. На адресе злоумышленника 0x3d9DF7D20D8296286383ffe475aA7b9e548946b2 осталось ~152 тыс. USDC, где средства и находятся на момент расследования.


Анализ КоинКит.
Тестовые адреса с публичными ключами в боевых системах — одна из самых распространённых и при этом легко предотвратимых ошибок в разработке. Второй баг с вознаграждениями дополнил картину: даже если убрать тестовый адрес, логика расчётов всё равно позволяла получать незаработанные выплаты. Два независимых просчёта сработали вместе.

 


X100 Global: голосование, Flash Loan и казна протокола за одну транзакцию


Дата:
24 октября 2026 года

Сеть:
Ethereum

Ущерб:
~$4,85 млн


X100 Global — децентрализованный протокол с собственной системой управления под названием Senate (Сенат). Senate — это орган, который принимает решения об использовании средств казначейства протокола. Казначейство — это общий фонд проекта, в котором хранятся токены X. Места в Senate распределялись в зависимости от того, сколько токенов X заблокировал участник: больше токенов — больше мест и голосов.


24 октября злоумышленник воспользовался сразу тремя уязвимостями в этой системе.

  1. Места в Senate можно было получить временно, взяв флэш-лоан на токены X. Флэш-лоан — это мгновенный кредит в криптовалюте: деньги выдаются и должны быть возвращены в рамках одной транзакции, занимающей долю секунды. За это мгновение злоумышленник успел заблокировать токены и получить большинство мест в Senate.
  2. Между голосованием и исполнением решения не было никакой задержки (timelock). Обычно в серьёзных проектах даже после принятого голосованием решения существует период ожидания — от нескольких часов до нескольких дней, — чтобы сообщество могло отреагировать. Здесь этого не было.
  3. Казначейство могло продавать токены в любой пул без защиты от невыгодного обмена. Злоумышленник заранее создал собственный пул с минимальной ликвидностью и указал его как адресата сделки, установив допустимый минимум получения в ноль.


В результате за одну транзакцию злоумышленник: взял кредит → получил большинство в Senate → провёл голосование → исполнил решение → казначейство продало 400 тыс. токенов X в его пул за 35,68 USDT → он забрал токены и продал их через нормальный пул → вернул кредит. Итог первой атаки: 4 749 726 USDT. Затем аналогичным способом были проведены ещё две атаки. Общий ущерб составил ~$4,85 млн.


Движение средств.
После первой атаки злоумышленник обменял USDT на 2 022,86 ETH через UniswapX и перевёл их на промежуточный адрес 0x8296721489d0a7e934edd66ea27159b1c88a42e5. Оттуда 1 600 ETH были распределены по четырём адресам по 400 ETH каждый:

  • 0x4fdb9f9a44b356c8a9c2ea060a40fb7a9caabef3
  • 0x64b135af3d80733c9c290d58873e2cccb34a81ae
  • 0x6790cf09ba33d05ada2c13cbb4104f5b8b666391
  • 0xf637dcee7dd96e8fdab926c5993d558b52d635ea


Оставшиеся 422,86 ETH остались на промежуточном адресе.


Средства второй атаки (~96 тыс. USDT, ~40,9 ETH) поступили на адрес 0xedac2d8905bf2bf0033872d420c4ec6ef1ddd0c8 и были выведены через OKX DEX на обменник ChangeNOW.


Средства третьей атаки (549 916 X и ~1 909 USDT) поступили на адрес 0x0a67804462f04b0be1c433fb1c2f7fb76e5166f2. Часть токенов X была продана за ~1 000 USDT, ещё 2 488 USDT обменяны через Velora на ~1,08 ETH. Оставшиеся 548 723 X хранятся на том же адресе.


Визуализация движения средств: https://explorer.coinkyt.com/visualization/share-visualization/vis-0589f5e79f764999ba06c676d2d9cb7c


Анализ КоинКит.
Атака на X100 Global — учебниковый пример того, почему системы управления DAO (децентрализованных автономных организаций) требуют защиты от флэш-лоанов и обязательных периодов ожидания перед исполнением решений. Злоумышленник не нашёл уязвимость в коде — он использовал архитектурные решения ровно так, как они были задуманы, просто в своих интересах. Протокол сделал всё, что ему сказали. Проблема была в том, кто это сказал и насколько быстро.

 


Заключение


Пять инцидентов за десять дней — и ни одного похожего. Предсказуемый генератор случайных чисел в Qubic, забытый контракт в MakerDAO, поддельное сообщение мосту в Cysic, тестовый адрес в боевой системе AlpsCon, архитектурная уязвимость управления в X100 Global. Каждый случай — отдельная точка отказа.


Общий ущерб превысил $6,4 млн за десять дней. При этом большинство атак не были технически изощрёнными: злоумышленники использовали то, что уже было встроено в системы — просто не так, как задумывалось. Это подтверждает статистику: самые дорогие инциденты нередко возникают не там, где ждут взлома.