Back to Blog

Инцидент с Trust Wallet №7: украденный API-ключ превратил официальный канал обновлений в бэкдор

Code Auditing
12 февраля 2026 г.
5 min read

25 декабря 2025 года в расширении Trust Wallet для Chrome (версия 2.68) произошел критический инцидент безопасности, который привел к краже средств пользователей на сумму около 8,5 миллионов долларов.

Первопричиной стала вредоносная бэкдор-функция, внедренная в расширение в результате атаки на цепочку поставок, которая скомпрометировала стандартный процесс выпуска обновлений проекта. Внедренный бэкдор загружает сид-фразы пользователей на сервер, контролируемый злоумышленником, тем самым компрометируя любые кошельки, созданные или импортированные с использованием этой конкретной версии расширения. Впоследствии злоумышленник опустошил кошельки пользователей в нескольких сетях и перевел средства на биржи, не требующие верификации (KYC).

Общие сведения

Расширение Trust Wallet для Chrome разработано как типичный некастодиальный кошелек, позволяющий пользователям создавать новые или импортировать существующие кошельки. В основе любого криптовалютного кошелька лежит сид-фраза, также известная как мнемоника. Это человекочитаемое представление закрытого ключа кошелька. С помощью этой сид-фразы можно детерминированным образом вычислить все закрытые ключи, связанные с кошельком, что делает её самым важным секретом, который есть у пользователя. Любой, кто получил доступ к сид-фразе, получает полный контроль над всеми средствами на кошельке.

Чтобы обеспечить безопасное самостоятельное хранение сид-фраз, расширение Trust Wallet хранит их локально в зашифрованном виде с использованием алгоритмов криптографии. Они могут быть расшифрованы только по законному запросу пользователя при надлежащей аутентификации. Этот процесс требует от пользователя подтверждения личности с помощью биометрии или пароля, в зависимости от настроенного метода. В правильно функционирующем некастодиальном кошельке расшифрованные сид-фразы используются исключительно внутри локальной среды расширения и никогда не передаются на внешние серверы.

Анализ уязвимости

Уязвимость берет свое начало в процессе разблокировки кошелька, а именно при использовании как биометрических данных, так и пароля. Во время операции разблокировки сид-фразы собирались как аналитические данные и отправлялись на контролируемый злоумышленником домен, имитирующий легитимный конечный узел. Поскольку механизм эксплойта идентичен для обоих способов, мы рассмотрим биометрический путь в качестве примера для иллюстрации уязвимости.

Следующий анализ и скриншоты основаны на деобфусцированном исходном коде.

Извлечение расшифрованных сид-фраз

Вредоносный код был внедрен в функцию разблокировки в файле 8423.js, которая отвечает за разблокировку кошелька и расшифровку сид-фразы после аутентификации пользователя. В логику разблокировки злоумышленник встроил механизм сбора аналитики, который на первый взгляд не вызывает подозрений. Как показано в приведенном ниже фрагменте кода, извлечение сид-фраз происходило сразу после стандартного процесса аутентификации. Код перебирает все кошельки, извлекая расшифрованные сид-фразы и сохраняя их в переменную с обманчивым названием errorMessage. Затем эти данные встраиваются в свойство error внутри объектов событий аналитики.

Такой же вредоносный паттерн присутствует в процессе разблокировки по паролю (строки 485-527), где биометрическая аутентификация заменяется расшифровкой на основе пароля.

Передача конфиденциальных данных

После того как сид-фразы были собраны и упакованы как аналитические данные, они направлялись через инфраструктуру аналитики PostHog. Эта инфраструктура была преднамеренно добавлена злоумышленником в версии 2.68 для передачи данных. По этому пути аналитические данные, содержащие сид-фразы, отправлялись в обертку аналитического сервиса, которая вызывала метод capture() библиотеки PostHog для создания объектов событий. События ставились в очередь, объединялись в пакеты, а затем сериализовались в формат JSON. JSON-полезная нагрузка сжималась и передавалась посредством HTTP POST-запроса на сервер злоумышленника.

Файл 4482.js раскрывает конфигурацию PostHog, которая перенаправляет аналитические данные на api.metrics-trustwallet.com. Этот домен был специально зарегистрирован злоумышленником, чтобы имитировать легитимный аналитический эндпойнт Trust Wallet.

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

Анализ атаки

Процесс атаки занял около месяца с момента первоначальной подготовки до финального эксплойта и проходил в три этапа:

  1. Компрометация API-ключа Chrome Web Store (CWS).

  2. Публикация расширения, содержащего вредоносный код.

  3. Кража средств с скомпрометированных пользовательских кошельков.

Этап 1: Компрометация API-ключа CWS

