
11 мая 2026 года злоумышленник похитил около $1.88 млн из устаревшего контракта Transit Finance в сети TRON. Атака стала возможной из-за двух факторов одновременно: старый контракт, которым давно никто не пользовался, всё ещё был активен в сети — а у части пользователей сохранились выданные ему разрешения на списание токенов. Transit подтвердил инцидент и уточнил, что текущая версия протокола не пострадала.
Что произошло
Transit Finance — это агрегатор обменов, который помогает пользователям обменивать токены между разными блокчейнами. Протокол работает через смарт-контракты — программы в блокчейне, которые автоматически исполняют правила обмена без участия посредников.
В 2022 году Transit вывел из эксплуатации старую версию своего контракта в сети TRON. Это означало, что команда больше не поддерживает его и не рекомендует использовать. Однако сам контракт никуда не делся — он так и остался в сети, доступный для любого желающего.
Атакующий нашёл этот контракт и воспользовался другой проблемой: у части пользователей сохранились старые ERC-20 разрешения на USDT. Разрешение (approval) — это согласие, которое пользователь когда-то дал контракту: «ты можешь тратить мои токены». Такие разрешения не исчезают сами по себе — они действуют, пока их не отзовут вручную.
Через механизм transferFrom — стандартную функцию перевода токенов при наличии разрешения — атакующий списал USDT с кошельков тех пользователей, у которых эти старые разрешения сохранились. Никакой дополнительной подписи от самих владельцев при этом не потребовалось.
Почему это стало возможным
Представьте: вы когда-то дали магазину право списывать деньги с вашей карты. Магазин закрылся, но разрешение в банке осталось. Через несколько лет кто-то нашёл старые реквизиты магазина и воспользовался ими, чтобы списать деньги — и банк не отказал, потому что разрешение технически действовало.
Именно это произошло здесь. Два условия сложились вместе:
1️⃣ Старый контракт Transit 2022 года никто не заблокировал — он просто был заброшен, но оставался рабочим.
2️⃣ Пользователи, взаимодействовавшие с ним в прошлом, не отозвали выданные разрешения на списание USDT.
Этого сочетания хватило, чтобы вывести почти два миллиона долларов.
Детали расследования: движение средств
1️⃣ Средства поступили на адрес атакующего TF9xyLYj8xJ8V7TTLjNB5asVwYz6HV6JoS в сети TRON.
2️⃣ Оттуда деньги были переброшены через несколько кросс-чейн мостов и сервисов: Bridgers, NEAR Intents и Symbiosis Finance. Мост — это сервис для перевода активов между разными блокчейнами, как обменник между разными валютными зонами.
3️⃣ После серии переводов средства вышли на адрес 0xc7f09Da4aA354BCDE625001C4c4De3d9D8fF92b4 — часть в сети BSC, часть сразу в Ethereum.
4️⃣ В итоге похищенные средства оказались на адресе 0x8a634DfA2609358849D7D65FFA270C8A57a8abA5 в сети Ethereum в виде DAI (стейблкоин, всегда равный $1). На момент расследования средства там и остаются.
Путь через несколько мостов и сетей — стандартная тактика запутывания следов. Каждый переход усложняет отслеживание.
Заключение
Инцидент с Transit Finance — наглядный пример того, что «выведенный из использования» не значит «безопасный». Пока контракт жив в блокчейне, он остаётся потенциальной точкой входа.
Пользователям, когда-либо работавшим с Transit Finance на TRON, стоит проверить и отозвать все старые разрешения. Сделать это можно через сервисы вроде revoke.cash — они показывают все активные approvals и позволяют отменить ненужные.
Команда КоинКит продолжает отслеживать движение средств на адресе в Ethereum.


