Webの脅威モデル

W3Cグループノート草案,

この文書についての詳細
このバージョン:
https://www.w3.org/TR/2026/DNOTE-threat-model-web-20260922/
最新公開バージョン:
https://www.w3.org/TR/threat-model-web/
編集者草案:
https://w3c.github.io/threat-model-web/
以前のバージョン:
履歴:
https://www.w3.org/standards/history/threat-model-web/
フィードバック:
public-security@w3.org に件名行「[threat-model-web] … メッセージのトピック …」を付けて送信(アーカイブ)
GitHub
編集者:
(W3C)
(Legendary Requirements)
(FBK)
(ETH Zurich)

概要

本書はWebの脅威モデルについて説明し、Webセキュリティモデルを含む。また、Webプラットフォーム全体では まだ達成されていないものの、新規および変更された仕様のレビューには引き続き適用される目標を含む場合がある。

この文書のステータス

このセクションでは、この文書の公開時点におけるステータスについて説明する。現在のW3C 公開文書の一覧およびこの技術報告書の最新版は、W3C標準および草案インデックスで確認できる。

このグループノート草案はSecurity Interest Groupによって承認されているが、W3C自体およびその メンバーによって承認されているものではない。

この仕様に関するフィードバックを提供するには、GitHubの使用が推奨される。課題を提出するための GitHubアカウントは無料で作成できる。提出された課題の一覧、および過去のメーリングリストpublic-security@w3.org(アーカイブ)での議論のアーカイブは公開されている。

この文書は、Security Interest Groupにより、ノートトラックを用いてグループノート草案として公開された。

グループ草案ノートは、W3Cおよびそのメンバーによって承認されていない。

これは草案文書であり、いつでも他の文書によって更新、置換、または廃止される可能性がある。この文書を 作業中のもの以外として引用することは適切ではない。

W3C特許方針は、この文書に対していかなるライセンス 要件またはコミットメントも伴わない。

この文書は、2025年8月18日のW3Cプロセス 文書に準拠する。

1. 私たちは何を構築しているのか?

Webプラットフォームは、Webを可能にするオープンでロイヤリティフリーな技術の集合である。ユーザーは、 Webブラウザーやユーザーに代わって動作する別のエージェントなどのユーザーエージェントを通じてWebサイトとやり取りする。

Webサイトには、一連のファイル形式、すなわちフォント、画像、マルチメディアなどの受動的コンテンツと、 HTML、JavaScript、WebAssemblyなどの能動的コンテンツが含まれる。これらはサーバーからユーザーの デバイスへ送信され、Webブラウザーによって解釈される。受動的コンテンツはデコードされてレンダリングされる。 能動的コンテンツは、そのオリジンの権限で実行され、Webの主要な攻撃対象領域を構成する。この区別は 有用だが、絶対的ではない。たとえば、注入されたCSSも、セレクターのマッチングやリソース読み込みを用いて ページ状態を推測または漏えいする場合には、攻撃対象領域になり得る [xsleaks-css-injection]。

したがって、Webサイトは能動的な実行環境である。Webサーバーからのレスポンスには、実行可能な スクリプト、ユーザーインターフェイス定義、サードパーティリソースへの参照、ユーザーエージェントに対して ユーザー入力の読み取り、インターフェイスの更新、Web APIの呼び出し、ローカル状態の保存または取得、 基盤プラットフォームとのやり取り、リモートサービスとの通信を行わせる命令を含めることができる。これが、 この文脈においてWebブラウザーが重要な役割を担う理由である。Webブラウザーは、信頼されておらず ネットワーク越しにアクセスされるWebサイトからのコードを、ユーザーのデバイス上で実行する。

この複雑さのため、本書はWebについて単一で網羅的な脅威モデルを定義しようとはしない。Webは階層化され、 進化し続けるエコシステムであるため、単一のモデルは、開発およびレビュー作業を導くには抽象的すぎるか、 あるいは読みやすく有用であり続けるには詳細すぎるものになる。これはShostackの脅威モデリングにおける 実践的な枠組みに従うものである。モデルとは、何が構築されているのか、何がうまくいかなくなり得るのかを 推論するために用いる抽象化であり、異なる忠実度のレベルで異なるモデルが有用になり得る [shostack-threat-modeling]。したがって、本書は 関連する脅威モデルの集合として機能する。

1.1. 高レベル Web 脅威モデル (L0)