История началась с масштабной атаки на цепочку поставок в ноябре, известной как «Shai-Hulud 2.0» [2]. Эта кампания была направлена на среды разработчиков через NPM (Node Package Manager), внедряя бэкдоры в многочисленные легитимные пакеты NPM. Когда разработчики устанавливали эти скомпрометированные пакеты, на их системах выполнялся вредоносный код для кражи конфиденциальных учетных данных и токенов аутентификации.

Благодаря этой атаке на цепочку поставок злоумышленник получил API-ключ Trust Wallet для Chrome Web Store (CWS). Этот ключ особенно важен, поскольку он позволял напрямую загружать сборки расширения в Chrome Web Store, полностью обходя внутренние проверки и одобрения Trust Wallet в рамках стандартного процесса выпуска программного обеспечения.

Этап 2: Выпуск расширения с вредоносным кодом

В декабре 2025 года, имея на руках украденный API-ключ CWS, злоумышленник реализовал инфраструктуру атаки:

  1. Зарегистрировал вредоносный домен metrics-trustwallet.com (и поддомен api.metrics-trustwallet.com) для размещения эндпойнта сбора данных.

  2. Внедрил бэкдор-код в функции разблокировки кошелька и изменил конфигурацию аналитики PostHog, чтобы направить данные на свой сервер.

  3. Загрузил вредоносное расширение непосредственно в Chrome Web Store, используя украденный API-ключ, минуя стандартный процесс выпуска.

Вредоносная версия 2.68 успешно прошла автоматическую проверку Chrome и была опубликована в магазине, выглядя как легитимное обновление от официального аккаунта разработчика.

Этап 3: Кража средств с скомпрометированных пользовательских кошельков

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

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

Начиная с 25 декабря, злоумышленник инициировал систематический вывод средств из скомпрометированных кошельков. Инцидент затронул около 2520 различных адресов кошельков в 10 различных блокчейнах.

Резюме

Этот взлом служит суровым напоминанием о том, что безопасность должна охватывать весь жизненный цикл протокола, включая разработку и развертывание. В 2025 году атаки на цепочки поставок стали самой разрушительной угрозой для криптовалютной инфраструктуры: всего два инцидента (включая взлом Bybit на 1,5 миллиарда долларов в феврале) привели к значительным убыткам. Помимо аудита смарт-контрактов, протоколы должны защищать свои конвейеры сборки, оберегать учетные данные разработчиков и поддерживать непрерывный мониторинг для защиты активов пользователей.

Ссылки

  1. Официальный отчет об инциденте
  2. Shai-Hulud 2.0

О компании BlockSec

BlockSec — поставщик услуг в области безопасности блокчейна и комплаенса полного цикла. Мы создаем продукты и сервисы, которые помогают клиентам проводить аудит кода (включая смарт-контракты, блокчейны и кошельки), перехватывать атаки в режиме реального времени, анализировать инциденты, отслеживать незаконные средства и соблюдать обязательства AML/CFT на протяжении всего жизненного цикла протоколов и платформ.

Компания BlockSec опубликовала множество статей по безопасности блокчейнов на престижных конференциях, сообщила о нескольких уязвимостях нулевого дня в DeFi-приложениях, заблокировала многочисленные взломы, предотвратив потерю более 20 миллионов долларов, и защитила криптовалют на миллиарды долларов.

Sign up for the latest updates
За пределами смарт-контракта: операционная безопасность доменов и DNS в Web3
Security Insights

За пределами смарт-контракта: операционная безопасность доменов и DNS в Web3

Аудит контрактов не проверяет сам контракт. Мы провели 800 SEAL-проверок DNS и регистраторов для 100 доменов из TVL Top 100 DefiLlama — лишь один домен прошёл все. Каких четырёх мер защиты не хватает большинству и почему это критично для пользователя.

Поверхности атаки Web3: обзор тестирования на проникновение

Поверхности атаки Web3: обзор тестирования на проникновение

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

Потеряно ~23 млн $: эксплойты Cosmos EVM и Moonwell | BlockSec Weekly
Security Insights

Потеряно ~23 млн $: эксплойты Cosmos EVM и Moonwell | BlockSec Weekly

За период (22.08.2026–30.08.2026): 5 инцидентов, ~$22,7 млн убытков; Tectonic — $74–119,5 млн, откачены на Cronos. Взлом Cosmos EVM (~$5,7 млн) на TAC Chain, Moonwell, Ajna, Rain Card Exploit (Ed25519) на Solana.

Best Security Auditor for Web3

Validate design, code, and business logic before launch. Aligned with the highest industry security standards.

BlockSec Audit
Инцидент с Trust Wallet №7: украденный API-ключ превратил официальный канал обновлений в бэкдор