CVE-2024-44133 に対する一般的なmacOSブラウザの影響を受けやすさを評価します。
また、スクリーンショットを撮影してダウンロードし、位置情報の抽出も行うHTMLも含まれています。

CVE-2024-44133 についてすべての一般的なmacOSブラウザを評価する評価ツールを実行するには、次のコマンドを実行します:
python3 -m pip install -r ./requirements.txt
./hm-surf-eval.py
実行すると、このツールはすべての一般的なmacOSブラウザのTCCバイパス機能を評価します。
hm-surf.html は、CVE-2024-44133 を実演するHTMLページの例です。
このファイルが行うのは、カメラと位置情報へのアクセス、位置情報の表示(意図的に低精度)、カメラのスクリーンショットのダウンロードだけです(ただし、サーバーに保存することも同様に簡単にできます)。
このファイルは、それ単体ではエクスプロイトではありません。また、ブラウザでカメラ・マイク・位置情報へのアクセスが有効になっている必要があります(例: ローカルの攻撃者がブラウザごとの設定を上書きするなど)。
その能力は評価ツールで評価できます。
HTMLページを簡単に表示するには、任意のツール(例: htmlpreview)を使用できます。
評価ツールのコーディングは非常に簡単です。BrowserEvaluatorBase を継承して、次の2つのメソッドを実装するだけです:
get_browser_name - 人間が読めるブラウザ名を取得します。evaluate - username とその home_dir を取得し、影響を受けやすさを評価します。None を返す場合はブラウザが影響を受けにくいことを意味し、BrowserResults インスタンスを返す場合は影響を受けやすい結果になります。なお、Chromiumベースのブラウザ向けには ChromiumEvaluatorBase 基底クラスもあります。つまり、通常の get_browser_name に加えて、指定されたホームディレクトリに対するプリファレンスファイルのパスを返す get_preference_filepath メソッドも実装する必要があります。Chromiumベースのブラウザでは evaluate を実装する必要はありません。これは基底クラスが実装します。