セキュリティ
何があなたの鍵を守っているか、そしてウォレットのコードを自分で確かめる方法。
Qlyphs は、あなたに求める信頼をできるだけ少なくし、残りは自分で確かめられるようにしています。デバイス上で鍵を守る仕組みはウォレットのページで説明しています。このページでは、コードの確かめ方を説明します。
オープンソース
ウォレットは MIT ライセンスのオープンソースです:github.com/yacinealloul/qlyphs-wallet。ここには Qlyphs Keys、拡張機能、そしてサイトがウォレットとやり取りするための provider が含まれます。
keys.qlyphs.com を検証する
Web のウォレットは訪問のたびにコードをダウンロードします。だからこそ、受け取ったものを確かめられるべきです。ソース、固定された依存関係、固定されたツールチェーン、ビルド設定が同じなら、リリースのビルドは毎回同じ結果になります。以下の 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 は作らないでください。