
Table of Contents
Gem Wallet 通过了 Cure53 的深度安全审计:钱包的 Rust 核心以及 iOS 和 Android 应用中均未发现关键或高风险问题,所有中风险发现都已修复或缓解。最终报告的日期为2026年10月21日。对我们的用户来说,这又多了一个放心在 Gem Wallet 中存储、发送和兑换加密货币的理由。
什么是 Cure53?
Cure53 是一家总部位于柏林的网络安全公司,自2007年起一直从事渗透测试以及代码、基础设施和密码学审计。公司由 Mario Heiderich 创立,他拥有 Web 安全方向的工学博士学位,而公司的30位独立安全研究人员中,有工程学、应用密码学和物理学博士。Cure53 已在官网上发布了130多份审计报告。
Cure53 的工作守护的远不止自己的客户:团队开发了 DOMPurify——一款帮助 Web 应用抵御 XSS 攻击的开源库,开发者每周下载量达数千万次。1Password、Mullvad VPN、Proton Pass、Threema 和 Bitwarden 背后的团队都信赖 Cure53 的报告——这些产品对用户的全部承诺就是隐私与安全。
Cure53 审查了 Gem Wallet 的哪些部分
Gem Wallet 由四名 Cure53 资深审计师审计:Cure53 创始人 Mario Heiderich 工学博士、Alexander Pirker 博士、Nadim Kobeissi 博士和 C. Mayr 硕士。Gem Wallet 于2026年7月委托进行本次审计,2026年9月,审计师们用13天时间,对 Gem Wallet 2.114.40 版本进行了渗透测试和源代码审计。审计采用白盒方法:Cure53 可以完全访问源代码,对其进行了审查,并测试了 iOS 和 Android 的正式发布版本。后端不在本次审计范围内。
审计的重点是两款应用中负责保护密钥的 Rust 核心:
- 加密密钥库 (v4 Keystore and UniFFI Secret Boundary):钱包如何加密、存储和删除机密数据,以及这些数据如何在 Rust 核心与应用之间传递。
- 密钥与签名 (Derivation, Import and Signing Primitives):助记词导入、账户派生和交易签名。
- 密码保护 (iOS/Android Password Custody):iOS 和 Android 应用如何存储和使用钱包密码。
Gem Wallet 审计结果
Cure53 没有发现任何关键或高风险问题。在21个发现中,17个已修复或缓解,其中包括全部中风险发现,Cure53 也在复查中逐一确认了每项修复:
- 关键 - 0
- 高风险 - 0
- 中风险 - 6(全部已修复或缓解)
- 低风险 - 10(8个已修复)
- 信息性 - 5(3个已修复)
中风险发现都与设备本身的授权有关:例如,应用锁默认未开启;在已 root 的 Android 手机上,密码验证可能被绕过。每一项都需要攻击者拿到已解锁或已 root 的手机,或者用户自己安装了恶意应用。尚未关闭的4项均为低风险或信息性的加固建议。
Gem Wallet 如何保护密钥
Cure53 完整追踪了钱包机密数据的整个生命周期——导入、加密存储、账户派生、签名、导出和删除——并确认了以下基础设计:
- 两款应用共用一个 Rust 核心:iOS(Swift)和 Android(Kotlin)应用共享同一个 Rust 核心。日常签名时,解密后的私钥始终留在 Rust 内部,应用只接收已签名的交易。
- 静态数据强加密:每项机密数据都使用 AES-256-GCM 加密,密钥通过 Argon2id 派生,文件头同样经过认证。Cure53 认为 Argon2id 参数符合当前建议,也没有发现 nonce 重用。
- 受保护的密码存储:钱包密码保存在 iOS Keychain 或 Android Keystore 中。
- 安全的随机性:助记词、nonce 和盐值均来自安全的随机源。
- 56条链的地址检查:派生测试使用固定的预期地址,所有56条使用助记词的链均完全匹配。
Cure53 审计后 Gem Wallet 的修复
大部分修复都让应用锁变得更强。现在,Gem Wallet 会在创建或导入钱包时建议开启应用锁;开启应用锁后,删除钱包需要输入密码或进行生物识别验证。在 Android 上,钱包密码现在始终受 Android Keystore 密钥保护;开启应用锁后,使用该密钥需要设备 PIN 码或生物识别验证,从而堵住了 Cure53 在已 root 手机上发现的绕过漏洞。
我们还加固了应用本身。在 Android 上,dApp 现在通过经过验证的 gemwallet.com 链接返回 Gem,其他任何应用都无法占用这个链接。在 iOS 上,助记词和私钥不会出现在截图、录屏和应用切换器中。在 Rust 核心中,助记词和派生出的密钥现在会在使用后立即从内存中清除。所有这些修复均已在 Gem Wallet 2.114.73 及更高版本中提供。
这对我们的用户意味着什么
Gem Wallet 是100% 开源的自托管钱包:私钥只存储在您的设备上,包括我们团队在内的任何人都无法访问。全部代码都在 GitHub 上公开,任何人都可以查看经过审计的版本以及之后的修复。
开源代码展示了钱包是如何构建的,独立审计则证实了钱包的安全。两者结合,为用户带来最重要的东西——确信自己的加密货币始终只由自己掌控。
Cure53 审计报告(PDF)
如今,CertiK(2026年4月)和 Cure53(2026年10月)两项独立审计都为 Gem Wallet 背书,我们也会继续邀请独立审计师审查我们的代码。将 Gem Wallet 更新到最新版本,即可获得审计后的全部修复——全天候安全、私密地管理您的加密货币。
免责声明: 本文仅供信息参考和学习之用,不构成任何财务或投资建议。加密资产波动性极高,您可能损失全部投入资金。请自行研究,并自行承担决策风险。


