ブラウザフィンガープリントテストが測定するもの
この診断が測定するのは整合性です。つまり、独立したブラウザのサブシステムどうしが、同じマシンについて矛盾のない答えを返すかどうかを見ます。JavaScript と CSS、メインページとワーカーや iframe、名乗っているブラウザファミリーとエンジン固有の API、報告された GPU と実際に画像を生成したレンダリングパイプラインなどを比較できます。
これは希少性の測定とは異なります。珍しくても内部的に一貫しているデバイスは合格しえます。逆に、ありふれて見えるアイデンティティでも、2 つのサーフェスが互いに矛盾していれば不合格になりえます。そのため、ほとんどのチェックには母集団のベースラインが必要ありません。比較の両側をブラウザ自身が提供するからです。
整合性スコアの算出方法
スコアは、該当するスコア対象のチェックのうち、一致したものの割合です。訪問者が人間である確率でも、検出率でもなく、自動化セッションが気付かれないことの保証でもありません。スコア 92 は、該当したスコア対象の比較のうち 92 パーセントが整合していたことを意味します。
コンテキスト依存の所見は、ごく普通の環境でも生じうるため除外しています。アクセシビリティツール、拡張機能、リモートデスクトップ、ポリシーで管理されたブラウザ、プライバシー保護機能、搭載されていないハードウェアは、いずれも観測できるサーフェスを変化させます。実行できないチェックは「未測定」として報告し、合格として数えることはありません。
一部の測定にネットワークプローブが必要な理由
JavaScript からは、TLS ClientHello、HTTP/2 のフレーム順序、QUIC のトランスポートパラメーター、WebRTC が使うパブリックアドレスを読み取れません。これらはページのランタイムより下の層にある情報です。測定するには、実際にネットワーク上で何が届いたかをサーバー側から報告してもらう必要があります。
診断では tls.clearcotelabs.com に 2 本の接続を開き、独立した TLS ハンドシェイクどうしを比較します。WebRTC のリークテストは stun.l.google.com に接続するため、接続元の IP が Google に見えます。そのアドレスを、診断ページとの通信に使われているアドレスと比較します。どちらかのサービスに到達できない場合、該当する結果は「問題なし」ではなく「未測定」になります。
データ収集と研究用コーパス
診断を実行すると、ブラウザのプロファイルが内部分析のために Clearcote へ送信されます。ツール上の同意通知で、実行前に対象のフィールドを明示しています。これとは別の研究用コーパスには、より粗い粒度の構成レコードが保存され、カバレッジと誤検知の調査に使われます。不正対策やアカウントの評判管理に使うデータベースではありません。
保持期間、削除、フィールド単位の開示の詳細は診断のプライバシーポリシーにまとめています。ポリシーを分けておくことで、ブラウザから何が送信されるかを隠さずに、テスト自体を簡潔に保てます。
公開ブラウザテストでは確かめられないこと
公開ページからは、グローバルなプロファイルの経過期間、サイトをまたいだ閲覧履歴、アカウントの評判、ほかのオリジンにある非公開の Cookie、そして商用のアンチボットシステムが使うサーバー側のリスクモデルは見えません。行動入力から機械的なタイミングや完璧な補間を示すことはできますが、短い操作だけでは学習済みの行動分類器の代わりにはなりません。
したがって、高いスコアは狭い意味で読むべきです。実行された測定では内部の矛盾がほとんど見つからなかった、ということにすぎません。評判、意図、アカウント履歴、あるいは本番の検知システムが組み合わせうるあらゆるシグナルについて、確定的なことは何も言っていません。
最も誤解されやすいケースなので、1 つはっきり述べておきます。自動化グループのチェックがすべて合格しても、セッションが自動化と判定されることはあります。実際に稼働している商用エージェントを解析して公開した事例では、DevTools プロトコル経由で操作されたブラウザから取得したペイロードが、「開発者ツールを検出した webdriver ボット」と判定されて返ってきました。そのペイロード自体は自動化フラグをすべて false と報告しており、通常のウィンドウとの違いはセッション識別子、時計の読み取り値、ネットワークタイミングの 1 項目だけでした。サーバーが何を手がかりにしたのかはクライアント側からは復元できません。このページでは、測定できないものについて項目を追加することはあえてしていません。正直に結論づけるなら、デバッグプロトコルが存在するかどうかは、ページが読み取れる値の外側で判定されています。つまり、自動化セクションがクリーンだというのはその特定のサーフェスがクリーンだという意味であって、接続が観測されていないという意味ではありません。
このページが複数の読み取り値をスコア化せずにそのまま報告しているのも、同じ解析が理由です。同一のキャプチャ済みペイロードを 1 週間空けて同じベンダーに再送信したところ、改ざん(tampering)とアンチディテクトの判定が大きく異なる結果で返ってきました。モデルのドリフトなのか、リプレイ履歴なのか、その両方なのかは切り分けられていません。稼働中の検知システムが出す絶対スコアはドリフトします。意味を持つのは、同じセッション内の対照と比べて測った差分だけです。これはこのページ自身の数値にも当てはまります。だからこそ、1 回の合格を正解として扱うのではなく、ブラウザの回答がどれだけ安定していたかを報告しています。