高レベル Web 脅威モデルは、L0 における汎用 Web API モデルです。これは、Document / Origin Execution Context からブラウザー制御の Web API 仲介を区別しながら、ユーザーおよびリモート Web サイトまたはサービスとの交換を示します。このモデルは論理的であり、実装に依存しません。Chromium、Gecko、または WebKit のプロセス境界を主張するものではありません。

汎用 Web API に関与するユーザー、Web Browser、Document and Origin Execution Context、リモート Web サイトまたはサービスを示す垂直データフロー図
高レベル Web 脅威モデル: 汎用 Web API L0。

1.1.1. L0 要素辞書

ID 名前 種類 説明
EE-01 ユーザー 外部エンティティ ブラウザー入力またはナビゲーションの意図を提供し、レンダリングされた出力またはブラウザーによる仲介を受け取る人物。
EE-02 リモート Web サイト / サービス 外部エンティティ ページリソースおよび実行時レスポンスを提供し、アプリケーション要求を受け取るリモート Web プリンシパル。
PO-01 Web ブラウザー プロセス ユーザー操作を仲介し、Web API 要求およびその結果、イベント、またはエラーを処理する、ブラウザー制御の論理プロセス。
PO-02 Document / Origin Execution Context プロセス リモートリソースを消費し、実行時 Web 通信を実行し、Web API を呼び出す、読み込まれたページおよびオリジンにバインドされた実行コンテキスト。
DF-01 ユーザー入力 / ナビゲーション データフロー ブラウザー制御の処理に入る、ユーザーが提供したナビゲーションの意図、操作、またはブラウザー制御入力。
DF-02 レンダリング出力 / ブラウザー仲介 データフロー ブラウザー制御の処理からユーザーに提示されるレンダリング出力、ブラウザー UI、状態、または仲介。
DF-03 Web コンテンツ / レスポンスデータ データフロー リモート Web サイトまたはサービスからドキュメントコンテキストへ提供されるページリソース、レスポンスペイロード、および接続データ。
DF-04 要求 / 送信データ データフロー ドキュメントコンテキストからリモート Web サイトまたはサービスへ送信される要求、送信ペイロード、および接続データ。
DF-05 Web API 要求 データフロー ドキュメントコンテキストからブラウザー制御の API 処理へ送信される汎用 Web API 呼び出し、オプション、引数、または制御要求。
DF-06 Web API 結果 / イベント / エラー データフロー ブラウザー制御の API 処理によってドキュメントコンテキストへ渡される汎用戻り値、Promise の決着、コールバック、イベント、状態、またはエラー。
TB-01 Web ユーザーエージェント境界 信頼境界 ブラウザー制御の API 仲介およびドキュメント実行コンテキストを囲む、外側の論理的な Web ユーザーエージェント境界。
TB-02 Web コンテキスト分離境界 信頼境界 Web オリジンおよびコンテキストの権限を分離する境界の抽象的な集合。下位レベルのモデルでは、オリジン、ブラウジングモード、ライフサイクル、サンドボックス、または実装による分離を区別する場合がある。

1.1.2. Web ブラウザー脅威モデルとの関係

高レベル Web 脅威モデルでは、ブラウザー内部のコンポーネントは表示対象外です。以下の Web ブラウザー脅威モデルでは、どの場所で決定が適用されるか、どのコンポーネントが状態を保持するか、どのように権限が仲介されるか、どのように信頼されないコンテンツが分離されるか、または Web API がネットワーク、ストレージ、グラフィックス、メディア、およびオペレーティングシステムの機能に到達する方法がレビューで依存する場合に、ブラウザーおよび Web コンテンツの役割を拡張します。

1.2. Webブラウザー脅威モデル

Webブラウザー脅威モデルは、現代のWebブラウザーにおける反復的なアーキテクチャ上の役割を概説する。

Webブラウザー脅威モデルのデータフロー図
Webブラウザー脅威モデル。

高レベル Web 脅威モデル (L0) のように、ブラウザー制御の Web API 仲介を単一の論理プロセスとして扱うのではなく、この抽象化は、現代のブラウザーが異なる権限、状態への異なるアクセス、および信頼されない入力への異なる露出を持つ複数のプロセス間で責任を分散する方法を捉えます。また、オリジンおよびサイトに基づく分離戦略を含む Web セキュリティモデルをブラウザーがどのように適用するか、ならびに外部 Web サーバーからの入力を処理する際に自身をどのように保護するかも捉えます [threat-modeling-guide]。

