ChromeのX-Browser-Validationヘッダー解析・生成ツール

Security

概要

本リポジトリ「chrome-x-browser-validation-header」は、Google Chromeが2025年に導入した独自HTTPヘッダー群の一つ「x-browser-validation」のリバースエンジニアリングと生成を目的としたPython製ツールです。x-browser-validationヘッダーは、Base64でエンコードされたハッシュ値で、ブラウザの整合性や正当性を検証するためにChrome内部で利用されています。その仕様は非公開であり詳細が不明でしたが、本プロジェクトでは解析を進め、入力パラメータから検証用ヘッダーを生成することを可能にしています。これにより、ブラウザの挙動検証やセキュリティ研究、独自環境での検証などに活用できます。

GitHub

リポジトリの統計情報

  • スター数: 5
  • フォーク数: 0
  • ウォッチャー数: 5
  • コミット数: 3
  • ファイル数: 2
  • メインの言語: Python

主な特徴

  • ChromeのプライベートHTTPヘッダー「x-browser-validation」のリバースエンジニアリングを実施
  • x-browser-validationヘッダーのBase64エンコードされたハッシュの解析
  • Pythonスクリプトによる検証用ヘッダーの生成ツールを提供
  • セキュリティ検証やブラウザ挙動解析に利用可能

技術的なポイント

Google Chromeは2025年にいくつかの新しいHTTPヘッダーを追加しました。その中でも「x-browser-validation」は、ブラウザの整合性や正当性を検証する目的で使われている独自ヘッダーです。ヘッダーの値はBase64エンコードされた文字列であり、デコードすると特定のハッシュに見えることから、Chrome内部で何らかの状態や情報を元に計算された検証値であることが推測されます。

本リポジトリでは、この非公開のヘッダーの仕様を解析するためにリバースエンジニアリングを行い、得られた知見をもとにPythonでヘッダー値を生成するスクリプトを実装しています。具体的には、x-browser-validationの値の構造解析、ハッシュ計算ロジックの推測、及びそれらを再現するコードの作成が主な技術的チャレンジです。

解析手法としては、実際のChromeの通信からヘッダー値を収集し、Base64デコード後のバイト列を詳細に調査。そこから、ハッシュアルゴリズムの特定やパラメータの影響を推定しました。さらに、同時に送信される他の独自ヘッダー(x-browser-channel、x-browser-yearなど)との関連性も調査対象となりました。

生成ツールはPythonで実装されており、環境依存の要素を除いたパラメータを入力することで、同様の形式のx-browser-validationヘッダーを擬似的に生成可能です。これにより、ブラウザの真贋判定や改竄検知の仕組みの理解が進み、セキュリティの観点からの検証や研究に役立ちます。

また、コードは軽量かつシンプルな構成で、メイン機能は1つのスクリプトに集約。今後のChromeアップデートに伴う仕様変更にも対応しやすい設計が特徴です。全体的に、非公開仕様の解析・再現に挑んだ貴重なオープンソースプロジェクトとして注目されます。

プロジェクトの構成

主要なファイルとディレクトリ:

  • README.md: プロジェクトの説明と使い方を記載
  • xbv.py: x-browser-validationヘッダーの解析および生成を行うPythonスクリプト

まとめ

Chromeの非公開検証ヘッダー解析と生成を可能にした貴重なツール。

リポジトリ情報: