星期四, 2月 10, 2022

Google Chrome User Agent String Reduction

 最近再看 Google Chrome User Agent string reduction 的文件。

1. 主要目的是為了避免太多額外資訊被利用來做 fingerprint ,所以拿掉主要是移除 minorVersion / oscpu / deviceModel ,透過將這些數值回傳靜態數值( static value )來避免 fingerprint。

例如
(Linux; Android 9; SM-A205U) 變成 (Linux; Android 10; K)
Chrome/93.0.1234.56 變成 Chrome/93.0.0.0

2. Google Chrome Dev 有提到 User-Agent Client Hint (sec-ch-ua)跟 navigator.userAgentData 來取代 user agent string ,但是在 safari 跟 firefox 都不支援的情況下應該不會特別想轉過去使用。

3. 影響比較大的應該是 Reduced navigator.platform values (for all versions) 如下圖,有使用此數值的服務應該要檢查一下。




Ref: https://uar-ot.glitch.me/navigator

Ref: https://wicg.github.io/ua-client-hints/#examples

Ref: https://www.chromium.org/updates/ua-reduction/