Добавить в корзинуПозвонить
Найти в Дзене
TON Adoption

TON Connect фишинг и компрометация сессий

TON Connect задумывался как способ убрать из жизни пользователя самые опасные паттерны: ввод seed-фразы в браузере, импорт ключей в случайный dApp, доверие к неподписанным расширениям. С этой задачей он справляется: подключение через bridge с end-to-end шифрованием действительно безопаснее, чем «введите 24 слова». Но атакующие быстро перестроились — и сегодня большая часть фишинга в TON-экосистеме идёт именно через TON Connect, потому что пользователь видит знакомый поток и расслабляется. В этом тексте разберём четыре повторяющихся паттерна атаки на TON Connect, которые мы наблюдаем в 2026 году, и зафиксируем дисциплину защиты. Никаких конкретных инцидентов с цифрами и именами — только структура векторов, чтобы вы могли узнать атаку в своей повседневной практике. Коротко напомним поток подключения, чтобы было понятно, в каких точках возникают риски. Уязвимости рождаются не в криптографии, а на стыках: На каждый из этих стыков и приходится один из векторов ниже. Самый частый сценарий. А
Оглавление

TON Connect фишинг и компрометация сессий

TON Connect задумывался как способ убрать из жизни пользователя самые опасные паттерны: ввод seed-фразы в браузере, импорт ключей в случайный dApp, доверие к неподписанным расширениям. С этой задачей он справляется: подключение через bridge с end-to-end шифрованием действительно безопаснее, чем «введите 24 слова». Но атакующие быстро перестроились — и сегодня большая часть фишинга в TON-экосистеме идёт именно через TON Connect, потому что пользователь видит знакомый поток и расслабляется.

В этом тексте разберём четыре повторяющихся паттерна атаки на TON Connect, которые мы наблюдаем в 2026 году, и зафиксируем дисциплину защиты. Никаких конкретных инцидентов с цифрами и именами — только структура векторов, чтобы вы могли узнать атаку в своей повседневной практике.

Как устроен TON Connect и где у него уязвимости

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

  1. dApp генерирует connect-запрос — JSON со своим manifest URL, нужным набором прав и идентификатором сессии.
  2. Пользователь сканирует QR или открывает deep/universal link на мобильном.
  3. Кошелёк скачивает manifest по указанному URL, показывает имя, иконку и адрес dApp.
  4. Пользователь подтверждает подключение. Кошелёк подписывает ответ, bridge передаёт его dApp.
  5. С этого момента dApp может слать запросы sendTransaction — а кошелёк показывает их пользователю и ждёт подтверждения.

Уязвимости рождаются не в криптографии, а на стыках:

  • Manifest URL контролирует dApp — а значит, кошелёк показывает то имя и иконку, которые dApp решил указать.
  • Адрес dApp в браузерной адресной строке проверяет только пользователь — кошелёк его не видит.
  • Подписываемая транзакция — это сырой BoC с amount, payload и stateInit. Что именно произойдёт после подписи, без эмуляции не очевидно.
  • Сессия живёт долго — стандарт допускает многодневные подключения, и dApp может прислать запрос на подпись через неделю.

На каждый из этих стыков и приходится один из векторов ниже.

Вектор 1: фейковая dApp с тем же логотипом

Самый частый сценарий. Атакующий поднимает копию популярного интерфейса — DEX, NFT-маркетплейса, staking-дашборда. Дизайн скопирован пиксель-в-пиксель, логотип тот же, текст тот же. Отличается только домен: вместо realdex.com пользователь оказывается на realdex-app.com, realdex.io, real-dex.com или варианте с кириллическим символом, который визуально неотличим от латинского.

На фейковой странице вы нажимаете «Swap» или «Stake», открывается picker TON Connect, выбираете Tonkeeper. Manifest, который скачает кошелёк, конечно, тоже подделан — там стоит то же имя «RealDEX» и тот же логотип. Подключение проходит. Дальше fake-dApp инициирует «swap»: кошелёк показывает sendTransaction с amount X и payload, который выглядит как нормальный вызов swap-контракта. На деле адрес получателя — кошелёк дрейнера, а payload подобран так, чтобы интерфейс кошелька не подсветил его как подозрительный.

Цепь обмана работает, потому что пользователь проверил всё, что мог: picker открылся, кошелёк настоящий, имя в кошельке знакомое. Адрес dApp в браузере он не смотрел — туда смотрят единицы. Поведение защиты тут одно: до клика по Connect вернуться в адресную строку и сверить домен с тем, который вы знаете наизусть или хранили в закладках.

Вектор 2: clipboard malware и подмена connect URL

Этот вектор активируется, когда вы подключаетесь к dApp на десктопе через QR — а свой телефон с кошельком держите рядом. Чтобы не сканировать QR, многие копируют connect-URL из веб-интерфейса и шлют себе в Telegram или мессенджер, чтобы открыть на телефоне.

В этот момент подключается вредонос. Clipboard-stealer и clipboard-replacer — давно известный класс малвари: он отслеживает буфер обмена и подменяет содержимое по сигнатуре. Если сигнатура — это tc:// или https://app.tonkeeper.com/ton-connect?, малварь меняет параметры URL так, чтобы connect-сессия установилась не с настоящим dApp, а с атакующим. Атакующий через свой dApp получает контроль над сессией и дальше шлёт запросы на подпись, как в первом векторе.

Внешне разницы вы не увидите: в Tonkeeper откроется обычный экран подтверждения подключения, имя dApp совпадёт с тем, что вы ожидали. Защита: либо сканировать QR напрямую без copy/paste, либо после вставки внимательно сверять начало URL и идентификатор сессии. Любая операция copy/paste с URL TON Connect между устройствами — это окно для clipboard-атаки.

!Отдельный риск на Android. На Android буфер обмена читается практически любым активным приложением без отдельного разрешения. Малварная Telegram-копия, скачанная вне Google Play, способна подменять connect-URL без вашего ведома. На iOS буфер защищён лучше, но тоже не полностью — pasteboard-уведомления появились только в iOS 14.

Самый «социальный» вектор. Пользователь получает сообщение в Telegram — иногда от незнакомого аккаунта, иногда от взломанного аккаунта знакомого, иногда в чате под видом анонса проекта. Текст обещает airdrop, NFT-mint, бонусные TON за «верификацию», доступ к закрытому стейкингу. К сообщению прикреплена кнопка или ссылка — и эта ссылка является готовым TON Connect deep link, который сразу открывает кошелёк с предложением подключиться.

Опасность в том, что пользователь часто не успевает осознать, что произошло. Тап по кнопке, перехват на кошелёк, экран «Connect to AirdropClaim?», привычная мышечная память — Confirm. Сессия установлена. Через несколько секунд dApp шлёт запрос sendTransaction, тоже с заранее заготовленным описанием в духе «claim reward». Пользователь подписывает — и подписанная транзакция уходит атакующему.

Здесь не работает проверка адресной строки браузера — вы не были в браузере. Защита: правило «никогда не подключаюсь к dApp, на который пришёл из неинициированного сообщения». Если вам пишут про airdrop, идите на официальный сайт проекта самостоятельно, через поиск или закладку, и проверяйте там — есть ли вообще такой airdrop. В девяти случаях из десяти его нет.

Вектор 4: persistent session abuse (старая активная сессия)

Самый коварный вектор, потому что атака может произойти через недели после первоначального подключения. Пользователь подключился когда-то к одноразовому dApp — потестировать airdrop-страничку, посмотреть NFT-mint, проверить новый DEX. Подключение прошло, никаких подписей он не делал, страницу закрыл, забыл.

Сессия осталась в его кошельке как активная. И в один момент через дни или недели в кошельке всплывает запрос sendTransaction от dApp, который пользователь даже не вспомнит сразу. Здесь работает фактор внезапности: пользователь видит уведомление, думает, что это какой-то фоновый процесс кошелька, и нажимает Confirm не вчитываясь. Если же сам dApp был изначально вредоносным или его инфраструктуру скомпрометировали позже — он получает подпись на ровном месте, когда жертва меньше всего ожидает.

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

Защита: проверка URL, revoke unused sessions, hot/cold split

Дисциплина из четырёх правил, которая закрывает большую часть рассмотренных векторов.

  1. Проверяйте URL dApp в адресной строке до клика по Connect, особенно если попали туда из мессенджера или поисковой выдачи. Лучше всего — держите закладки на dApp, которые используете регулярно, и всегда открывайте их оттуда.
  2. Не делайте copy/paste TON Connect URL между устройствами. Сканируйте QR напрямую — это единственный путь, в который малварь почти не вмешается.
  3. Раз в месяц чистите список активных сессий в кошельке. В Tonkeeper это меню «Active Sessions», в MyTonWallet — «Connected dApps». Всё, чем не пользуетесь активно последние две недели, — revoke.
  4. Разделяйте wallets по риску. Один кошелёк — холодный, с основными средствами, никогда не подключается к экспериментальным dApp. Второй — горячий, с небольшой суммой на текущие операции, его не страшно потерять. К airdrop-страничкам и новым проектам подключайте только горячий.
iТонкость про подпись. Перед каждым Confirm читайте, что именно подписываете: адрес получателя, сумму, jetton’ы в payload. Если кошелёк показывает эмуляцию (Tonkeeper это умеет) — проверяйте её. Эмуляция показывает фактическое изменение балансов после подписи, и расхождение между «ожидаемой» и «реальной» картинкой — главный сигнал атаки.

Что делать если уже подписали вредную транзакцию

Откатить нельзя — TON финальный блокчейн, транзакции не отзываются. Но снизить ущерб можно, если действовать в первые минуты.

  1. Немедленно отзовите все сессии в кошельке. Это не остановит уже отправленную транзакцию, но не даст добить остаток через повторные запросы.
  2. Создайте новый кошелёк с новой seed-фразой на чистом устройстве. Перевод остатка туда — приоритет номер один; делайте это до того, как разбираетесь, как именно вас обманули.
  3. Не пытайтесь «вернуть» через recovery-сервисы. Любое сообщение с предложением вернуть украденные средства — вторая волна того же скама. Подлинных recovery-инструментов для финальных блокчейнов не существует.
  4. Зафиксируйте инцидент: сохраните URL фейкового dApp, transaction hash вывода средств, скриншоты переписки или анонса. Это пригодится для community-баз скам-адресов и для предупреждения других.
  5. Пройдитесь по другим аккаунтам. Если был задействован clipboard-stealer или фишинговая сессия Telegram — проверьте, что вредонос не достал доступы и к другим сервисам.

Заключение

TON Connect — хороший протокол, но он защищает только криптографию подключения, а не дисциплину пользователя. Подпись остаётся за человеком, и атакующие нацелены именно на этот человеческий клик «Confirm». Четыре вектора, разобранные выше, не используют никаких уязвимостей в самом протоколе — они эксплуатируют невнимательность, привычку и доверие к знакомому интерфейсу.

Несколько минут в месяц на ревизию активных сессий, дисциплина с проверкой URL, разделение горячего и холодного кошельков и правило «не подключаюсь по inbound-ссылкам» закрывают большую часть атак, которые мы видим сегодня. Это дешевле, чем переустанавливать жизнь с нового seed.