September 28, 2025

🧨 “Твой счёт — ПУСТ.” Как слабая энтропия в Trust Wallet превратилась в кошмар

Субботнее утро. Ты как обычно проверяешь кошелёк — возможно мысленно подбадриваешь себя, думаешь: «О, биток подрос, скорее всего портфель снова в плюсе».
Открываешь Trust Wallet — и всё рухнуло:

Что!? Твой Счёт ПУСТ.

Ни следа твоих активов, ни объяснения, лишь одна транзакция на неизвестный кошелёк. Ты видишь их на другом кошельке - вот же они! Но к сожалению ты можешь на них теперь только смотреть, тебе они больше не принадлежат...


🧠 Прежде чем начать — что такое энтропия в крипте?

Энтропия — это «случайность», или степень непредсказуемости.
Когда ты создаёшь криптокошелёк, приложение должно сгенерировать набор случайных чисел, которые и становятся твоими приватными ключами (и seed-фразой, те самые 12 слов). Чем выше энтропия — тем сложнее кому-либо угадать или подобрать твой ключ.

Если генератор случайных чисел слабый, то создаваемые фразы не такие уж и случайные — и их можно предсказать.

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

Именно такой случай произошёл с Trust Wallet — и миллионы пользователей могли даже не знать, что с момента создания их кошелёк был на шаг ближе к взлому, чем они думали.


🎯 Почему такие истории не фантазии — они реальны

⚠️ Уязвимость Trust Wallet: Entropy, PRNG и 32 бита

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

Другими словами — злоумышленник, который знал адрес, мог (без какого-либо взаимодействия с пользователем) вычислить приватный ключ и украсть всё, что на нём находилось. Это была не эксплойта активной системы, а дефект из самого акта генерации. Ledger+1

Исследователи проследили, что Trust Wallet использовал алгоритм MT19937 (Mersenne Twister) — алгоритм, применимый для псевдослучайности, но крайне уязвимый, если начальное «зерно» (seed) получает предсказуемые значения (например, метка времени). Milk Sad+3Milk Sad+3Ledger+3

В отчёте milksad.info описано, как при отсутствии хорошего источника энтропии код Trust Wallet «вытягивает» данные из MT19937, но только старшие 8 бит каждого 32-битного вывода — что сужает пространство ещё сильнее. Milk Sad

Именно поэтому была возможность полного перебора (brute force) многих сид-фраз, особенно тех, что генерировались на устройствах с плохим источником случайности (например, быстро загруженные приложения, минимальная инициализация). Tangem+2Ledger+2


📖 Реальные истории с Reddit: как это проявляется в жизни

Вот выдержка из одного из обсуждений на r/CryptoTechnology:

“I accidentally ‘hacked’ into a dozen different wallets while trying out possible seed phrases to my Trust Wallet.”
“…ended up unlocking a dozen different wallets by accident. Unfortunately, none of those wallets belong to me or have any value.” Reddit

Пользователь описывает, как пытаясь восстановить забытые слова, случайно «открыл» множество кошельков, которые вели себя корректно — но были пусты. Это подтверждает, что существует множество сид-фраз, действительных, но без активов (или уже опустошённых). Reddit

Другой участник комментирует:

“You didn’t hack into a wallet, you just created new ones … all wallets that will ever exist already do exist; your seed phrase just gives you access.” Reddit

То есть многие попытки перебора не разоблачают чужие активы — они лишь открывают существующие, но неиспользованные кошельки. Но то, что эти кошельки существуют, уже тревожно.

Такие истории ставят под сомнение уверенность в том, что «твои ключи — твоя крипта». Что если алгоритм генерации был дефектным с самого начала?


💥 К чему это привело пользователей TrustWallet на мобильных устройства и в расширениях браузеров на ПК.

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

Именно это и произошло.

📉 Благодаря ограниченному пространству энтропии (всего 32 бита в некоторых случаях), хакеры смогли:

  1. Сгенерировать миллионы возможных сид-фраз, часть из которых реально использовалась пользователями;
  2. Автоматизировать процесс — их программы заходили на каждый такой кошелёк;
  3. Проверяли, есть ли на нём активы;
  4. Если был баланс — моментально выводили всё подчистую.

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

Это не взлом. Это математическое ограбление по API.

И именно поэтому ты однажды открываешь Trust Wallet… и видишь, что счёт — пуст. Не из-за ошибки. Из-за того, что твой приватный ключ оказался слишком предсказуемым.

🔬 Аналогичные инциденты и масштаб проблемы

  • Old Wallets, Weak Keys — блог Tangem поднимает тему крупнейшего хищения (127 426 BTC), связанного с предсказуемостью ключей, указывая, что многие громкие кражи в истории криптовалют — не из-за новых уязвимостей, а из-за слабой энтропии. Tangem
  • Trust Wallet Low Entropy объявление — в январе 2024 SecBit описал, как в 2023 году Trust Wallet признал слабость генерации случайных чис в расширении браузера. secbit.io
  • Milksad disclosure — глубокий анализ показывает, что код Trust Wallet (Wasm / библиотека) применял MT19937 и снижал пространство случайности, что делает перебор возможным. Milk Sad

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


🎭 Почему это — страшно

  1. Ты ничего не понял — деньги ушли ещё на этапе создания кошелька
    Ты думаешь: «Я сделал всё правильно». Но кошелёк с самого начала имел предсказуемость.
  2. Не надо фишинга — просто знание адреса + перебор
    Даже отсутствие взаимодействия с пользователем — кошелёк можно взломать, не трогая телефон.
  3. Сложность пост-фактум доказательств
    Если кошелёк уничтожен или пересоздан — нельзя доказать, что именно конкретная уязвимость украла деньги.
  4. Массовый эффект
    Сотни тысяч кошельков могли попасть под угрозу — особенно созданные в бета-версиях, расширениях или на слабых устройствах.

🧱 Как защититься (и что делать, если ты в зоне риска)

  • Немедленно перенеси активы, если кошелёк был создан в Trust Wallet до 2023 или в расширении браузера. Используй новую seed, сгенерированную на надёжном устройстве.
  • Выбирай кошельки с проверенной генерацией: холодные кошельки, устройства с аппаратным энтропийным модулем (True RNG), проекты с открытым исходным кодом, многоступенчатые сигнатуры.
  • Проверка случайности (self-audit): в некоторых кошельках можно визуализировать статистику Битовой энтропии, посмотреть что значение seed распределено равномерно.
  • Разделяй использование: адреса, на которых лежат крупные суммы, не должны быть генерированы тем же шаблоном, что и твой «рабочий» кошелёк.
  • Сидка - это не 12 слов: Начни создавать сид фразы состоящие из 24-36 слов, многие кошельки уже предлагают это из коробки

🧩 Итог: разрыв между верой и реальностью

В криптомире принято считать, что если ты контролируешь ключи — ты контролируешь активы. Но что если эти ключи изначально были «на грани угадываемости»?

Истории Reddit, детали уязвимости Trust Wallet, анализ энтропии — всё говорит о том, что не всегда ошибка пользователя ведёт к потере. Иногда ошибка стоит глубже — в коде, в генерации, в том, что мы принимаем как должное.

В мире, где важна каждая единица крипты, слабые биты — могут стать твоим криптовым кошмаром.