
2026/08/20 19:08
AliExpress が沈黙する WebAudio 指紋認証を実行し、Bluetooth マルチポイント接続を破壊する
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
AliExpress のページを開いただけで、Bluetooth マルチポイントオーディオが予期せず遮断される現象は、隠されたスクリプトによってシステム再生と干渉する無音のサウンドコンテキストを作成するためです。この問題は、AWSC ディレクトリに存在する
collina.js および fireyejs.js という 2 つの暗号化されたファイルが指紋用のオーディオ信号を生成することにより引き起こされています。これらのスクリプトは、ユーザーの同意なしに詳細なハードウェア仕様にてきや WebRTC データを収集し、テレメトリサービスに送信する見えない監視ツールとして機能します。もともと Alibaba による不正防止対策のために意図されたものでありますが、これらは静かにオーディオパスを占有し、キャンバスレンダリングの詳細など持続的な機器識別用の測定値を収集します。uBlock Origin を使用してこれらのスクリプトをブロックすることでオーディオのグリッチを解消できるものの、残留する干渉をクリアするには既存のタブを手動で閉じる必要があります。ユーザーは、不正検出システムがブロックされたデータを疑わしい活動と解釈した場合に、一時的な取引の摩擦に直面する可能性があります。これにより、プライバシーと機能性のジレンマが生じます。したがって、購物者は、強化されたプライバシー保護と途切れのない EC 機能および信頼できるオーディオパフォーマンスの間でバランスを取る必要があります。本文
AliExpress のページで再生中だった音楽が止まる謎解明:Web Audio API を活用した指紋化技術と対策
現象の概要
AliExpress サイトを Firefox または Chrome で開くと、以下の不具合が発生します。
- Multipoint Bluetooth Audio(マルチポイント接続)機能の動作停止
- PC とスマホの両方に接続している場合、音楽が PC に優先されて再生されます。
- しかし、PC のブラウザで AliExpress を開くと、スマホ側の音楽再生が即座に停止します。
- Tab を閉じたりミュート設定を変更したりしても復旧せず、通常の状態に戻るまで Tab を完全に閉じる必要があります。
- 特定サイトでのみ発生する問題
- 問題は主に AliExpress のページで発生し、他のブラウザ動作には影響がありませんでした。
調査プロセス:隠された音声処理の発見
通常の
<audio> タグや動画タグは見当たりませんでしたが、コード解析により「見えない音声コンテキスト」が存在することが判明しました。
1. 従来の調査手掛りの不成立
- ページ要素の確認(
,<audio>
):存在しない<video> - メンバシップ呼び出しの監視(
など):検出されないplay() - メディアセッションの状態確認:状態は "none" で正常に見える
2. Web Audio API の監視による突破口
ページロード前にコードを実行し、音声コンテキストの生成を監視しました。その結果、以下が発見されました。
発見事項:
- ページ上に 2 つの
オブジェクト が作成されるAudioContext - コンテキストの状態は
(動作中)"running" - ノードがシステムオーディオ出力 (
) に接続されているdestination - しかし、最終的な音量ゲインは 0 に設定されており、ユーザーは音声を聴くことができない
- 可視的なメディア要素も、
命令もないのに、ブラウザ側で音声処理が行われているplay()
3. 犯人 scripts の特定
スタックトレースの分析から、以下の 2 つの脚本書(スクリプト)が原因と判明しました。これらはアリババ製のセキュリティ・アンチアブュースツールセットの一部です。
// 1つ目の脚本 (Collina.js) https://assets.aliexpress-media.com/g/AWSC/uab/1.140.0/collina.js // 2つ目の脚本 (Fireyejs) https://assets.aliexpress-media.com/g/AWSC/fireyejs/1.231.67/fireyejs.js
4. 音声処理の仕組み(Web Audio グラフ)
これらスクリプトは、以下のような構図で音声データを生成・分析しています。
Sawtooth Oscillator -> AnalyserNode -> ScriptProcessorNode -> GainNode (音量 0) -> AudioContext.destination
- 仕組み: 歯車波(Sawtooth)などの既知の波形を生成し、ブラウザ内での処理状況を測定しています。
- 目的: ユーザーには聞こえないよう音量を 0 にしていますが、「音声パスがアクティブであること」自体を検証・利用しています。
なぜこの動作をするのか:指紋化(Fingerprinting)の実態
この隠されたオーディオ処理は、単なる機能ではなく、デバイスの識別情報(フィンガープリント)を取得する仕組みの一部でした。
取得される情報の種類
調査により、以下のような多岐にわたる情報を収集・送信していることが判明しました。
- グラフィック関連: Canvas レンダリング結果 (
)、WebGL のレンダラー詳細、拡張機能情報toDataURL - オーディオ関連: オーシレーターやアナライザーからの出力データ
- ハードウェア情報: デバイスの画素比率、並列処理数、メモリ容量
- 環境情報: スクリーンサイズ、ビューポートサイズ、インストールされたブラウザプラグイン
- フォーマットサポート: 対応する音声・動画コーデック一覧
- 機能検証: WebRTC の動作確認
- インタラクションデータ: マウス、タッチ、フォーカス、スクロールイベント、デバイスモーション
- その他: ブラウザの自動化に関する特性など
データの送信と利用目的
取得された情報はシリアライズされ暗号化されて Alibaba のテレメトリーサービスへ送信されます。これにより以下のことが可能です。
- デバイス特定: 異なるブラウザバージョンやハードウェア構成によるわずかな差異を組み合わせて、極めて高精度なユーザー識別が可能になります。
- 詐欺・ボット対策: 不正なアカウント作成、スクレイピング、自動購入、レビュー操作、支払い詐欺などを検知するために利用されます。
企業の視点 vs ユーザーの視点
- AliExpress の意図: 本物の買い物客とボットを区別し、アカウント乗っ取りや詐欺を防ぐためです。Cookie だけでは不十分なので、変更困難な指紋化データを活用しています。
- ユーザーへの影響:
- 静かに監視されている感覚が不快であること
- 音楽再生の中断という物理的な副作用があること
- ブラウザ側のミュート機能で制御できない点
対策:uBlock Origin を使用してブロックする
これらのスクリプトをブロックすることで、問題が解消されることが確認できました。
uBlock Origin でフィルタを追加する方法 (Firefox)
- uBlock Origin の管理画面(ダッシュボード)を開く
- "My filters" タブを選択
- 以下のルールをコピーして貼り付けます
! AliExpress AWSC fingerprinting scripts ||assets.aliexpress-media.com/g/AWSC/uab/*/collina.js$script,domain=aliexpress.com ||assets.aliexpress-media.com/g/AWSC/fireyejs/*/fireyejs.js$script,domain=aliexpress.com
- "Apply changes" をクリックして変更を適用
- 既存の AliExpress Tab を全て閉じて再読み込み(重要:既存のコンテキストはブロックされても残存するため)
注意点とリスク管理
- CAPTCHA の誘発: これらのスクリプトは不正検知システムの一部分であるため、完全にブロックするとログイン時や購入時に「人間か機械か」を確認する CAPTCHA が表示されやすくなる可能性があります。
- 通常:商品閲覧や通常の買い物には問題なく動作します。
- 懸念:ログイン拒否や決済エラーが発生した場合は、一時的にフィルタを無効化する必要があるかもしれません。
なぜブロックすべきなのか(結論)
- 機能の侵害: アンチフraud の意図とは関係なく、外部ハードウェア(Bluetooth ヘッドホンなど)の動作を妨害している
- 透明性の欠如: ユーザーが「音声処理グラフが起動中である」ことを知る手段がない
- プライバシーリスク: ブラウザでは確認できないサーバーサイドでのデータ保持期間や連携先は不明
「隠された分析機能がオーディオパスにこのような強い影響力を持つなら、ブロックすることが合理的なトレードオフである」と判断できます。