Cookiecrumbler:クッキー同意通知を自動化処理で検知してオンライン・プライバシーを拡張する
この記事は、Braveブラウザの新しいプライバシー機能を紹介するシリーズの33回目の記事です。今回は、シニア・リサーチ・エンジニアのAnton Lazarevとスタッフ・DevOps・エンジニアのMoritz Schafhuberによる対応を紹介します。この記事はプライバシー・セキュリティ・VPのShivan Kaul Sahibによって書かれた記事の日本語訳です。
Braveのクッキー同意通知ブロック機能を改善する継続的な取り組みにおいて、2つの重要なアップデートを発表できることを嬉しく思います。まず、オープンソースのLLMを使用してWebサイト上のクッキー同意通知を自動的に検出し、修正案まで提案するツールであるCookiecrumblerをオープンソース化しました。また、人気Webサイト全体でのCookiecrumblerのクロール結果をGitHubイシューとして公開し、より広範なアドブロックコミュニティに対して、これら発見事項の改良と選別の手助けとなる取り組みを行なっています。
Webサイトを壊さずにクッキーの同意通知をブロックする挑戦
Braveはデフォルトでクッキー同意通知をブロックします。これらのバナーは煩わしいだけでなく、(Webサイトがそれらを実装する方法を考えると)ユーザーのプライバシーに有害です。さらに悪いことに、クッキー同意通知ブロックを発表したブログ記事で述べたように、研究者たちは多くの同意システムがユーザーがすべてのクッキーを拒否した場合でも、依然として追跡を続けていることを発見しています。これらの通知はBraveでは特に無用です。なぜなら、私たちはすでにサードパーティの追跡スクリプトやピクセルをブロックしているからです(例えば、あなたの健康保険プロバイダーが誤ってあなたのデータをGoogle Adsと共有したようなケースでも、Braveはユーザーを保護することができます)。
クッキー同意通知をブロックすることは、プライバシーの向上と煩わしさの軽減に明確なメリットをもたらしますが、リスクも伴います。過度に広範囲なブロッキングや不適切なブロッキングは、決済フローからレイアウトの問題まで、Webサイトの重要な機能を破壊する可能性があります。クッキー同意通知ブロックが無差別に適用された場合、多くの問題(スクロールの破損、空白ページなど)に遭遇してきました。メンテナンスの負担を減らすため、広告ブロックリストの管理者は、できるだけ少ないルールで最大限のカバレッジを得ようとする傾向があります。しかし、クッキー同意通知の実装はサイトごとに大きく異なるため、Web全体に適用される汎用ルールが頻繁に問題を引き起こす原因となっています。これに対応するため、私たちは過去数ヶ月間、コミュニティが維持するクッキー同意通知ブロックリストを整理し、繰り返し問題を引き起こす汎用ルールを削除してきました。
Cookiecrumblerの登場
Cookiecrumblerにより、サイト固有のクッキー同意通知ブロッキングをWeb全体に拡張できるようになりました。オープンソースのLLMを使用して検出を自動化し、英語以外の通知を含むあらゆる種類のサイト固有のバリエーションにわたってクッキー同意通知を識別できます。通知を識別するタスクを自動化するためにLLMベースのアプローチを選んだ理由には以下のようなものがあります。
- 実行が容易である(クッキー同意通知は似たようなテキストを使用する傾向があるため)
- 繰り返し作業である(Webの膨大な規模に対応するのに役立つ)
- リスクが低い(人間のレビュアーが目視確認によって誤検出を除去できる)
- 安価である、各クロールのコストは数セント程度(より大きく高価なモデルも試しましたが、調整後は小さなモデルも優れた結果を提供しました)
このようなLLMベースの自動化により、人間のレビュアーは実際に通知をブロックするという、より繊細な作業に集中できるようになります。前述のように、不適切に適用されたブロッキングルールはサイトの中核要素を破壊する可能性があります。そのため、私たちはプロセスの一部として人間によるレビューを維持します:フィルターリストの管理者やコミュニティメンバーが、Cookiecrumblerの提案を本番環境に反映する前に確認、調整します。また、Cookiecrumblerが提供するブロッキングルール提案の品質向上にも取り組んでいます。
Cookiecrumblerは異なる地域や言語もサポートしています。クッキー同意通知は、訪問者の地理的地域や言語設定によって大きく異なる外観を持つことがあります。Cookiecrumblerは様々な地理的視点をサポートしているため、特定の地域のユーザーが見るのと同じようにWebサイトを見ることができます。

Cookiecrumblerは完全にBraveのバックエンド上で動作し、検出目的で公開されている人気Webサイトのリストを使用しています。私たちは、スマートなクッキー通知検出をユーザーにより身近なものにするために、Cookiecrumblerをブラウザにどのように組み込むことができるかを検討していますが、Braveの機能でありますので、Cookiecrumblerがユーザーのプライバシーと選択を念頭に置いて機能することを確実にするための完全なプライバシーレビューが行われたのちに実現されます。
Cookiecrumblerの動作について
Webサイトリストの作成
まず、Braveは異なる地域に合わせたTrancoリストのカスタムバージョンを作成します(クッキー同意通知はしばしば地域固有であるため)。地域ごとの優先順位付けされたWebサイトリストにより、複数の国のユーザーにとって最も人気のあるWebサイトを抽出することができます。
自動クローリング
次に、CIサーバー上で実行されるクローリングスクリプトがこのWebサイトリストを取得し、各Webサイトと地域ごとにCookiecrumbler APIを呼び出します。
Cookiecrumbler
APIコールが行われると、Cookiecrumblerプロセスが開始されます:
- Cookiecrumbler APIはCIで実行されているクローリングスクリプトからリクエストを受け取り、Puppeteer(ヘッドレスブラウザ)を起動してWebサイトを読み込みます。目的の地域からWebサイトを読み込むためプロキシを使用します。
- 各ページからクッキー同意通知であるかもしれないHTML要素の候補を特定して収集します。
- これらの要素はLLMに渡され、それらがクッキー同意通知かどうかが識別されます。該当する場合は、修正案もあわせて提案されます。
- Cookiecrumblerはこの応答をクローリングスクリプトに送り返します。
クローリング結果を公開する
クロール完了後、Cookiecrumblerがクッキー通知を識別したWebサイトのリストを(そのクッキー通知の地域と共に)取得し、この情報を新しいGitHubリポジトリに公開します。

サイトを壊さずにプライバシーを保護する
Braveはすでにデフォルトで堅牢でプライバシー重視のクッキー同意通知ブロックを提供しています。Cookiecrumblerは、新しいバナーや更新されたバナーを検出するため、自動化された大規模プロセスによって既存機能を拡張します。脆弱な汎用ルールを削除する取り組みと組み合わせることで、Cookiecrumblerを使用して頻繁なWebサイト破損を引き起こさないクッキー同意通知ブロック体験を提供することができます。
私たちは昨年のAd Filtering Dev Summitで初めてCookiecrumbler(当時は別の名前)を発表しました。それ以来、誤検出の低減、複数言語のサポート追加、複数の地理的視点にわたるカバレッジの確保において大きな進歩を遂げてきました。すでにCookiecrumblerの恩恵を実感しており、通知ブロッキング関連の不具合報告が減少し、全体的なユーザー維持率と成長率が向上しています。潜在的な不具合ポイントを積極的に検出して対処することで、プライバシー・ファーストかつユーザー・ファーストのWebというBraveのコミットメントを実現しています。