12 способов Чек-лист От чего не спасёт Вопросы
Mitilena Mitilena Wallet Cold crypto wallet
ONLINE · 22,000+ COINS Создать кошелекСоздать
Честно про риски · 12 способов, 12 проверок

Как криптокошелек может украсть ваши деньги

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

Реальные случаи с датами и суммами Проверка за минуту под каждым Ответы про нас сверены с кодом
Цена ошибкипубличные инциденты
2025Bybit · подмена того, что подписывают1,5 млрд $
2022Wintermute · предсказуемый ключ160 млн $
2026Coldcard · предсказуемый ключ в аппаратном кошельке100+ млн $
2023Atomic Wallet · причина не названадо 100 млн $
2023Inferno Drainer · подписанные «разрешения»80+ млн $
2022Slope · сид-фразы в логах4+ млн $
2023Ledger Connect Kit · закладка в обновлении600 тыс. $
Разработчик с умыслом
Кошелек с самого начала сделан, чтобы собрать ключи. Живет недолго и маскируется под известный бренд.
Честный разработчик, которого взломали
Чужой код попадает в обновление через украденный аккаунт, зависимость или сборку. Самые дорогие случаи - отсюда.
Чужой код на вашем устройстве
Вирус, расширение браузера, «поддержка». Кошелек честный, но подпись происходит там, где сидит злоумышленник.
Двенадцать способов

Как именно уходят деньги - и что проверить у любого кошелька

Под каждым способом - что происходит, реальный случай, проверка за минуту и честный ответ, как с этим у Mitilena. Блоки «Как у нас» сверены с кодом пр��ложения. Не «поверьте на слово»: веб-сборку можно прогнать через локальный прокси и увидеть весь трафик расшифрованным.

Способ 01

Ключ рождается не у вас

Кошелек генерирует ключ на сервере или отправляет его туда сразу после создания - под видом «облачного бэкапа» или «восстановления по номеру телефона». С этого момента распорядитьс�� вашими монетами можете не только вы.

Случай
до 100 млн $
Atomic Wallet, июнь 2023: у пользователей «некастодиального» кошелька с закрытым кодом за ночь ушло от 35 до 100 млн долларов по разным оценкам. Причину компания так и не назвала.
Проверка за минуту
Включите авиарежим и создайте новый кошелек - некастодиальный сделает это без сети. Потом отключите интернет и проверьте, что ключ и адрес на месте.
Как у нас
Ключ создается в самом приложении библиотеками bitcoinjs, ethers, tweetnacl и @ton/crypto, сеть для этого не нужна. С аккаунтом на сервер уходит адрес и только адрес — поля для приватного ключа в этом запросе нет.
ECPair.makeRandom · ethers.Wallet.createRandom · nacl.sign.keyPair · сокет addSpecificWalletToUser без поля ключа
Способ 02

Ключ случайный, но предсказуемый

Ключ - очень большое случайное число. Если генератор слабый, ключей на самом деле немного, и их перебирают у всех клиентов сразу - иногда через годы. Аппаратный кошелек от этого не спасает: генератор стоит и там.

Случай
100+ млн $
Coldcard, июль 2026: ошибка сборки прошивки с 2021 года подменяла аппаратный генератор слабым — ключи перебрали без доступа к устройству; по оценкам исследователей потери ушли за 100 млн долларов, затронуты тысячи адресов. Wintermute, 2022: адрес из Profanity восстановили по 32-битному зерну, 160 млн. Randstorm, 2023: миллионы адресов 2011-2015 годов.
Проверка за минуту
Кошелёк должен опираться на системный генератор и стандартные библиотеки, а не на «собственный алгоритм» внутри закрытого чипа. Аппаратный «холод» тут не спасает — Coldcard как раз про это. Хороший знак — отказ создавать ключ, когда устройству не хватает случайности.
Как у нас
Случайность - из системного генератора устройства через те же библиотеки, что и генерация. Math.random в генерации ключей не используется. Если энтропии не хватает, кошелек останавливается с ошибкой и просит другое устройство.
crypto.getRandomValues через crypto-browserify → randombytes · bitcoinjs-lib 6.1, ecpair 2.1, ethers 5.5, tweetnacl 1.0
Способ 03

Ключ утекает через логи и аналитику

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

