WindowsHelper が PC と携帯電話をどのように保護するか、使用する暗号化、および明示的に防御しないもの。最終更新日: 2026-04-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). パイプは区切り文字ではなく、リテラルのパイプ文字です。つまり、3 つの文字列が連結されたものです。| 脅威 | ステータス | 注意事項 |
|---|---|---|
| ローカルネットワーク上の盗聴者 | 緩和された | 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].