9 ноября xRocket, криптокошелёк и биржа внутри Telegram-бота @xrocket, остановил пополнения и выводы и перевёл средства с горячих кошельков на холодные. Команда объяснила остановку «признаками нетипичной активности» и написала, что свидетельств прямой компрометации платформы нет, а средства пользователей в безопасности. В сети TON перевод виден целиком: с 15:01 до 17:13 UTC с горячего кошелька ушли около 123,5 тыс. Gram, 376,7 тыс. USDT и ещё 94 вида жетонов. 10 ноября пополнения и выводы вернулись, но уже с новыми адресами для депозитов. Касается это всех, кто держит деньги на балансе xRocket или пополнял его в эти сутки.

Что сообщил xRocket

Пост в Telegram — @xrocketnewsru
Заявление xRocket 9 ноября, 17:30 UTC

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

В пересказах инцидент назвали хакерской атакой. Сам xRocket о взломе не пишет, и что именно насторожило систему безопасности, не раскрывает.

10 ноября в 11:02 UTC xRocket сообщил, что ситуация разрешена, платформа работает в штатном режиме, а по итогам разбора введены дополнительные меры защиты, какие — не уточняется.

Что делать пользователям

  • Пополнять — на новый адрес. Адреса для депозитов в xRocket сменились. Перевод на прежний адрес дойдёт, но пройдёт дополнительную проверку, и зачисление займёт до суток. Актуальный адрес — в разделе пополнения в боте.
  • Если перевод отправлен во время остановки, xRocket обещал зачислить его автоматически. Не пришло в течение дня — поддержка @TonRocketSupportBot.
  • Сообщения о «компенсациях» и «возврате средств» от имени xRocket после такого инцидента — повод для осторожности: настоящий бот один, @xrocket, и сид-фразу или код подтверждения он не спрашивает.

Что видно в блокчейне TON

Адреса кошельков в заявлении не названы. Горячий кошелёк, через который xRocket в тот день выплачивал выводы в TON, находится по истории переводов: 17 октября на него перешли 37,5 млн жетонов XROCK, собственного токена xRocket, с адреса, который 9 и 16 октября получил средства с кошельков, подписанных в tonapi как «xRocket Bot» и «xRocket Bot Cold Storage». Сам горячий кошелёк — EQAS2o…RX-qZG — в tonapi не подписан.

Время — UTC.

ВремяЧто произошло
9 ноября, 12:00–15:00обычная работа: 520–590 операций в час, крупнейшая выплата пользователю 14 900 USDT
15:01первый перевод на холодный кошелёк — 300 000 USDT
15:06–15:07120 000 Gram и 70 000 USDT
15:11последняя выплата пользователю со старого горячего кошелька
15:35–17:13на холодный кошелёк по одному уходят остальные 94 вида жетонов и остаток Gram и USDT
17:13–18:38ещё три кошелька переводят туда же около 5 тыс. Gram и 48,5 тыс. USDT
17:30заявление xRocket
19:40холодный кошелёк отправляет 200 000 USDT и 30 000 Gram на новый кошелёк для выплат
10 ноября, 06:16–06:19с холодного кошелька уходят 244 000 Gram и 2,39 млн USDT на другой адрес, с которого затем пополняется новый кошелёк для выплат
08:57первый пробный перевод с нового кошелька
09:29выплаты идут потоком
11:02xRocket объявляет, что платформа работает

Всего с горячего кошелька на холодный за два часа ушли 123 485,6 Gram и 376 691 USDT — около $506 тыс. по курсу Gram того дня ($1,05) — и ещё 94 вида жетонов, в том числе 38,8 млн XROCK, 2,28 млн NOT и 12,7 млн DOGS. На старом горячем кошельке осталось 0,15 Gram. Холодный кошелёк, EQBLAN…h32hZL, существовал и до инцидента: в октябре на него уже заводили крупные суммы.

Выводы в TON стояли с 15:11 UTC 9 ноября до 09:29 UTC 10 ноября — около 18 часов вместо объявленных двенадцати.

Горячий и холодный кошелёк

Сервис, который хранит деньги пользователей у себя, как xRocket, обычно держит на горячем кошельке столько, сколько нужно на ближайшие выплаты. Ключ от такого кошелька лежит на сервере, и выплаты он подписывает сам, без человека. Старый и новый горячие кошельки xRocket — контракты preprocessed wallet v2, рассчитанные на пакетные выплаты: несколько переводов одним сообщением. Холодный кошелёк в такой схеме выплат не делает: ключ от него, как правило, хранят вне серверов, и переводы с него подписывают вручную. Если есть подозрение, что сервер или ключ горячего кошелька скомпрометирован, деньги с него уводят туда, где этот ключ уже ничего не решает, — именно это и видно в транзакциях 9 ноября.

Новый кошелёк для выплат (EQDGrR…pJukJy) — другой контракт с другим ключом. Вместе со сменой адресов для депозитов это похоже на полную замену ключей, через которые идут деньги, но причину замены xRocket не называл.

Пострадали ли пользователи

По заявлению xRocket, средства пользователей целы. В сети TON это согласуется с тем, что видно: за три часа до остановки горячий кошелёк делал только обычные выплаты, крупнейшая — 14 900 USDT, а 9 ноября всё, что на нём лежало, ушло на холодный кошелёк и 10 ноября вернулось в оборот через новый кошелёк для выплат. Оттока на посторонние адреса, сравнимого с этими суммами, в тот день нет.

Проверено это только в сети TON и только для кошельков, найденных по истории переводов. xRocket принимает и другие монеты в их родных сетях — например, с 2 ноября Litecoin, — и что происходило с кошельками в них, по публичным данным TON не видно. Балансы пользователей внутри xRocket хранятся в базе сервиса, а не в блокчейне, и проверить их со стороны нельзя.

Неудобство для пользователей всё же было: около 18 часов нельзя было вывести и пополнить баланс, а переводы на старые адреса теперь зачисляются медленнее.

В TON этой осенью были и другие инциденты с деньгами, но устроены они иначе: из хранилищ Affluent вывели средства вкладчиков через ошибку в контрактах, из моста BabyDoge вывели токены без депозитов, а в случае xRocket деньги переложил сам сервис.

Вопросы

Взломали ли xRocket

Сам xRocket о взломе не говорит: в заявлении речь о «признаках нетипичной активности» и о том, что свидетельств прямой компрометации платформы нет. В сети TON видно, что 9 ноября средства с горячего кошелька ушли на холодный кошелёк xRocket, а не на посторонние адреса.

Работает ли xRocket сейчас

Да. 10 ноября пополнения и выводы снова доступны, выплаты в TON идут с нового кошелька с 09:29 UTC того же дня. Переводы на прежние адреса для депозитов проходят дополнительную проверку и зачисляются в течение дня.

Что делать, если пополнение ушло на старый адрес

Ждать: по словам xRocket, такие переводы зачисляются в течение дня после дополнительной проверки. Если не пришло, писать в поддержку @TonRocketSupportBot. Следующие пополнения — на новый адрес из бота.