Printf Client 以 root 或 Administrator 权限管理 WireGuard,因此 token、私钥和发布包完整性都属于安全边界。
当前仅支持 Latest Release。发现安全问题后可能要求升级到新版本,不保证旧版本继续收到修复。
不要为安全问题创建公开 Issue。请使用本仓库的 GitHub Private Vulnerability Reporting:
Security -> Report a vulnerability
报告应包含:
- 受影响版本和平台。
- 可复现步骤。
- 预期与实际行为。
- 影响范围。
- 已脱敏的日志。
不要提交:
- Client token。
- WireGuard private key。
- 完整
printf0.conf或wg0.conf。 - SSH、Cloudflare、GitHub 或其他平台凭据。
- 未经允许的生产用户数据。
PRINTF_TOKEN 是 bearer credential。当前同一个 token 同时具备 Client runtime 和 Client Panel 权限。
- 一个 token 只能运行一个 Client 实例。
- token 不应出现在 URL、Issue、截图或 Git 历史中。
- systemd 环境文件应为
0600。 - Windows 上应仅允许 Administrators 和 SYSTEM 读取配置目录。
- 怀疑泄露时立即在控制面刷新 token,并停止旧 Client。
默认私钥位置:
| 平台 | 路径 |
|---|---|
| Linux | /var/lib/printf-client/private.key |
| macOS | /Library/Application Support/Printf Client/private.key |
| Windows | %ProgramData%\Printf Client\private.key |
不要复制私钥到日志、备份工单或聊天工具。迁移主机时,优先生成新密钥并重新 join。
下载后至少验证 .sha256。当前版本尚未完成独立发布签名、macOS notarization 和 Windows Authenticode,因此操作系统可能显示未知发布者警告。
不要通过关闭系统安全机制来长期绕过警告。正式生产部署应记录下载来源、版本和哈希。
公开 Client 协议不是秘密。服务端安全依赖:
- token 验证和轮换;
- Client 与 Mapping 的资源归属校验;
- WireGuard peer 和 assigned IP 约束;
- capability 校验;
- 服务端审计、限流和输入校验。
协议公开不授权访问任何 Client、Node 或生产环境。