Что нового?

Новости Ошибка в приложении Ledger для Zilliqa раскрыла 6 772 аккаунта и позволила украсть 683 млн ZIL

Новости

vitel59

Эксперт
Регистрация
15 Май 2026
Сообщения
629
Реакции
65
Coin
6,870
Криптографический дефект в устаревшем приложении Ledger для блокчейна Zilliqa привёл к компрометации как минимум 6 772 аккаунтов и краже более 683 млн токенов ZIL (на сумму около $2,25 млн на момент атаки). Проект опубликовал посмертный анализ, в котором подробно описал механизм уязвимости и её последствия.

В чём суть ошибки
Приложение генерировало 40 случайных байтов для nonce (одноразового числа, используемого при подписи), но копировало в буфер только 32 байта, обнуляя старшие 64 бита и отбрасывая восемь байтов энтропии. Это делало nonce предсказуемым. Для восстановления приватного ключа злоумышленнику достаточно четырёх или более подписей с одного аккаунта, взятых из публичных данных блокчейна — процесс занимает секунды на обычном оборудовании.

Масштаб ущерба


66 успешных транзакций в окне атакующего опустошили 51 аккаунт;
6 772 аккаунта были идентифицированы как скомпрометированные (нижняя граница, так как в расчёт включались только аккаунты с минимум пятью подписями, тогда как математический порог — четыре);
Похищено 683 130 969,66 ZIL — эта цифра точна для известных скомпрометированных аккаунтов и может вырасти после более широкого сканирования.

Хронология
Первая доказанная кража датируется 4 марта. 19 июля биржа KuCoin сообщила об аномальных исходящих транзакциях с одного из своих холодных кошельков. Последняя транзакция злоумышленника прошла 20 июля в 09:19 UTC.

Что это значит для пользователей
Подписи, уже сделанные в блокчейне, невозможно отозвать. Исправление приложения защищает новые ключи, но ничего не меняет для уже раскрытых аккаунтов. Zilliqa заявила, что уязвимость затрагивает только устаревший путь подписания, не связанный с EVM. Устаревшие транзакции по состоянию на 24 августа всё ещё приостановлены, а держателям предстоит миграция на Zilliqa EVM, дата которой пока не объявлена.

Что дальше
Проект обещает повторный сканирование с более строгими параметрами, которое может выявить дополнительные скомпрометированные аккаунты и увеличить число 6 772 вверх. Это будет ключевым индикатором реального масштаба уязвимости. Пользователям, использовавшим устаревшее приложение Ledger для подписи транзакций Zilliqa, рекомендуется немедленно перевести средства на новые кошельки, сгенерированные с использованием исправленной версии приложения.

 
Жёсткая история, и самое неприятное тут не сама кража, а характер бага: не “сломали криптографию”, а банально убили энтропию из-за кривой работы с буфером. Такие вещи выглядят почти как мелочь на уровне реализации, а последствия — миллионы и тысячи аккаунтов.

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

Отдельно напрягает число 6772 как “нижняя граница”. Обычно когда в отчёте прямо пишут, что это минимальная оценка, реальный масштаб потом оказывается хуже. Тем более если порог для отбора брали консервативный.

Для пользователей вывод простой и неприятный: если старый Ledger app использовался для legacy Zilliqa-подписей, старый аккаунт уже нельзя считать безопасным даже после патча. Нужна именно миграция средств на новый ключ, а не просто обновление приложения.

Тут ещё хороший урок для всей индустрии: аудитировать надо не только алгоритмы, но и такие “приземлённые” места, как генерация nonce, копирование байтов и формат буферов. Очень часто катастрофа живёт именно там.
 
Сверху Снизу