これら二つの関心事は関連しているが、同一ではない。コンテンツプロセスが隔離されるのは、Webコンテンツが 信頼できないからだけではなく、ブラウザーが同一オリジン隔離、およびブラウザーとOS/プラットフォームの分離を 保持しなければならないからでもある。実際には、実装が同じプロセスアーキテクチャを用いて両方を支える場合でも、 それらは別個の信頼境界である。

各Webブラウザーにおいて、実装の詳細は異なる。それでも共通の構造が見えてくる。

1.2.1. 特権ブラウザープロセス

現代のブラウザーには、ブラウザーUI、ナビゲーション制御、プロセス管理、ポリシー強制、権限仲介、 機密性の高いローカルリソースへのアクセス仲介を担当する、高い権限を持つ制御コンポーネントが含まれる。 ChromiumはこれをBrowser processと呼ぶ。WebKitはUI processと呼ぶ。FirefoxはParent processと呼ぶ [chromium-multiprocess-architecture] [webkit2-architecture-overview] [firefox-process-model]。

このコンポーネントは、ローカルブラウザーアーキテクチャにおける主要な信頼アンカーとして扱うべきである。 ブラウザー管理ポリシーが一般に強制される場所であり、ユーザーに見える仲介が通常発生する場所でもある。 脅威モデリングの目的において、これは重要である。なぜなら、ある決定のセキュリティ上の影響は、その決定が どこで行われるかに一部依存するからである。特権ブラウザーコンポーネントで実行されるチェックは、 サンドボックス化されたコンテンツプロセスで実行されるチェックと同等ではない。

Webブラウザー脅威モデル図では、このプロセスを 「Browser / UI / Parent Process」と呼ぶ。

1.2.2. サンドボックス化されたWebコンテンツの実行とレンダリング

Webコンテンツは、ChromiumのRenderer processes、WebKitの WebContent processes、FirefoxのContent processesのようなプロセス内で 実行される。これらはそれぞれ、信頼できない入力の管理において異なる役割を持つ [chromium-multiprocess-architecture] [webkit2-architecture-overview] [firefox-process-model]。

これらの種類のプロセスは、信頼できないWebコンテンツにさらされる。そのため、信頼できない入力を解析、解釈、 計算することが想定される実行環境としてモデル化される。その価値は、侵害が不可能であると仮定することではなく、 侵害が発生した場合にその後の影響を制約することにある。これが、特権Webブラウザー仲介と Webコンテンツ実行の分離が、Webブラウザーモデルにおける中心的な信頼境界の一つである理由である。 実装はまた、オリジンベースまたはサイトベースの隔離戦略を用いることで、通常利用時または侵害後に、 関係のないWebコンテンツが干渉できないようにする場合がある。ただし、正確な隔離単位はブラウザー固有である [chromium-process-model-site-isolation] [webkit-site-isolation-notes] [firefox-process-model]。

Webブラウザー脅威モデル図では、このプロセスを 「Content / Renderer / WebContent Process」と呼ぶ。

1.2.3. ネットワークとストレージ

現代のWebブラウザーはまた、ネットワーキングおよび永続状態管理を分離するか、少なくとも仲介する。 Chromiumでは、この役割はNetwork Service、プロファイルごとの NetworkContextオブジェクト、およびStoragePartitionと関連する。WebKitでは、 Networking processがネットワークアクセス、ディスクキャッシュ、およびWeb StorageやIndexedDBなどの ブラウザー管理の構造化サイトデータを扱う。Firefoxでは、ネットワーキングと永続状態は異なる形で分散されるが、 それでも両者の間には区別が存在する [chromium-process-model-site-isolation] [webkit-storage-documentation] [firefox-process-model]。

この層は重要である。なぜなら、Cookie、キャッシュ、分割された状態、サイトデータ境界が強制される場所であることが 多いからである。仕様がフェッチ、認証情報、ストレージアクセス、レスポンス処理に影響する場合、この層と やり取りする可能性が高い。

Webブラウザー脅威モデル図では、これらをそれぞれ 「Network / Socket / Networking Process」および「Data Store」と呼ぶ。

1.2.4. グラフィックス、メディア、およびヘルパー

