←返回WindowsHelper

安全模型

WindowsHelper 如何保護您的 PC + 手機、我們使用哪些加密技術以及我們明確不防禦哪些內容。最後更新時間:2026 年 4 月 25 日。

報告漏洞

電子郵件 support@windowshelper.app 有主題 [security]。請不要公開公開 GitHub 問題——在披露之前給我們一個發布修復程式的視窗。

配對程式碼生命週期

配對代碼就是所有其他加密操作都由其派生的共享秘密。完整生命週期:

[ 手機產生 8 位隨機配對碼 ]
   ↓
[ 手機將配對碼與 sessionId 寫入 Firestore 的 pc_connections 文件 ]
   ↓
[ 手機在螢幕上向使用者顯示配對碼 ]
   ↓
[ 使用者讀取配對碼,輸入到 Companion 的輸入欄 ]
   ↓
[ Companion 在 Firestore 中查詢與該碼相符的等待中工作階段 ]
   ↓
[ 雙方從 SHA-256(配對碼, sessionId) 衍生加密金鑰 ]
   ↓
[ 配對碼只留在雙方記憶體中,任何一方都不會寫入 Firestore ]
   ↓
[ 中斷連線 / 重新配對會從雙方清除配對碼 ]

密碼學

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

透過線路發送的每個命令都使用 AES-256-GCM(一種經過身份驗證的加密模式)進行加密。

HMAC-SHA256(命令真實性)

每個命令還附帶 HMAC 簽名,因此不知道配對代碼的手機即使可以寫入 Firestore,也無法注入命令。

威脅模型

威脅狀態註解
本地網路的竊聽者緩解AES-GCM 密文對於 MITM 觀察者來說是不透明的。
Firestore 伺服器上的竊聽者緩解Google 看到的是 AESGCM:... 資料區塊,而不是命令。
攻擊者可以寫入 Firestore 但不知道程式碼緩解HMAC 驗證失敗;Companion 會記錄這次拒絕並拒絕執行。
破解/網路釣魚配對代碼的攻擊者殘差他們可以像用戶一樣發出命令。緩解措施:從托盤選單中旋轉代碼。
重播錄製的命令殘差sentAtMillis 與 HMAC 綁定;Companion 尚未強制有效期間,後續修復將加入有效期限。
LAN 模式未經驗證的攻擊者緩解WebSocket配對握手驗證碼; HMAC + AES 閘控每個後續命令。
配對密鑰被盜的手機被盜殘差與“用戶本身”沒有區別。緩解措施:速率限制(10 cmd/min)+破壞性命令確認需要 PC 端點擊。
從手機應用程式輸入錯誤的命令緩解手機端的允許清單會攔截無法識別的前綴;Companion 端的預檢會攔截指向不存在服務的命令。
意外運行破壞性命令緩解Companion 端會彈出對話框,必須由使用者點擊才能批准 Remove-Item、Format-Volume、reg delete、shutdown /r 等命令。
暫停/失控的 PowerShell 進程緩解每條命令都有時間上限——預設 5 分鐘,長時間執行的修復 45 分鐘,硬上限 60 分鐘——並且會終止整個處理程序樹。
Companion .exe 在下載和執行之間被竄改緩解SHA-256 公布在 companion-version.json 中,使用者可以自行核對。Authenticode 簽章計畫在正式推出前完成。
Companion 崩潰洩漏敏感狀態緩解崩潰報告 + Firestore 錯誤寫回清理 %USERPROFILE% / %MACHINE% / %USER%.
被竊設備,保留註冊表配對金鑰緩解保留的配對代碼使用 Windows DPAPI(每個帳戶)加密,因此無法從複製的磁碟或不同的 Windows 帳戶中讀取。

超出範圍

WindowsHelper 明確不防禦的情況:

揭露