Qlyphs 文档

安全

是什么在保护你的密钥,以及如何自行检查钱包代码。

Qlyphs 只要求你给予尽可能少的信任,其余部分都可以自行检查。在你的设备上保护密钥的机制见钱包一页;本页讲的是如何检查代码。

开源

钱包以 MIT 许可证开源:github.com/yacinealloul/qlyphs-wallet。它涵盖 Qlyphs Keys、浏览器扩展,以及 provider(网站用来与钱包通信的接口)。

验证 keys.qlyphs.com

网页钱包在每次访问时都会重新下载代码,因此你应该能检查自己收到的究竟是什么。只要源码、锁定的依赖、固定的工具链和构建配置相同,发布构建就是确定性的。下面的 Docker 流程提供发布构建所用的环境。

每个 GitHub 发布版本(标签 keys-v<version>)都会公布一个发布哈希,即网站所提供全部文件的列表的 SHA-256。keys.qlyphs.com 的每个响应都会在 x-qlyphs-release 响应头中带上该哈希。

curl -s https://keys.qlyphs.com/SHA256SUMS.txt | shasum -a 256

结果必须与 GitHub 上的发布哈希一致。如需完整检查每个文件以及页面的安全策略,请运行仓库中的校验工具(Node 18 或更高版本):

node apps/keys/verify.mjs https://keys.qlyphs.com --expect <release hash>

一次检查证明的是:在你检查的那一刻,网站向你提供了什么。它无法证明其他所有人都收到了相同的文件。已安装的扩展在两次更新之间使用的是已安装的那个安装包,但安装包的来源和今后的更新仍是信任边界。应用商店分发和独立的钱包安全审计尚未完成。

页面如何锁定

  • 页面只从自身的源加载脚本和打包的依赖:没有第三方脚本源、分析脚本或 eval。
  • 它的内容安全策略(CSP)允许连接到自身的源,以及构建时固定的 RPC/数据服务源。已连接的 DApp 无法替换这些端点。
  • 它不能被嵌入到其他网站中。

报告漏洞

请通过 GitHub 的私密漏洞报告私下报告。请不要为安全问题创建公开 issue。

本页内容