現代のWebブラウザーはまた、GPU、コーデック、その他のヘルパー機能を別プロセスへ分離する。これは、 メディアライブラリが一般的な攻撃対象領域であるためでもある。ChromiumはGPU processと 追加のヘルパープロセス群を分離する。FirefoxはGPU Process、RDD Process、GMP Process、Utility Process、および Network (Socket) Processを分離する。WebKitも関連機能のためのプロセスを分離する [inside-browser-part-1] [firefox-gecko-processes] [webkit2-architecture-overview]。

脅威モデリングの観点から、これらのヘルパープロセスは重要である。なぜなら、それらは信頼できないコンテンツと 複雑な実装面との境界に位置するからである。これは一般的な実装パターンでもある。信頼できない実行や クラッシュしやすい機能を特権制御経路から分離することで、不具合が発生した場合の影響を低減する。

Webブラウザー脅威モデル図では、このプロセスを 「GPU / Compositor / Media helper Process」と呼ぶ。

1.2.5. 要素辞書

1.2.5.1. 外部エンティティ
ID 名前 種類 説明
E1 ユーザー 外部エンティティ ブラウザー UI、プロンプト、タブ、およびレンダリングされたコンテンツと対話する人間の操作担当者。
E2 リモート Web オリジン 外部エンティティ HTML、CSS、JS、メディア、API、ID エンドポイント、およびその他の Web リソースを提供するリモートサーバー。
E3 基盤となるネットワークインフラストラクチャ 外部エンティティ 物理インフラストラクチャ、ネットワークプロトコル、ネットワークセグメント化、ローカルホスト。
E4 オペレーティングシステム 外部エンティティ ブラウザー製品の境界外にあるファイルシステム、クリップボード、カメラ、マイク、GPU ドライバー、メディアコーデック、および関連するプラットフォームサービス。
1.2.5.2. 脅威境界
ID 名前 種類 説明
B1 Web ブラウザー境界 脅威境界 ブラウザー制御の要素を外部エンティティおよびサービスから分離する。
B1.1 特権ブラウザープロセス境界 脅威境界 特権を持つブラウザー仲介をサンドボックス化されたコンテンツ実行から分離する。
B1.2 サンドボックス化されたコンテンツ実行およびレンダリング境界 脅威境界 低減された権限および分離制約の下で Web コンテンツを実行する役割を持つ要素を相互に分離する。
B1.3 Web コンテンツ実行プロセス境界 脅威境界 Web コンテンツの実行を担当するプロセスを分離する。
B1.4 ヘルパーサービス境界 脅威境界 ネットワーク、GPU、メディア、または関連するユーティリティ機能などのヘルパー役割を持つ要素を、ブラウザーアーキテクチャのその他の部分から分離する。
B1.5 プロファイルおよびポリシー状態境界 脅威境界 ブラウザーが管理するプロファイル、セッション、設定、および権限メタデータを、ブラウザーアーキテクチャのその他の部分から分離する。
B1.6 サイト状態境界 脅威境界 ブラウザーが管理する Cookie、HTTP キャッシュ、Web ストレージ、IndexedDB、および関連するサイトデータを、ブラウザーアーキテクチャのその他の部分から分離する。
B1.7 サンドボックス化された特権コンテンツ実行境界 脅威境界 内部ページまたは拡張機能のためのサンドボックス化された特権実行コンテキストを、ブラウザーアーキテクチャのその他の部分から分離する。
B1.8 ローカルネットワーク境界 脅威境界 ユーザーのデバイスをパブリックインターネットから分離する。
B1.9 Web 境界 脅威境界 ユーザーエージェントを信頼されない Web リソースから分離する。
B1.10 Web オリジン境界 脅威境界 各 Web オリジンを相互に分離する。
1.2.5.3. プロセス
ID 名前 種類 説明
P1 ブラウザー / UI / Parent プロセス Chromium Browser プロセス、WebKit UI プロセス、Firefox Parent プロセス。特権ブラウザー UI、ナビゲーション、ウィンドウ管理、プロセス選択、ポリシー適用、権限仲介、ネットワークアクセス、およびプロファイルデータ、Cookie とパスワードデータベース、オペレーティングシステム機能などの機密ローカルリソースへの仲介を調整する。
P2 コンテンツ / Renderer / WebContent プロセス Chromium Renderer、WebKit WebContent、Firefox Content プロセスファミリー。HTML、CSS、フォント、画像、メディア、XML、SVG、プレーンテキストなどの Web 形式を解析およびレンダリングし、DOM、スクリプト、ワーカー、JavaScript エンジンを実行し、サンドボックス化およびオリジンまたはサイト分離の制約下で Web コンテンツに制限された Web API エントリーポイントを公開する。
P3 ネットワーク / Socket / Networking プロセス ネットワーク仲介の役割。Chromium では Network Service パターン、WebKit では Networking プロセス、Firefox では Socket プロセスおよび関連するブラウザー制御のネットワーク責務に対応する。ブラウザーによって仲介される HTTP(S)、ソケット、キャッシュ関連のネットワークアクセス、および任意のインターネット上の場所からのリソース要求を処理する。
P4 GPU / compositor / media helper(s) プロセス 分離される場合の GPU、コンポジター、コーデック、メディア、およびその他のヘルパー機能。レンダリングされたコンテンツを表示出力へ変換し、信頼されない入力または攻撃者によって制御された入力を処理する複雑なグラフィックスまたはメディア実装サーフェスを分離する。
P5 特権拡張機能 / 内部コンテンツ プロセス 内部ページまたは拡張機能向けの、オプションのブラウザー管理による特権実行コンテキスト。ブラウザー拡張機能および、ブラウザーまたは Web コンテンツと対話し、機能を追加できる内部コンテンツを対象とし、インストールおよびユーザーまたはブラウザー設定に応じて昇格された権限またはオリジン範囲の権限を受け取る場合がある。
1.2.5.4. データストア
ID 名前 種類 説明
S1 プロファイル / セッション / ポリシーストア データストア ブラウザーによって制御される有効期間およびアクセス規則を持つ、設定、プロファイルデータ、閲覧履歴、セッション復元状態、保存された資格情報またはパスワードデータベース参照、およびブラウザー管理の構成。
S2 権限 / ブラウザーメタデータ データストア Web コンテンツまたはブラウザー管理の特権コンテンツが強力な機能を有効化したり機密性の高い機能へアクセスしたりできるタイミングを決定するために使用される、サイト設定、許可、拡張機能の権限、およびブラウザー制御の権限メタデータ。
S3 Cookie + HTTP キャッシュ データストア ブラウザー管理の Cookie ジャーおよびキャッシュされたレスポンス。Cookie はセッション、パーソナライゼーション、および状態管理をサポートするために該当する HTTP リクエストとともに送信され、オリジン、サイト、プロファイル、またはパーティション化規則によってスコープ設定される場合がある。
S4 Web ストレージ / IndexedDB / service worker データ データストア localStorage、sessionStorage、IndexedDB、service worker データ、および関連するブラウザー管理ストレージメカニズムを含む、永続的およびセッションスコープのサイトデータ。通常はオリジンまたはパーティションをスコープとし、異なる有効期間および容量特性を持つ。
1.2.5.5. フロー
ID 名前 種類 説明
F1 ユーザー操作 フロー ユーザーと特権ブラウザー UI の間の入力および出力。
F3 サブリソースフェッチ / ネットワーク仲介 フロー コンテンツによって開始される、ブラウザー制御のネットワークへのアクセス経路。
F4 HTTPS / DNS / リモートデータ フロー リモートオリジンとの要求およびレスポンスの交換。
F5 表示 / メディア / コンポジット フロー グラフィックスおよびメディアヘルパーへのレンダリングおよび表示経路。
F6 プロファイル / セッションの読み取りおよび書き込み フロー プロファイルスコープのブラウザー状態への特権アクセス経路。
F7 権限 / ブラウザーポリシー フロー ブラウザー管理の権限およびポリシーを評価および適用する経路。
F9 Web ストレージ経路 フロー ブラウザー管理の永続的なサイトストレージへのアクセス経路。
F10 仲介された OS アクセス フロー ブラウザー制御のコンポーネントからオペレーティングシステムまたはデバイスサービスへの仲介されたアクセス。