Случай
4+ млн $
Slope, август 2022: кошелек отправлял сид-фразы открытым текстом в Sentry. Около 9 000 кошельков на Solana опустошены, пользователи ничего не нажимали.
Проверка за минуту
Посмотрите разрешения приложения и список трекеров (Exodus Privacy для Android). Кошельку не нужны контакты, SMS и геолокация; каждый SDK аналитики - лишний путь для утечки.
Как у нас
Сторонних SDK аналитики, рекламы и крэш-репортов нет: ни Google Analytics, ни Firebase, ни Sentry. Разрешения - камера, NFC, микрофон для передачи подписи звуком, интернет. При запуске на сервер уходят только технические признаки устройства (экран, часовой пояс, графика) для отсева ботов в счетчике - без ключей и личных данных.
поиск по коду на 25 SDK аналитики - пусто · AndroidManifest: CAMERA, NFC, RECORD_AUDIO, INTERNET
Способ 04

Вы видите одно, а подписываете другое

На экране перевод маме, в подписи - перевод вору или смена владельца контракта. Подмену делает троян в буфере обмена, расширение браузера или взломанный интерфейс. Подпись честная, ваша, и сеть её примет.

Случай
1,5 млрд $
Bybit, февраль 2025, крупнейшая кража в истории крипты: подписанты видели в интерфейсе обычный перевод, а подписали подмену логики хранилища - в интерфейс встроили чужой код.
Проверка за минуту
Экран подписи должен показывать адрес и сумму целиком, а вы сверяете последние символы с тем, что прислал получатель. Для крупных сумм - подпись на устройстве без интернета.
Как у нас
Перед подписью видны сумма, отправитель и получатель целиком. Буфер обмена приложение само не читает, адрес проверяется по правилам сети, под полем видно, живой ли он. Перед отправкой кошелек выводит адрес из ключа и сверяет с отправителем: не совпало - перевод не уходит. Для крупных сумм - Mitilena Air: подпись офлайн, транзакция уезжает QR-кодом, звуком или NFC.
validateAddressMixin → CryptoValidationClass · гейт «Wrong private key» в SignOnline.vue · чтения буфера в SendForm нет
Способ 05

Вы подписываете не перевод, а разрешение

Сайт просит «подключить кошелек и подтвердить». Вы подписываете approve без лимита или Permit - и чужой контракт может за��ирать ваши токены сам, когда ему удобно: через день или через месяц.

Случай
80+ млн $
Inferno Drainer, 2023: готовые «дрейнеры» для фишинговых сайтов увели больше 80 млн долларов у 137 тысяч человек. Люди сами подписывали разрешения, видя непонятную строку и кнопку «Подтвердить».
Проверка за минуту
Подключите кошелек к любому dApp и посмотрите: различает ли он перевод, вызов контракта и разрешение, видно ли, кому и на сколько, можно ли отказать одной кнопкой. Раз в месяц отзывайте старые разрешения.
Как у нас
При подключении по WalletConnect или TON Connect видны домен приложения и адрес, кнопки «Подключить» и «Отклонить». Каждый запрос - отдельная карточка: перевод, вызов контракта, разрешение тратить токены с лимитом или пометкой «без лимита», Permit со сроком, подпись сообщения с пометкой «это не транзакция». Автоподтверждения нет, ключ вводится на каждую подпись.
карточки tx / approve / permit / personal / typed в SignOnline.vue · wcDetectApprove · честно: setApprovalForAll пока показывается как вызов контракта
Способ 06

Обновление с закладкой

Кошелек честный, а библиотека или сборка - нет: ��зломанный аккаунт разработчика, подмененная зависимость, чужой код на сборочной машине. Очередное обновление уносит ключи у всех сразу, а вы всего лишь нажали «обновить».

Случай
600 тыс. $
Ledger Connect Kit, декабрь 2023: через фишинг бывшего сотрудника выпустили версию библиотеки с дрейнером, она стояла на десятках сайтов - потери за несколько часов. Copay, 2018: закладка в зависимости event-stream целилась именно в этот кошелек.
Проверка за минуту
Подписаны ли сборки: сертификат разработчика для Windows, нотаризация Apple, мобильные - через магазины. Обновления только из магазина или с сайта разработчика.
Как у нас
Сборки подписаны: Windows — сертификат на аппаратном токене с меткой времени, macOS — нотаризация Apple, Android и iOS — через Google Play и App Store, для ком��ьютеров скачивание только с mitilena.com. Открытый репозиторий мы не считаем доказательством: один инжект на релизе ломает «проверенный» исходник. Проверка у нас другая — стенд с локальным прокси: поднимаете, смотрите весь трафик расшифрованным и сами видите, уходит ключ или нет.
sign-win.js: osslsigncode + PKCS#11 + timestamp · notarize.js: notarytool · проверка: локальный MITM-прокси на стенде, весь трафик расшифрован
Способ 07

