Hey Look!による保護
- サーバーはTLSまたはSTARTTLSに対応している必要があります。暗号化されていない接続しか提供しないサーバーは追加できません。
- GoogleとMicrosoftのサインインでは、プロバイダー自身のウィンドウで、PKCEを用いたOAuth 2.0を使います。アプリが保存するのはトークンで、パスワードは保存しません。
- パスワード、OAuthトークン、AIのAPIキーは、システムの資格情報ストアに保管されます。
- 例外はOpenPGPの秘密鍵で、資格情報ストアではなく、パスフレーズで保護された状態でアプリのデータベースに保存されます。パスフレーズを何度も間違えると、ロック解除まで30秒待つ必要があります。
- メッセージは、スクリプトが無効で、厳格なコンテンツポリシーが適用され、iframe、object、embed、フォームを含まないフレーム内に表示されます。
- リモート画像は、許可するまでブロックされるため、トラッキングピクセルは動作しません。
- 表示テキストがWebアドレスで、実際には別のホストを指しているリンクを開くときは、確認が表示されます。これは汎用的なフィッシング検出ではありません。
- 実行ファイルやスクリプトの添付ファイルを開くときは、先に確認が表示されます。
- 「このサーバーの証明書を信頼する」は既定でオフです。アカウントごとに選ぶ設定で、オンにするとそのアカウントの証明書の検証が無効になります。
- アプリ自身のウィンドウは、コンテンツセキュリティポリシー(Content Security Policy)の下で動作します。実行されるのはアプリ自身のスクリプトだけで(インラインスクリプトやリモートスクリプトは実行されません)、ウィンドウの接続先はアプリ自身に限られます。
- Webページや他のプログラムから貼り付けたテキストは、自動で整理されます。スクリプト、フォーム、イベントハンドラーは取り込まれず、作成中にリモート画像が取得されることもありません。
アップデートは署名されています
アプリはGitHubで新しいバージョンを確認し、https://github.com/thnonl/hey-look/releases/download/<tag>/<file>の形式のダウンロードアドレスのみを受け付けます。アプリに組み込まれた公開鍵でminisignの署名を検証し、5秒のカウントダウン(キャンセル可能)のあとに再起動します。Windowsではアップデートが自動でインストールされ、macOSとLinuxではユーザーの許可が必要です。
インストーラーはまだコード署名されていません
WindowsとmacOSのインストーラーはコード署名されておらず、macOS版は公証も受けていないため、初回起動時にWindows SmartScreenとmacOS Gatekeeperが警告を表示します。初回起動の手順はダウンロードページにあります。コード署名は今後実現したい項目のひとつです。どのような支援が役立つかは支援ページをご覧ください。macOSアプリはプロジェクト独自の自己署名証明書で署名されています(Appleのアカウントによる署名ではありません)。これにより、アップデート後もキーチェーンがアプリを同じアプリとして認識し続けられますが、公証とは異なります。
脆弱性を報告する
セキュリティ上の問題は、GitHubを通じて非公開で報告してください。github.com/thnonl/hey-look/securityを開いて「Report a vulnerability」を選びます。公開のIssueは作成しないでください。namth.onl@gmail.com宛てにメールで報告することもできます。Hey Look!は空き時間に開発しているため、返信までに時間がかかる場合があります。また、返信までの期間はお約束できません。
既知の制限
- カレンダーの招待の更新とキャンセルは、差出人(From)アドレスが保存済みの主催者と一致する場合に受け付けられます。DKIM、SPF、S/MIMEの検証は行わないため、差出人アドレスが偽装されると、受信した予定が変更またはキャンセルされる可能性があります。通常、こうしたなりすましはメールプロバイダーによって拒否されます。
- OpenPGP機能と他のOpenPGPソフトウェアとの相互運用性は、まだ検証されていません。
- AIアシスタントは、依頼の対象となるテキスト(復号されたOpenPGPの内容を含む)を、設定したエンドポイントに送信します。そのエンドポイントに対して内容は秘匿されません。
- 「アナリティクスなし」という記載は、ソースコードを調べて確認したもので、ネットワークキャプチャによる検証ではありません。
- 第三者によるセキュリティ監査を受けたとは主張していません。
- 「機密」に設定したメッセージが画面キャプチャや録画から隠されるのは、WindowsとmacOSのみです。また、画面をカメラで撮影されることは防げません。