QzoneArchive 的登录凭证安全机制——为什么不用怕密码泄露
Tauri 分层架构的天然边界
理解 QzoneArchive 的凭证安全设计,需要先了解 Tauri 的架构分层:
- 前端(Vue 3):运行在 WebView 里,负责界面渲染和用户交互
- 后端(Rust):管理文件系统访问、网络请求、数据库、Cookie 管理
- 边界:前端通过 Tauri 的 IPC 通道调用后端,前端代码不能直接访问操作系统资源
登录凭证(Cookie)的完整生命周期都在 Rust 后端里完成:
- 前端通过 IPC 请求后端"帮我打开登录流程"
- 后端与 QQ 空间建立会话,处理登录流程
- Cookie 存在 Rust 进程内存中
- 后端通过 IPC 告知前端"已登录"
- 后续所有 API 请求由 Rust 后端携带 Cookie 发起
前端从头到尾碰不到 Cookie 的具体内容。
不持久化的设计
项目方明确说明了凭证存储策略:
- 登录凭证仅存储在 Rust 后端内存中
- 不写入任何配置文件
- 不写入任何日志文件
- 关闭应用进程后,内存自动释放
这意味着:
- 就算你的电脑被远程控制,窃取者也得在应用运行期间 dump Rust 进程内存才能拿到 Cookie——门槛很高
- 就算你误删了配置文件,也不会丢失 Cookie(反正也不存在配置文件里)
- 每次启动应用都需要重新登录(这是安全代价,换来了凭证不持久化)
安全使用提醒
虽然设计上做了很多保护,但用户侧还有几条需要注意:
- 不要在不受信任的设备上登录——公共电脑、网吧机器的硬件和系统都可能被监控
- 不要把 Cookie、数据库文件或导出文件发送给陌生人——这些都包含个人信息
- 归档期间不要切换 QQ 客户端账号——README 提示可能有冻结风险
- 下载应用后比对 SHA256 哈希——防止中间人攻击或篡改安装包