Подделка под кошелек

Копия в магазине с тем же названием и иконкой, сайт-двойник, реклама выше настоящего, «обновление» в Telegram. Внутри - форма «введите сид-фразу для восстановления». Все, что вы впишете, уходит вору сразу.

Случай
17,1 BTC
App Store, 2021: пользователь ввел сид в поддельный «Trezor» и потерял 17,1 BTC. MyEtherWallet, 2018: подменили DNS, и настоящий адрес сайта вел на копию. Поддельный Ledger Live в Microsoft Store, 2023 - сотни тысяч долларов.
Проверка за минуту
Ставьте приложение по ссылке с официального сайта, а не из поиска в магазине. Настоящий кошелек не просит сид «для проверки» или «для обновления». Адрес сайта - сверить по буквам.
Как у нас
Ссылки на App Store и Google Play стоят на сайте, в магазинах приложение с 2021 года. Сид или ключ кошелек спрашивает в двух местах: при импорте существующего кошелька и на экране подписи. Больше нигде.
строки mnemonic / seed phrase только в экранах импорта, подписи и FAQ (translate/en.js)
Способ 08

Кастодиальный под видом некастодиального

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

Случай
8 млрд $
FTX, ноябрь 2022: 8 млрд долларов клиентских денег оказались деньгами компании. Урок для любого «кошелька», где ключ не у вас: баланс - это обещание.
Проверка за минуту
Можно ли экспортировать ключ и импортировать его в другой кошелек? Работает ли отправка, если у компании лег сервер? Два «нет» - это счет, а не кошелек.
Как у нас
Ключ показывается при создании, его можно скопировать, распечатать, сохранить в PDF или QR и импортировать в любой другой кошелек - это стандартный ключ сети. Честно: один кастодиальный инструмент у нас есть - горячий кошелек для приема платежей Mitilena Pay, его ключ лежит на наших серверах, и в интерфейсе он так и подписан. Обычных кошельков это не касается.
экран «Сохраните ключ» в мастере · «hot wallet, its private key is stored on our servers» - только в Mitilena Pay
Способ 09

Ключ лежит на устройстве в открытом виде

Кошелек сохраняет ключ «для удобства» - в незашифрованном файле, в бэкапе iCloud или Google, в скриншоте. Дальше нужен не взлом криптографии, а доступ к бэкапу или к телефону на пять минут.

Случай
650 тыс. $
MetaMask, апрель 2022: хранилище сида на iPhone попадало в бэкап iCloud. У пользователя выманили пароль Apple ID и вытащили сид из резервной копии.
Проверка за минуту
Как кошелек хранит ключ на устройстве: шифрование вашим PIN с нормальным числом итераций, а не «защищено системой». Что уходит в облачный бэкап. И никаких скриншотов сида.
Как у нас
Сохранение ключа на устройстве — по желанию и только под PIN: из PIN выводится ключ шифрования (PBKDF2-SHA256, 100 000 итераций, случайная соль), сам ключ шифруется AES-256 и хранится шифротекстом. PIN нигде не хранится, пароли NFC-карт — в Keychain / Keystore под биометрией. Сид в галерею и в облачные заметки не кладём — это уже не кошелёк, а ваша копия на виду.
NfcClass.getKey: pbkdf2Sync(…, 100000, 32, sha256) · aes-256-cbc, salt:iv:ciphertext · Keychain / Keystore под биометрией
Способ 10

Ключ утекает через саму подпись

Самый тихий способ. В подписи ECDSA есть случайное число, и подкрученная библиотека прячет в двух-трех обычных подписях кусочки вашего ключа. Все работает, а тот, кто читает блокчейн, собирает ключ по частям.

