Skip to content

Security: lprintf/printf-client-releases

SECURITY.md

Security Policy

Printf Client 以 root 或 Administrator 权限管理 WireGuard,因此 token、私钥和发布包完整性都属于安全边界。

支持版本

当前仅支持 Latest Release。发现安全问题后可能要求升级到新版本,不保证旧版本继续收到修复。

私密报告漏洞

不要为安全问题创建公开 Issue。请使用本仓库的 GitHub Private Vulnerability Reporting:

Security -> Report a vulnerability

报告应包含:

  • 受影响版本和平台。
  • 可复现步骤。
  • 预期与实际行为。
  • 影响范围。
  • 已脱敏的日志。

不要提交:

  • Client token。
  • WireGuard private key。
  • 完整 printf0.confwg0.conf
  • SSH、Cloudflare、GitHub 或其他平台凭据。
  • 未经允许的生产用户数据。

Token

PRINTF_TOKEN 是 bearer credential。当前同一个 token 同时具备 Client runtime 和 Client Panel 权限。

  • 一个 token 只能运行一个 Client 实例。
  • token 不应出现在 URL、Issue、截图或 Git 历史中。
  • systemd 环境文件应为 0600
  • Windows 上应仅允许 Administrators 和 SYSTEM 读取配置目录。
  • 怀疑泄露时立即在控制面刷新 token,并停止旧 Client。

WireGuard 私钥

默认私钥位置:

平台 路径
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 或生产环境。

There aren't any published security advisories