01 — 原则
不容谈判
- 客户端生成 — CPU 上的 Web Worker 创建每个密钥对。
- 零密钥传输 — 没有接受或返回私钥的 API。
- 零密钥存储 - 没有数据库,没有秘密日志,没有模式或地址分析。
- 可验证 — 开源、实时审核、离线测试、网络面板。
- 不暴露的证明 - 可共享的证明仅包含地址+图案。
In the proof
- Public address
- Prefix / suffix pattern
- Chain · mode · timestamp
Never in the link
- Private key / seed
- Worker memory dumps
- Clipboard or exports
如果没有检查,营销宣传毫无价值。使用下面的 live audit 和验证部分。
02 — 建筑
钥匙所在的地方
Vanitas 是一个静态 Next.js 站点。主机(例如 Vercel)提供 HTML、CSS、JS 和预构建的工作包。加密技术永远不会在该主机上运行您的密钥。
- —Main thread UI
- —Web Workers (keys in RAM)
- —sessionStorage: address only
您的浏览器
主线程
UI·反应·控件
网络工作者
W1…Wn — 磨练·匹配·postMessage
私钥仅存在于此处 - 您设备上的 RAM
挖矿时的网络
不需要。资产加载后,飞行模式仍然有效。唯一的第一方 API 路由 (/api/domains) 建议使用 Solana 域链接 — 它不会生成或接收密钥。
我们的服务器
交付文件。无法读取您的 Worker 内存。无法拦截已完成的密钥对。受损的源可能会为恶意 JS 提供服务——这就是完整性检查和开源很重要的原因(请参阅完整性和浏览器)。
03 — 威胁
威胁模型(诚实)
在范围内——我们的设计目标是
- 服务器端密钥被盗(服务器上没有密钥)。
- 挖矿期间的随意网络嗅探(无关键流量)。
- 主应用程序的点击劫持(主要路由上的帧拒绝)。
- 明显的 XSS 渗透路径(CSP;仍然不是灵丹妙药)。
超出范围/共同责任
- 读取页面内存或剪贴板的恶意浏览器扩展 - 在伪造高价值密钥时在干净的配置文件上禁用它们。
- 受感染的设备/恶意软件 - 操作系统级键盘记录器击败任何网站。
- 您将密钥粘贴到 Discord / 网络钓鱼 - 操作安全性是您的。
- 依赖供应链 — 我们固定并审核;您可以验证工作哈希并从源重建。
虚荣挖掘不会创建“较弱”的密钥。长模式只会消耗更多的 CPU — 它们不会减少私钥熵。
04 — 存储
我们储存什么
我们服务器上没有关于您的密钥的信息。 伪造路径中没有地址、模式、用于挖掘的 IP 或分析 SDK 的数据库。
磁盘或服务器上没有私钥
没有远程收集的公钥/地址
无模式遥测
无账户系统
产品承诺中没有第三方分析
sessionStorage 最近发现 = 仅地址 + 模式,此浏览器会话
证明链接 = 您选择共享的查询参数(无密钥)
05 — 加密货币
每个锻造的算法
随机性始终来自浏览器 CSPRNG (crypto.getRandomValues)。曲线和地址推导因链而异:
索拉纳
Ed25519 → Base58
Web Crypto 原生或 WASM 后备·钱包/铸币厂
EVM
secp256k1 + keccak-256
0x EOA·创建·创建2
比特币
secp256k1
旧版 · SegWit · Taproot · WIF 导出
创
secp256k1 + keccak → Base58Check
T…钱包/创建
阿普托斯
Ed25519 + SHA3-256
0x账户地址
隋
Ed25519 + Blake2b-256
0x 带有方案标志
TON
Ed25519 · 钱包 v4R2
UQ / EQ Base64url
卡尔达诺
Ed25519 · CIP-19 企业
addr1…仅限支付密钥
XRP
secp256k1 · XRPL Base58
经典 r… 地址
查找后检查可以验证随机样本的熵大小、CSPRNG 存在和卡方均匀性 - RNG 路径的健康检查,不能替代设备卫生。
06 — 诚信
工作人员和发布的哈希值
挖掘代码以从 TypeScript 源构建的静态 public/*-worker.js 文件形式提供。每个生产版本都会在 worker-hash.json 中记录 SHA-256 摘要。审核页面重新散列浏览器加载的工作程序并将它们与该文件进行比较。
如果哈希值不同,则将该页面视为不受信任 - 停止,不要使用密钥,并进行调查(错误的部署、缓存或篡改)。从打开的存储库重建应该为给定的提交重现相同的工作字节。
07 — 标题
HTTP 安全标头
响应包括减少 XSS 影响、强制 HTTPS 和阻止主应用程序框架的标头。 CSP 仍然允许 Next.js 需要的东西(包括一些内联/评估权衡)——标题帮助;它们不会取代代码审查。
CSP
内容安全策略
限制脚本、workers、connect-src
HSTS
严格的运输安全
最大年龄=31536000
框架
X 帧选项:拒绝
主应用程序不可嵌入
MIME
X-内容类型-选项:nosniff
没有 MIME 嗅探
推荐人
跨源时严格源
限制引荐来源网址泄漏
08 — 浏览器
浏览器还能做什么
理论上,任何以页面权限运行的东西都可以读取 DOM 和 Worker 消息。其中包括:
- 具有广泛站点访问权限的浏览器扩展
- DevTools 在共享计算机上打开
- 如果存在 XSS,则恶意注入脚本
- 复制密钥后剪贴板嗅探器
缓解措施:干净的浏览器配置文件,没有不必要的扩展,对于高价值密钥,更喜欢下载文件而不是剪贴板,粘贴到钱包后擦除剪贴板,考虑使用终端 CLI 或用于大型金库的气隙机器。
09 — 工作流程
安全操作流程
- 加载 vanitas.fun (或从经过验证的本地构建运行)。
- 可选:打开网络、离线、运行审核。
- 首先选择较短的图案;一旦您信任该设置,就增加长度。
- 查找时:导出、离线存储、切勿将按键截图到聊天应用程序中。
- 导入该链的正确钱包;发送灰尘测试传输。
- 对于长期持有,请将资金转移到硬件钱包中——Vanitas 是一个锻造厂,而不是金库。
10 — 验证
任何人都可以运行的三项检查
11 — 披露
报告问题
不要公开公开 GitHub 问题以查找安全漏洞。更喜欢 bytebrox/vanitas 上的私有 GitHub 安全公告。包括重现步骤、影响以及建议的修复(如果有)。
你能偷我的钥匙吗?
我们没有接收它们的服务器端路径。恶意构建或扩展可以验证哈希值并使用干净的环境来获得高价值。
如果主机被黑了怎么办?
攻击者可以提供经过修改的 JavaScript。这就是为什么开源、工作哈希检查以及更喜欢已知良好的提交很重要。主机仍然从未从干净的版本中收到您完成的密钥。
个性地址是否不太安全?
不会。私钥熵没有改变。仅对公共地址进行外观过滤。
我应该在日常浏览器中伪造冷存储密钥吗?
对于重要资金:干净的配置文件或离线/CLI,小额测试转移,然后硬件钱包托管。