Случай
2 подписи
Dark Skippy, август 2024: исследователи показали, что подмененная прошивка аппаратного кошелька уносит весь сид через две подписи - снаружи неотличимо от нормальной работы.
Проверка за минуту
Подписи должны быть детерминированными (RFC 6979 для secp256k1, ed25519 там, где он есть) через известные открытые библиотеки. Если разработчик не может назвать библиотеку подписи - это ответ.
Как у нас
Своей реализации подписи у нас нет. Bitcoin-семейство подписывает tiny-secp256k1 из bitcoinjs, EVM-сети, Tron и XRP - elliptic внутри ethers, tronweb и ripple-keypairs; во всех случаях случайное число подписи выводится из ключа и транзакции детерминированно. Solana и TON - ed25519. Monero подписывает модуль mymonero-core в браузере.
tiny-secp256k1-asmjs 2.2.3 · ethers 5.5.2 → elliptic 6.5.4 · tronweb 5.0.0 · ripple-keypairs 1.3.1 · tweetnacl 1.0.3 - RFC 6979 / HMAC-DRBG заданы библиотеками
Способ 11

Тихий отъем на обмене

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

Случай
1-3 %
Громкого имени нет - это модель. Разница между курсом в кошельке и курсом на площадке и есть цена вопроса: у отдельных кошельков до нескольких процентов с операции.
Проверка за минуту
Перед обменом сравните котировку с агрегатором (1inch, Jupiter). Комиссия площадки, комиссия сети и проскальзывание должны быть названы отдельно. Одно число «к получению» без деталей - наценка внутри.
Как у нас
На обмене через DEX своей комиссии нет: платите только комиссию пула и сети. Кошелек опрашивает несколько площадок и берет лучшую цену: PancakeSwap, Biswap, ApeSwap на BNB Chain; Uniswap, SushiSwap, ShibaSwap на Ethereum; Jupiter на Solana; SunSwap на Tron. Проскальзывание фиксированное, 0,5 % (на V3 до 1,5 %), показано в форме. Обмен между сетями - через партнера ChangeNOW по его курсу.
Jupiter без platformFeeBps и feeAccount · в EVM-свопах получатель - ваш адрес · «No extra fees - ever»
Способ 12

Сид просят изнутри

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

Случай
с 2020
После утечки клиентской базы Ledger в 2020 году владельцам годами шлют письма и даже посылки с просьбой «подтвердить сид на новом устройстве». Люди теряют деньги, ни разу не подключив настоящий кошелек к сети.
Проверка за минуту
Правило одной строкой: сид спрашивает только вор. Никакая поддержка, обновление или «аудит» не требуют ключа. Встроенный чат в кошельке - лишняя дверь.
Как у нас
Поддержка - support@mitilena.com и Telegram-канал, встроенного чата в приложении нет, ключ не запрашивает ни один экран, кроме импорта и подписи. Если вам пишут от имени Mitilena и просят сид - это не мы, что бы ни было написано в письме.
BaseFooter.vue: mailto + t.me · чат-виджетов (intercom, crisp, tawk, jivo) в коде нет
Чек-лист

Проверьте свой кошелек за пять минут

Двенадцать вопросов. Чем больше «да», тем спокойнее. Сохраните и прогоните через него любой кошелек, включая наш.

01Создает ключ в авиарежиме, без сервера.
02Названы библиотеки генерации и подписи, а не «собственный алгоритм».
03Нет SDK аналитики и крэш-репортов, разрешения только по делу.
04На экране подписи виден полный адрес получателя и сумма.
05Различает перевод, вызов контракта и разрешение; дает отказать.
06Сборки подписаны, обновления только из магазина или с сайта разработчика.
07Установлен по ссылке с официального сайта, а не из поиска.
08Ключ можно экспортировать и импортировать в другой кошелек.
09На устройстве ключ хранится под вашим PIN, а не «просто так».
10Подписи детерминированные, через известные библиот��ки.
11Комиссия площадки, сети и проскальзывание показаны отдельно.
12Никогда и нигде не просит сид, кроме импорта и подписи.
Mitilena по этому списку: 12 из 12. Ключ не рождается на сервере, не уезжает в аналитику, не прячется в «обновлении». Сборки подписаны, подпись показывает полный адрес, сид не просим «для проверки».
Не надо верить репозиторию — на релизе его ломает один инжект. Проверяйте трафик: на стенде с локальным прокси весь обмен расшифрован, ключа в нём нет. Как прогнать самому → Крупные суммы держите на физическом носителе — глухая карта, не чужой микрочип.
Честно до конца

От чего кошелёк не спасёт

Украли ключ - не значит украли сразув первую очередь

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

Вирус на вашем устройстве

Кейлоггер, троян в буфере обмена, «удаленный доступ» для поддержки. Подпись происходит там, где вы её запускаете: на зараженном телефоне безопасного кошелька не существует. Для крупных сумм — NFC-карта или подпись на устройстве без интернета.

Сид на виду

Фотография в галерее, заметка в облаке, стикер на мониторе. Кошелек хранит ключ как надо, а копию вы отдали сами.

Вы сами подписали

Скам-проект, «менеджер с гарантированной доходностью», «подтвердите вывод». Кошелек покажет, что вы подписываете, но решение остаётся вашим.

Публичный блокчейн

Адреса, суммы и время переводов видны всем и навсегда. Приватность даёт аккуратность с адресами или сети вроде Monero, а не кошелек.

Не верьте «открытому коду» вслепую

Публичный репозиторий не спасает: на релизе достаточно одного инжекта. Нормальная проверка — свой трафик на стенде с локальным прокси, где всё расшифровано. Так и предлагаем смотреть Mitilena: ключ в обмен не уходит — это видно глазами, а не «потому что github зелёный».

Физический контур · mitilena.ru

Когда софта мало — берут глухой носитель и air-gap

Не «волшебный чип с завода». NFC-карта Mitilena — просто память под ключ, который вы сами зашифровали. Ультимативный комплект добавляет генерацию и подпись на устройстве без интернета: ключу некуда утечь по сети. Карты приезжают пустыми — курьер и склад в уравнение не входят.

Вирус на вашем устройстве

Подпись на отдельном телефоне без сим-карты и интернета: транзакция уезжает туда QR-кодом и возвращается подписанной, ключ не бывает на устройстве с сетью. Уровень попроще - карта на основном телефоне: ключ появляется в изолированной среде на секунду подписи и стирается.

Сид на виду и скриншоты

Сида нет: ключ рождается в Mitilena Air офлайн и сразу пишется на карту зашифрованным. Фотографировать нечего, а найденная карта или стикер без пароля - бесполезный пластик.

Потеряли, залили, сгорело

Пять зеркальных копий из коробки: две NFC-карты и три стелс-стикера в водонепроницаемом пластике на 10+ лет. Одна пропала - остальные работают.

Скам, который вы сами подтвердили

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

NFC-карта Mitilena
Premium · аппаратный комплект
Ультимативный офлайн-кошелек
29 900 ₽35 000 ₽
В комплекте: 2 NFC-карты, 3 стелс-стикера, Mitilena Air (офлайн-генерация), Mitilena Keys (офлайн-подпись). Карты — пустые болванки: ключ пишете вы. 18 сетей, 20 000+ монет. Доставка по РФ и ЕАЭС.
Купить ультимативный · 29 900 ₽ Смотреть все тарифы — от 6 900 ₽
Ozon · Wildberries · Яндекс Маркет · СДЭК · постаматы
Вопросы

Что спрашивают, дочитав до этого места

Аппаратный кошелёк с «защищённым чипом» — это же холодно?

Часто нет. Secure element — мини-компьютер с закрытым кодом: сам создаёт ключи и сам подписывает, а что внутри кремния — не видно. Coldcard уже показал: слабый генератор в прошивке, ключи перебрали без доступа к устройству. Ledger прямо говорил про доступ по запросу полиции. Настоящий холод — когда носитель глухой, а шифруете и подписываете вы. Так устроены NFC-карты Mitilena: пустая память под ваш шифротекст, не чужой микрокомпьютер.

Как понять, что у кошелька есть мой ключ?

Прямо - никак, трафик зашифрован. Косвенно - авиарежим при создании, экспорт ключа, работа без сервера, названные библиотеки, отсутствие трекеров. Если кошелек «восстанавливает» ключ по почте или номеру телефона - ключ у него точно есть.

Что делать, если я подписал разрешение мошеннику?

Немедленно отозвать его (revoke.cash или аналог для вашей сети) и перевести токены на новый адрес. Разрешение действует до отзыва, даже если сайт уже закрылся.

Как проверить, что ключ не уходит на сервер?

Не через «откройте наш github». Через стенд: локальный прокси расшифровывает весь трафик приложения — смотрите пакеты сами. Если ключа в обмене нет, это видно. Инструкция: mitelena.com/our-code-is-open-for-verification.

Сначала софт. Крупные суммы — на карту

Бесплатный кошелёк за 30 секунд · тарифы NFC · как уходит перевод
Создать кошелек Ультимативный →