Decentralization? We're still early!

从 SecondFi 事件到自建硬件钱包:Don’t Trust, Verify

  • 从 SecondFi 事件到自建硬件钱包:Don’t Trust, Verify

    發布人 Brave 2026-06-25 03:44

    一、SecondFi 事件:假自托管现形记

    2026 年 6 月,Cardano 生态钱包 SecondFi(前身 Yoroi Wallet,EMURGO 出品)发生安全事件。官方披露的版本:

    • 3 次外部攻击者转出 → 约 1600 万 ADA(~$240 万),涉及 374 个地址
    • 1 次官方"紧急转移" → 将 约 1.29 亿 ADA 转至"独立第三方托管机构"

    慢雾余弦追踪后认为损失可能超过 129M ADA(>$2000 万),但后来发现那 1.29 亿是 SecondFi 自己做的"白帽撤离"。

    核心矛盾:自托管 vs 一键转移

    如果真是自托管(用户持私钥),似乎项目方根本不可能"紧急转移"用户资产。

    因此,一种合理的推测是: SecondFi 所谓的"自托管"实际上是服务器端生成私钥/助记词,项目方持有私钥副本或具备控制能力——这本质上就是托管钱包,只是披着非托管的外衣。

    漏洞出在他们的"网页钱包生成软件",意味着私钥在 SecondFi 后端生成,用户从未真正独立持有私钥。所以:

    • 攻击者能利用同一漏洞批量生成/还原私钥,盗走 1600 万 ADA
    • SecondFi 自己也能通过同一渠道"紧急转移"1.29 亿 ADA
    • 声称开源的是前端客户端,真正要命的后端生成逻辑是闭源的

    是不是自导自演?

    没有实锤,但可疑点:

    1. 3 次"黑客"转出 + 1 次"官方紧急转移",时间窗口高度重叠
    2. "第三方托管"方至今未公布
    3. 独立安全审计报告未公开
    4. 如果真是钱包生成有后门,官方完全可以悄无声息地先撤走所有资产,何必等黑客动手再"紧急转移"?

    反方:

    • 1600 万 ADA 被分散转出,自导自演操作成本高
    • 真要跑路直接全转走合理得多

    不论动机,"紧急转移"本身已经证明了 SecondFi 从来就不是自托管

    二、Lace 钱包真的可信吗

    Lace(IOG 出品)与 SecondFi 架构不同:

    • 开源:GitHub 全量开源(Apache 2.0)
    • 本地生成:私钥在浏览器扩展/App 的 IndexedDB 中生成和存储,不走 IOG 服务器
    • 但依然有信任链问题
      1. 商店下载的扩展是否和 GitHub 源码一致?无法字节级验证(API 密钥不同)
      2. 浏览器扩展可以静默更新,如果 IOG 被黑或内部作恶,一次更新就能注入后门
      3. Lace 依赖 Blockfrost/Maestro 等第三方 API 读取链上数据
      4. 浏览器本身的漏洞面

    自托管不是二元的"可信/不可信",而是一层层递减的:

    硬件钱包 (Ledger/Trezor) ─ 最高,但固件也有闭源部分
      ↓
    自建全节点 (Daedalus) ─ 你跑自己的节点,不依赖第三方 API
      ↓
    开源轻钱包,自己编译 ─ 极少人做到
      ↓
    开源轻钱包,商店下载 ─ 大多数人的选择
      ↓
    闭源轻钱包 ─ 纯靠信任团队
      ↓
    SecondFi ─ 笑话

    如果有人跟你说"绝对安全、绝对自托管",要么是 naive,要么是想卖你东西。Crypto 的本质不是消除信任,而是选择把信任放在哪。

    三、硬件钱包也一样

    最有名的例子是 Ledger Recover(2023): Ledger 推出"助记词云端备份"服务,通过固件更新就能把种子加密传出设备。这说明硬件钱包厂商一直都有能力提取你的私钥,只是他们之前说不会这么做。Recover 一出,那个"物理隔离、绝对安全"的叙事就破了。

    各硬件钱包对比

     固件开源芯片闭源有过"后门"事件
    Ledger❌(安全芯片闭源)✅ Ledger Recover
    Trezor✅ 全开源N/A(无安全芯片)❌ 但有过供应链攻击
    Coldcard❌ 最透明
    OneKey⚠️ 部分✅ 有争议

    终极悖论: 硬件钱包的安全性建立在"信任厂商不会作恶"的基础上,但硬件钱包存在的意义恰恰是"不需要信任任何人"。每次插上设备、升级固件、用官方软件签名交易,都是在赌厂商没动手脚。

    四、自建 Trezor:Don't Trust, Verify

    方案一:STM32 开发板 + 自编译固件(推荐,零焊接)

    买什么:

    • STM32F429I-DISC1 开发板(ST 官方评估板)
    • 淘宝/立创商城 ~150-200 元
    • 闲鱼二手 ~80-120 元
    • 自带 240x240 彩屏、电容触控、ST-LINK 调试器
    • 芯片 STM32F429ZIT6(比原版 Trezor T 的 F427 还高一级)

    编译烧录:

    git clone --recurse-submodules https://github.com/trezor/trezor-firmware.git
    cd trezor-firmware/core
    uv sync
    make build_boardloader build_bootloader build_firmware
    make upload   # 通过 USB 刷入开发板

    刷完之后插电脑,Trezor Suite 或 wallet.trezor.io 直接识别,正常收发签名。

    可选加固: 刷完后设 RDP Level 2(最高读保护),永久禁用调试接口和系统 bootloader,芯片变成一次性烧录的黑盒。

    方案二:PiTrezor(需要基础焊接)

    • 树莓派 Zero(v1.3,不含 WiFi 版,~$10)
    • 0.96 寸 OLED 屏(I2C/SPI)
    • 两个按钮(确认/取消)
    • SD 卡
    • 项目地址:pitrezor.com
    • 编译:sudo ./build-pitrezor.sh 1.13.1.0
    • 攻击面比 STM32 方案大(跑 Linux 而非裸机)

    方案三:旧笔记本冷钱包(零成本)

    • 一台不联网的旧笔记本
    • 装加密 Linux 系统
    • 装你需要的钱包软件(Cardano CLI、Sparrow、Electrum 等)
    • 离线生成种子、离线签名交易,用 U 盘传签名后的交易
    • 攻击面最大(全功能 OS),但成本为零、100% 可控

    方案四:复刻官方 Trezor T PCB(需要焊接经验)

    • GitHub: trezor/trezor-hardware
    • 核心物料:STM32F427VIT6(QFP100,~80-100元)+ TFT 屏 + 电容触控 + microSD 座 + 几十个被动元件
    • 需要热风枪/回流焊
    • PCB 打样:嘉立创 ~30元(5片)
    • 总物料成本 ~200-300元
    • 焊废概率:不低

    各方案综合对比

    方案成本焊接难度攻击面可信度
    STM32 开发板 + 自编译~200元✅ 完全掌控源码
    买成品 Trezor800-1500元❌ 信任厂商固件签名
    PiTrezor~150元中(Linux)✅ 但攻击面较大
    二手笔记本冷钱包0-200元高(OS)✅ 但需自己加固
    复刻 Trezor T PCB~300元最低✅✅ 终极方案

    五、关于 STM32 boot ROM 闭源问题

    ST 没有公开 boot ROM 源码。但实际影响很小

    boot ROM 只干一件事:上电时决定从哪启动(主 flash / 系统 bootloader / SRAM),并提供 USB/串口刷写功能。一旦 Trezor 固件跑起来了,boot ROM 就不再执行任何代码,私钥根本不经过它。

    而且你可以设置 RDP Level 2——永久禁用调试接口和系统 bootloader,把闭源的 boot ROM 物理封印。之后芯片的运行完全由你编译的固件控制。所以它不是实质的信任问题。

    六、小结

    200 块开发板 + 一下午编译 = 你完全掌控的硬件钱包,没有厂商后门,没有"紧急转移"风险。

    Don't Trust, Verify 的终点不是买什么牌子,而是你自己亲手把它造出来。 不是技术做不到,是大多数人没有选择去做。

    "自托管"不是产品特性,而是生活态度。你愿意为它付出多少代价,它就能给你多少安全感。

    Brave 回复 3 days, 13 hours ago 1 成員 · 0 回复
  • 0 回复

歡迎留言回复交流。

Log in to reply.

讨论開始
00 回复 2018 年 6 月
現在