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 ]
pairingCode;一旦配对,代码就会专门保留在内存中。通过线路发送的每个命令都使用 AES-256-GCM(一种经过身份验证的加密模式)进行加密。
SHA-256("WH_SECURE_{code}_{sessionId}_CMD_KEY").Random.secure() 通过电话或 RandomNumberGenerator 在同伴身上。AESGCM:<nonce_b64>:<ciphertext_b64>:<tag_b64>每个命令还带有 HMAC 签名,因此不知道配对代码的手机即使可以写入 Firestore,也无法注入命令。
SHA-256("WH_SECURE_{code}_{sessionId}_HMAC_KEY"). 与加密密钥分开。HMAC-SHA256(hmacKey, commandId | ciphertext | sentAtMillis). 管道是文字管道字符,而不是分隔符 - 三个连接的字符串。| 威胁 | 状态 | 注释 |
|---|---|---|
| 本地网络的窃听者 | 缓解 | 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 明确执行的操作 不 防御:
[security].