Hey Look!

セキュリティ

私たちにできること、そしてその限界

お知らせ:この日本語版は、利便性のために提供している参考訳です。内容に相違がある場合は、英語版が正式なものとして優先されます。英語版は、ページ上部の言語メニューから開けます。

事実のみを記載します。結果を保証することは誰にもできないため、それは約束しません。

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のみです。また、画面をカメラで撮影されることは防げません。