Ledger SDK 默认向公司服务器发送签名元数据
要点速览
- •Ledger 的 context-module 1.16.0 版本(日期为 4 月 14 日)添加了默认的盲签名上报器,会将签名元数据传输到 Ledger 服务器,除非集成钱包开发者提供替代方案。
- •上报内容可包括签名事件标识符、签名方式、链 ID、目标地址、盲签名状态、设备型号和软件版本,但不包含私钥、助记词或加密签名。
- •Ledger 在 2.1.0 版本中将上报目标从测试采集地址切换为其生产盲签名端点 https://blind-signing.api.ledger.com/ingest。
- •Ambire 的开发者表示,受影响版本从未进入该钱包的生产应用,该钱包默认关闭上报功能,并在隐私设置中提供可选开启的开关。
- •用户所受影响取决于其钱包如何集成该 SDK,因为保留或替换默认上报器的决定是在应用代码中做出的,而非在设备设置中。

Ledger 的钱包集成软件包含一个默认上报服务,会将签名元数据传输到公司服务器——Ambire 开发者 @0xSuperKalo 于 11 月 10 日指出了这一行为。Ledger 的公开源代码显示,上报内容可包括网络、目标地址、设备型号、软件版本,以及签名是否为盲签名。
该机制存在于钱包应用与 Ledger 硬件通信所使用的软件中。硬件钱包将私钥隔离在设备中,钱包应用通过这些可复用的软件开发工具包与硬件交互——这意味着 SDK 中的默认设置会在其发布的所有地方生效。1.16.0 版本的实现会安装一个网络上报器,除非集成开发者提供替代方案。因此,用户所受影响取决于其钱包如何集成该 SDK,而非仅取决于固件更新。
这位 Ambire 开发者表示,受影响版本从未进入 Ambire 的生产应用,且该钱包默认关闭上报功能,并在隐私设置中提供可选开启的开关。"我认为隐私应该成为默认设置,"这位开发者写道。
上报内容包含什么
Ledger 的发布记录将 context-module 1.16.0 的日期定为 4 月 14 日,并描述了在该模块中添加盲签名上报器。随附的以太坊签名代码会为交易和类型化数据签名构建上报内容,包括操作被归类为非盲签名的情况。
上报构建代码会提供生成的签名事件标识符、签名方式、链 ID、目标地址、盲签名状态及原因、设备型号,以及在可用时的签名应用版本和固件版本。在信息可用时,它还包括明文签名类型和上下文错误计数。明文签名指在批准前以可读形式呈现交易详情;盲签名则是其对应形式——批准设备无法以可读形式显示的数据。目标地址在公链上是假名的,但每份上报会将目标地址与签名方式、设备型号和软件版本打包成单个数据负载发送到 Ledger 的服务器。
HTTP 实现会添加应用来源标签,并在发送上报时附带标明 context-module 版本和集成来源令牌的请求头。上报构建器不包含私钥、助记词或加密签名本身——这将所报告的行为归入元数据收集范畴,而非密钥托管。
上报目标随时间发生了变化。1.16.0 版本配置了一个测试环境采集地址,Ledger 后续的更新日志记录了在 2.1.0 版本中切换到生产盲签名端点。当前构建器将上报器指向
对于钱包开发者而言,该构建器提供了替换默认上报器的途径。Ambire 的开发者表示,其实现将为用户提供隐私设置开关,默认关闭上报发送。对用户而言,决定因素在于其所使用的钱包:其开发者是保留了默认上报器还是将其替换——这一选择在应用代码中做出,而非在设备设置中。随着默认上报器自 2.1.0 版本起指向 Ledger 的生产采集端点,钱包制造商如何配置该模块将是接下来值得关注的焦点。