←返回WindowsHelper

安全模型

WindowsHelper 如何保护您的 PC + 手机、我们使用哪些加密技术以及我们明确不防御哪些内容。最后更新时间:2026 年 4 月 25 日。

报告漏洞

电子邮件 support@windowshelper.app 有主题 [security]。请不要公开公开 GitHub 问题——在披露之前给我们一个发布修复程序的窗口。

配对代码生命周期

配对代码是 共享秘密 所有其他加密操作都源自。完整生命周期:

[ Phone GENERATES random 8-char code ]
   ↓
[ Phone WRITES code + sessionId to Firestore in pc_connections doc ]
   ↓
[ Phone DISPLAYS code to user on screen ]
   ↓
[ User READS code, types it into companion's input field ]
   ↓
[ Companion QUERIES Firestore for waiting session matching the code ]
   ↓
[ Both sides DERIVE crypto keys from SHA-256(code, sessionId) ]
   ↓
[ Code STAYS in memory on both sides; never written to Firestore by either ]
   ↓
[ Disconnect / re-pair WIPES the code from both sides ]

密码学

AES-256-GCM(命令机密性+完整性)

通过线路发送的每个命令都使用 AES-256-GCM(一种经过身份验证的加密模式)进行加密。

HMAC-SHA256(命令真实性)

每个命令还带有 HMAC 签名,因此不知道配对代码的手机即使可以写入 Firestore,也无法注入命令。

威胁模型

威胁状态注释
本地网络的窃听者缓解AES-GCM 密文对于 MITM 观察者来说是不透明的。
Firestore 服务器上的窃听者缓解Google sees AESGCM:... blobs, not commands.
攻击者可以写入 Firestore 但不知道代码缓解HMAC验证失败;同伴记录拒绝+拒绝执行。
破解/网络钓鱼配对代码的攻击者残差他们可以像用户一样发出命令。缓解措施:从托盘菜单中旋转代码。
重播录制的命令残差sentAtMillis is HMAC-bound; companion doesn't yet enforce a freshness window. Future fix adds a TTL.
LAN 模式未经身份验证的攻击者缓解WebSocket配对握手验证代码; HMAC + AES 门控每个后续命令。
配对密钥被盗的手机被盗残差与“用户本身”没有区别。缓解措施:速率限制(10 cmd/min)+破坏性命令确认需要 PC 端点击。
从手机应用程序输入错误的命令缓解电话端允许列表阻止无法识别的前缀;同伴端飞行前会阻止针对不存在服务的命令。
意外运行破坏性命令缓解Companion-side modal requires user click to approve Remove-Item, Format-Volume, reg delete, shutdown /r, etc.
挂起/失控的 PowerShell 进程缓解5 分钟硬超时会杀死整个进程树。
Companion .exe 在下载和运行之间被篡改缓解SHA-256 published in companion-version.json; users can verify. Authenticode signing landing soon.
Companion 崩溃泄漏敏感状态缓解崩溃报告 + Firestore 错误写回清理 %USERPROFILE% / %MACHINE% / %USER%.
被盗设备,保留注册表配对密钥残差具有磁盘+登录访问权限的攻击者可以读取持久的代码。未来的修复将使用 Windows DPAPI 对其进行包装。

超出范围

WindowsHelper 明确执行的操作 防御:

披露