表記はW3C Threat Modeling Guideに従う。Eは外部エンティティ、 Pはプロセス、Fはフロー、Sはデータストア、 Cは脅威コンテナー、Bは脅威境界を表す [threat-modeling-guide]。

1.3. 前提と外部依存関係

システムモデルは、ブラウザーの直接制御の外側にあるが、ブラウザーのセキュリティ態勢に影響する 複数の外部システム、サービス、および責任に依存している。

1.4. エントリーポイントと攻撃対象領域

エントリーポイントは、システムモデル内のフローおよび境界に照らして読み取られる。それらは、攻撃者が システムとやり取りしたり、システムにデータを供給したりできるインターフェイスまたは機構である。 Webブラウザーの場合、これらには次が含まれる。

1.5. セキュリティ特性、資産、および不変条件

Webブラウザー脅威モデルを考慮する際に保護する必要があるセキュリティ関連の状態、リソース、および特性は、 多様であり、ユーザーのセキュリティとプライバシーにとって重要である。

以下の特性および不変条件は、脅威分析のための手がかりとして用いられる。

2. 何が問題になり得るか?

編集者注: このセクションは未完成である。

2.1. 脅威分析手法

この脅威モデルは、システムモデル内の層、要素、フロー、ストア、境界を反復的にたどることで Webプラットフォームを分析する。モデルの各関連部分について、分析は、どの特性が維持されることが期待されるか、 何がその特性を破り得るか、誰が影響を受け得るか、どのような害が生じ得るかを問う。脅威源および 高レベルの脅威ファミリーは手がかりとして用いられるが、分析は上記のモデルに基づいている。

