SDK Ledger по умолчанию отправляет метаданные подписи на серверы компании
Ключевые выводы
- •Context-module Ledger версии 1.16.0, датированный 14 апреля, добавил репортер слепой подписи по умолчанию, который передает метаданные подписи на серверы Ledger, если интегрирующий разработчик кошелька не предоставит замену.
- •Отчеты могут включать идентификатор события подписи, метод подписи, chain ID, целевой адрес, статус слепой подписи, модель устройства и версии ПО, но не содержат приватных ключей, seed-фраз или криптографических подписей.
- •Ledger изменила адрес отправки отчетов со staging-адреса приема на производственный endpoв blind-signing, https://blind-signing.api.ledger.com/ingest, в версии 2.1.0.
- •Разработчик Ambire сообщил, что ни одна затронутая версия не попала в производственное приложение кошелька, которое поставляется с отключенной по умолчанию отчетностью и предлагает переключатель согласия в настройках конфиденциальности.
- •Уровень воздействия на пользователей определяется тем, как их кошелек интегрирует SDK, поскольку решение оставить или заменить репортер по умолчанию принимается в коде приложения, а не в настройках устройства.

Интегрирующее ПО кошельков от Ledger включает сервис отчетности по умолчанию, который передает метаданные подписи на серверы компании — на это поведение 10 ноября обратил внимание разработчик Ambire @0xSuperKalo. Публичный исходный код Ledger показывает, что отчеты могут включать сеть, адрес назначения, модель устройства, версии ПО, а также выполнялась ли подпись вслепую.
Этот механизм находится в ПО, которое приложения кошельков используют для связи с оборудованием Ledger. Аппаратные кошельки хранят приватные ключи изолированно на устройстве, а приложения кошельков обращаются к ним через эти переиспользуемые наборы средств разработки — а значит, настройка по умолчанию внутри SDK действует везде, где он используется. Реализация в версии 1.16.0 устанавливает сетевой репортер, если интегрирующий разработчик не предоставит замену. Поэтому уровень воздействия на пользователей зависит от того, как их кошелек интегрирует SDK, а не только от обновления прошивки.
Разработчик Ambire сообщил, что ни одна затронутая версия не попала в производственное приложение Ambire и что кошелек поставляется с отключенной по умолчанию отчетностью, предлагая переключатель согласия в настройках конфиденциальности. «Я бы сказал, что конфиденциальность должна быть настройкой по умолчанию», — написал разработчик.
Что содержат отчеты
В записях о выпусках Ledger context-module 1.16.0 датирован 14 апреля, и в нем описывается добавление репортера слепой подписи в этот модуль. Сопутствующий код подписи Ethereum формирует отчеты для транзакций и подписи типизированных данных, в том числе когда операция классифицируется как не слепая подпись.
Код формирования отчетов предоставляет сгенерированный идентификатор события подписи, метод подписи, chain ID, целевой адрес, статус слепой подписи и причину, модель устройства, а также версии приложения подписи и прошивки, если они доступны. Он также включает тип clear signing и количество ошибок контекста, если эта информация доступна. Clear signing означает представление деталей транзакции в читаемом виде перед подтверждением; слепая подпись — это противоположность — подтверждение данных, которые устройство не может отобразить в читаемой форме. Адреса назначения псевдонимны в публичных блокчейнах, но каждый отчет связывает целевой адрес с методом подписи, моделью устройства и версиями ПО в едином пакете, отправляемом на серверы Ledger.
HTTP-реализация добавляет метку источника приложения и отправляет отчет с заголовками, указывающими версию context-module и токен происхождения интеграции. Конструктор отчетов не включает приватные ключи, seed-фразу или саму криптографическую подпись — что относит описанное поведение к категории сбора метаданных, а не хранения ключей.
Адрес отправки отчетов со временем менялся. Версия 1.16.0 настраивала staging-адрес приема, а в последующем журнале изменений Ledger зафиксирован переход на производственный endpoв blind-signing в версии 2.1.0. Текущий конструктор направляет репортер на
Для разработчиков кошельков конструктор предоставляет способ заменить репортер по умолчанию. Разработчик Ambire сообщает, что в его реализации будет предусмотрен переключатель в настройках конфиденциальности, при котором отправка отчетов по умолчанию отключена. Для пользователей решающим фактором является кошелек, которым они пользуются: оставили ли его разработчики репортер по умолчанию или заменили его — решение принимается в коде приложения, а не в настройках устройства. С учетом того, что с версии 2.1.0 репортер по умолчанию направлен на производственный endpoв приема Ledger, за конфигурацией модуля разработчиками кошельков стоит следить дальше.