Token 本地不落地——PakePlus 安全架构解读
核心安全承诺
PakePlus 文档在多处重复同一个安全原则:
数据安全,你的 token 仅保存在你本地,不会上传服务器,你的项目也都在你自己的 git 中安全存储。
这句话可以拆成三层理解。
第一层:Token 只存你电脑本地
PakePlus 收到你的 GitHub Token 后,只做两件事:
- 存到本地配置文件或系统 Keychain
- 在本地直接用它调 GitHub API
| 会不会 | 答案 |
|---|---|
| 上传到 PakePlus 官方服务器 | ❌ 不会 |
| 上传到第三方云存储 | ❌ 不会 |
| 发日志到任何地方 | ❌ 不会(除非你自己开了调试并截了图) |
| 同步到其他设备 | ❌ 不会 |
存储位置取决于操作系统安全机制:
- Windows:Windows Credential Manager 或
%APPDATA%/PakePlus/配置文件 - macOS:系统钥匙串(Keychain Access)
- Linux:
~/.config/PakePlus/或 Secret Service API(GNOME Keyring / KWallet)
没有云端同步——如果你换了一台电脑用 PakePlus,需要重新填 Token。
第二层:PakePlus 没有后端服务
PakePlus 本身没有任何服务器在收你的数据。整个工作流是:
你的电脑 (PakePlus 客户端) ←→ GitHub API ←→ 你自己的 fork 仓库
PakePlus 客户端是一个纯本地的 GUI 工具——它不连接任何 PakePlus 官方的后端服务。云端编译全部走 GitHub Actions,产物上传 GitHub Release,项目配置存 GitHub fork 仓库。
这种架构在 GitHub 生态里叫"去中心化 SaaS"——服务提供商(PakePlus 作者)只提供模板、工具和文档,实际数据流转完全在用户和 GitHub 之间。
对比传统 SaaS 打包服务
| 维度 | PakePlus | 传统 SaaS 打包服务 |
|---|---|---|
| 项目数据 | 你自己的 GitHub fork | SaaS 服务器 |
| 编译位置 | GitHub Actions | SaaS 自己的编译服务器 |
| 产物存放 | GitHub Release | SaaS 服务器 |
| Token | 只存你本地 | 可能存 SaaS 服务器(更危险) |
| 服务商跑路 | 项目在你自己 GitHub,不受影响 | 所有数据没了 |
PakePlus 把"打包云"这个能力完全委托给 GitHub——用户信任的是 GitHub,不是 PakePlus 作者。
第三层:fork 仓库是你自己的
当 PakePlus 创建项目时,它在你的 GitHub 账号下 fork 一个模板仓库。这个仓库:
| 属性 | 说明 |
|---|---|
| 所有者 | 你自己的 GitHub 账号 |
| 可见性 | 私密 / 公开(创建时选) |
| 谁能读写 | 只有你 |
| 里面存什么 | 项目配置、dist 静态文件 |
| PakePlus 作者能看吗 | ❌ 不能(私密仓库) |
这意味着什么
- 你随时可以在 GitHub 网页里查看 fork 仓库内容
- 可以手动备份仓库(GitHub Archive 导出)
- 可以删除 fork 仓库(PakePlus 客户端不会阻止)
- 换了新的 GitHub Token,重新授权后 PakePlus 还能找到这些 fork
Token 泄露风险的实际场景
场景一:电脑被别人用了
- 别人打开 PakePlus → 能看到你的 GitHub Token(如果登录状态没退出)
- 退出 PakePlus 登录 → Token 从本地清除 → 别人用不了
- 如果不想退出登录但怕被用 → 在 GitHub 设置里限制 token 权限(比如只读 repo、不要 workflow scope)
场景二:电脑被黑客入侵
- 本地配置文件被读取 → Token 泄露
- GitHub token 泄露后:fork 仓库被控制、GitHub Actions 被滥用
- 应对:定期在 GitHub 里轮换 token(旧 token 删掉、新 token 生成)
- GitHub token 设置过期时间(90 天)→ 过期自动失效 → 黑客就算拿到也用不了多久
场景三:打包产物里藏了 Token
PakePlus 打包出来的 APP 里不包含你的 GitHub Token——Token 只在 PakePlus 客户端里用(推送配置、触发 Actions 的阶段),打包产物里只有网站/dist 的内容。
打包产物 → 安全(不含凭据)PakePlus 客户端 → 含 Token(只有装了客户端的机器上才有)
安全加固建议
| 建议 | 操作 |
|---|---|
| 给 token 设过期时间 | GitHub → Tokens → 选 90 天过期 |
| 定期轮换 token | 每 3-6 个月重新生成一个 |
| 用专门的 GitHub 账号 | 只为 PakePlus 建一个新账号,隔离权限 |
| 私密项目 | 不想让别人看到的项目设为私密 |
| 退出登录 | 不用 PakePlus 时退出登录,清掉本地 token |
| 不要打包敏感信息 | JS 注入脚本里别硬编码密码、密钥等 |
总结
PakePlus 的安全模型是"尽量不碰你的数据"——Token 只存本地、不连后端、项目在你自己的 GitHub 里。真正的安全边界是 GitHub 的安全 + 你本地电脑的安全。PakePlus 本身是一个值得信任的中间层,因为它没有后端、没有数据聚合、没有单点风险。