2.2. 脅威源

2.3. 高レベル脅威インデックス

これはWebプラットフォーム脅威モデルにとって顕著な脅威ファミリーのインデックスであり、網羅的な一覧ではない。

3. それについて何をするのか?

3.1. セキュリティ機能と制御

編集者注: このセクションは未完成である。

Webブラウザーは、先に特定された特性および不変条件を保持するのに役立つ、さまざまなセキュリティ機能および 保護機構を採用している。

4. 十分な仕事ができたか?

このセクションは今後執筆される。

5. 付録:MITRE ATT&CK技法

MITRE ATT&CK Enterprise技法は、Webブラウザーが関与する攻撃を 分析する際の手掛かりとして使用できます。以下の一覧は網羅的なものではなく、この文書のためにレベル別に 分類されています。掲載されているからといって、ある技法がすべてのブラウザー アーキテクチャーまたはシナリオに適用されることを意味するものではありません。

5.1. Webレベル

5.2. ネットワークレベル

5.3. Webブラウザーレベル

5.4. オリジンレベル

6. 謝辞

複数の方々がこの文書に貢献しました。編集者は、特にAnna Weine氏に感謝します。

参考文献

非規範的参考文献

[CHROMIUM-MULTIPROCESS-ARCHITECTURE]
Chromium マルチプロセスアーキテクチャ. URL: https://www.chromium.org/developers/design-documents/multi-process-architecture/
[CHROMIUM-PROCESS-MODEL-SITE-ISOLATION]
Chromium プロセスモデルとサイト隔離. URL: https://chromium.googlesource.com/chromium/src/+/main/docs/process_model_and_site_isolation.md
[FIREFOX-GECKO-PROCESSES]
Firefox Gecko プロセス. URL: https://firefox-source-docs.mozilla.org/ipc/processes.html
[FIREFOX-PROCESS-MODEL]
Firefoxプロセス モデル. URL: https://firefox-source-docs.mozilla.org/dom/ipc/process_model.html
[INSIDE-BROWSER-PART-1]
Chrome「現代のWebブラウザーの内部を見る」 - パート1. URL: https://developer.chrome.com/blog/inside-browser-part1
[SHOSTACK-THREAT-MODELING]
Adam Shostack. 脅威モデリング: セキュリティのための設計. 2014. URL: https://shostack.org/books/threat-modeling-book
[THREAT-MODELING-GUIDE]
脅威モデリングガイド. URL: https://www.w3.org/TR/threat-modeling-guide/
[WEBKIT-SITE-ISOLATION-NOTES]
WebKitサイト隔離 ノート. URL: https://docs.webkit.org/Deep%20Dive/SiteIsolation.html
[WEBKIT-STORAGE-DOCUMENTATION]
WebKitストレージ 文書. URL: https://docs.webkit.org/Deep%20Dive/Architecture/Storage.html
[WEBKIT2-ARCHITECTURE-OVERVIEW]
WebKit2アーキテクチャ 概要. URL: https://docs.webkit.org/Deep%20Dive/Architecture/WebKit2.html
[XSLEAKS-CSS-INJECTION]
CSSインジェクション. URL: https://xsleaks.dev/docs/attacks/css-injection/