
AliExpress : fingerprinting via l’API Web Audio
Security NetworkTable des matières
Vous ouvrez une boutique en ligne et, soudain, la musique de votre smartphone se tait. Aucune vidéo ne tourne dans le navigateur, aucune publicité n’est audible et même couper le son de l’onglet ne change rien. Ce n’est qu’après la fermeture de l’onglet AliExpress que les écouteurs Bluetooth reviennent correctement au téléphone.
Ce qui ressemblait à un bug de Bluetooth Multipoint a conduit le développeur Matt Callaghan à deux fichiers JavaScript fortement obscurcis sur la page d’accueil d’AliExpress. Tous deux créaient en arrière-plan un graphe Web Audio qui restait actif. Le niveau de sortie était nul, donc rien n’était audible. Pour le navigateur, le système d’exploitation et les écouteurs, le chemin audio restait néanmoins actif.
La découverte est fascinante sur le plan technique, car un effet secondaire matériel involontaire a trahi une mesure invisible du navigateur. Elle est encore plus intéressante en matière de sécurité, car Web Audio n’était qu’un élément. Les scripts vérifiaient aussi Canvas, WebGL, l’écran, le matériel, les formats multimédias pris en charge, WebRTC et les interactions de l’utilisateur. Le résultat ressemble à une empreinte complète du navigateur et de l’appareil.
Ce qui rend ce cas préoccupant n’est pas une astuce audio particulièrement secrète, mais l’étendue de la mesure et l’invisibilité avec laquelle elle commençait dès la page d’accueil de la boutique.
Le bug Bluetooth qui n’en était pas un
Callaghan utilise des écouteurs Multipoint connectés simultanément à son PC et à son smartphone. Il écoute normalement la musique du téléphone. Dès que le PC diffuse réellement du son, celui-ci prend le relais. Ce changement de priorité s’est soudain bloqué lorsque AliExpress était ouvert dans Firefox ou Chrome. Il n’a pas testé d’autres navigateurs.
Les suspects habituels ont été éliminés. Il n’y avait aucun élément audio ou vidéo, aucun appel à HTMLMediaElement.play(), aucune Media Session active ni aucun fichier multimédia identifiable dans le trafic réseau. Seul détail remarquable : la perturbation commençait quelques secondes après le chargement de la page.
Callaghan a donc instrumenté l’API Web Audio. Il a remplacé le constructeur AudioContext par un wrapper, journalisé les nouveaux contextes audio et surveillé les connexions via AudioNode.connect(). Deux contextes actifs sont apparus, avec des traces de pile pointant vers ces scripts :
assets.aliexpress-media.com/g/AWSC/uab/1.140.0/collina.js
assets.aliexpress-media.com/g/AWSC/fireyejs/1.231.67/fireyejs.js
Tous deux se trouvaient sous un chemin AWSC et semblaient, au vu de leurs fonctions, appartenir à une infrastructure Alibaba de sécurité du navigateur et de détection des abus. Cette attribution est plausible, mais les noms de fichiers ne suffisent pas à la prouver définitivement. Alibaba Cloud documente toutefois explicitement, pour son Anti-Bot Web SDK, un collecteur web utilisé avec une évaluation côté serveur.
Le comportement a pu être circonscrit davantage : après le blocage des deux familles de scripts, ni les contextes audio ni les connexions à la sortie audio n’ont été créés dans la mesure de contrôle de Callaghan. La page d’accueil et la recherche normale de produits ont continué à fonctionner lors de son test.
Ce que fait exactement le graphe Web Audio
Web Audio n’est pas une fonction d’écoute cachée, mais une puissante interface de navigateur pour les jeux, synthétiseurs, visioconférences et autres applications interactives. Au lieu de simplement lire un fichier audio, un site peut relier des nœuds de traitement pour former un graphe.
Sous une forme simplifiée, les scripts AliExpress étudiés construisaient cette chaîne :
OscillatorNode avec onde en dents de scie
-> AnalyserNode
-> ScriptProcessorNode
-> GainNode avec gain 0
-> AudioContext.destination
L’oscillateur génère un signal connu. L’AnalyserNode fournit des données issues du traitement, puis JavaScript lit les valeurs de fréquence. Le GainNode ramène ensuite le niveau à zéro. Le signal devient inaudible, mais le graphe reste connecté à AudioContext.destination, donc à la sortie en temps réel.
C’est précisément cette connexion qui explique l’effet secondaire. Un volume nul ne signifie pas une absence de traitement. Le navigateur continue de calculer le graphe et, sur le système Windows de Callaghan, cela semblait suffire pour maintenir actif le chemin audio du PC. La commutation automatique Multipoint considérait donc toujours le PC comme une source active.
Pour une mesure purement informatique, un OfflineAudioContext aurait été plus logique. Il rend un graphe audio directement dans un tampon mémoire sans l’envoyer aux haut-parleurs ni au périphérique audio du système. Dans le graphe AliExpress, l’oscillateur et l’analyse se situent en outre avant la sortie ramenée à zéro. La connexion à la sortie en direct n’apportait aucun bénéfice identifiable aux données de fréquence déjà lues, mais provoquait l’effet secondaire visible.
Mozilla avait déjà consigné le même effet en 2023
En 2026, les écouteurs de Callaghan ont fourni l’indice qui a attiré l’attention du public. Mais Mozilla avait déjà enregistré l’effet sous-jacent du navigateur en novembre 2023 sous la référence Bug 1863193. Le rapport initial concernant Firefox 119 décrivait des pages AliExpress déclenchant sous Windows 11 une demande permanente d’alimentation audio. powercfg /requests signalait un flux audio actif alors qu’aucune lecture n’apparaissait dans l’onglet. L’ordinateur ne passait donc plus automatiquement en veille. La demande disparaissait à la fermeture de l’onglet.
Le développeur Mozilla Karl Tomlinson a alors activé la journalisation Web Audio. Le journal montrait à deux reprises exactement la chaîne décrite plus tard par Callaghan : OscillatorNode, AnalyserNode, ScriptProcessorNode, un GainNode muet et AudioDestinationNode. Tomlinson a observé une utilisation permanente similaire du périphérique dans Chrome et noté qu’AliExpress pouvait l’arrêter avec AudioContext.suspend().
Il s’agit d’une confirmation indépendante importante. L’effet secondaire matériel ne repose pas uniquement sur l’interprétation d’un script obscurci par Callaghan. Des années auparavant, Mozilla avait directement consigné dans le navigateur le graphe actif et son influence sur la gestion de l’énergie de Windows. Le bug est toujours ouvert. Il montre aussi que la responsabilité est partagée : AliExpress aurait pu suspendre le contexte après la mesure, tandis que le navigateur pourrait détacher plus tôt du périphérique audio un graphe effectivement muet et devenu inutile.
Aucun microphone, aucun ultrason dans la pièce
La précision des termes est essentielle. Dans ce test, AliExpress n’a ni enregistré le microphone ni écouté les sons de la pièce. L’accès au microphone passerait par getUserMedia() et nécessiterait l’autorisation de l’utilisateur.
Il est tout aussi trompeur d’imaginer que la boutique aurait émis un signal ultrasonique par les haut-parleurs avant de le récupérer physiquement. La mesure s’est déroulée à l’intérieur du traitement audio du navigateur. L’onde en dents de scie a été calculée, analysée puis ramenée à zéro avant la sortie. L’effet sur les écouteurs venait du fait que le graphe virtuel restait malgré tout relié à la sortie réelle.
Pourquoi des calculs identiques peuvent produire des résultats différents
Le traitement numérique du signal implique de nombreuses opérations en virgule flottante. L’architecture du processeur, les bibliothèques mathématiques, les décisions du compilateur, l’implémentation du navigateur et les arrondis peuvent provoquer de faibles écarts. La norme Web Audio cite explicitement OscillatorNode, DynamicsCompressorNode, la fréquence d’échantillonnage, la latence et les mesures temporelles comme surfaces possibles de fingerprinting. Les navigateurs sont donc invités à limiter ces différences.
Mais un résultat Web Audio n’est pas un numéro de série matériel magique. Plusieurs appareils peuvent produire la même valeur et un navigateur peut uniformiser ou modifier les résultats. C’est la combinaison avec d’autres caractéristiques qui augmente la capacité de reconnaissance.
La méthode est utilisée au moins depuis 2016
Le fingerprinting audio n’est pas une découverte de 2026. Steven Englehardt et Arvind Narayanan ont étudié un million de sites pour leur recherche OpenWPM publiée à l’ACM CCS en 2016. Ils ont trouvé du fingerprinting AudioContext dans trois scripts présents au total sur 67 sites. Selon leur analyse manuelle, deux de ces scripts utilisaient réellement la technique de manière active.
Là encore, un oscillateur générait un signal connu, qui était traité, lu puis haché. L’une des variantes documentées faisait passer le graphe par un AnalyserNode, un ScriptProcessorNode et un GainNode muet jusqu’à la sortie. Sa structure est remarquablement proche du modèle AliExpress. Les chercheurs de Princeton soulignaient déjà qu’aucun microphone n’était nécessaire et que les techniques de fingerprinting étaient généralement combinées.
La nouveauté du cas AliExpress ne réside donc pas dans l’idée de base. Elle tient à sa découverte concrète sur l’une des plus grandes places de marché en ligne, à la vaste combinaison d’autres caractéristiques et surtout au canal auxiliaire qui a rendu la mesure visible.
La valeur audio n’était qu’une pièce du puzzle
Dans les bundles étudiés, Callaghan a trouvé des requêtes et des mesures portant sur de nombreuses autres caractéristiques :
- rendu Canvas et
toDataURL() - moteur de rendu WebGL, extensions et précision des shaders
- dimensions de l’écran et du viewport, ainsi que Device Pixel Ratio
hardwareConcurrencyetdeviceMemory- plugins installés et formats multimédias pris en charge
- comportement WebRTC et mesure des performances
- événements de souris, toucher, focus et défilement
- mouvement et orientation de l’appareil
- propriétés pouvant indiquer une automatisation du navigateur ou des bots
Le code contenait aussi des routines pour sérialiser et chiffrer les résultats, ainsi que pour les transmettre avec fetch() ou sendBeacon(). Côté client, il est donc établi qu’un large ensemble de données adaptées au fingerprinting peut être collecté et envoyé à des services Alibaba.
Ce qui se passe côté serveur n’est pas établi. Le navigateur ne permet de déterminer ni la durée de conservation ni les rapprochements ultérieurs avec des comptes, commandes, autres services Alibaba ou profils publicitaires. Callaghan formule lui-même explicitement cette limite.
Dans sa politique de confidentialité, AliExpress mentionne notamment les données du navigateur et du système d’exploitation, les caractéristiques matérielles et logicielles, les identifiants uniques d’appareil, les habitudes d’utilisation et les interactions. Parmi les finalités figurent le fonctionnement et la personnalisation, mais aussi la détection de la fraude, du blanchiment d’argent et des incidents de sécurité. Cette politique ne rend pas transparente l’implémentation technique observée, mais montre que des données étendues sur l’appareil et l’usage font bien partie du modèle décrit.
Le fingerprinting n’est pas automatiquement du suivi publicitaire
Les empreintes de navigateur sont utilisées dans des contextes très différents. Les régies publicitaires peuvent s’en servir pour reconnaître un navigateur malgré la suppression des cookies. Les boutiques en ligne et les services de paiement emploient aussi des signaux similaires pour l’évaluation des risques, les prises de contrôle de comptes, l’abus de coupons, le scraping, les bots ou les achats automatisés.
Ces deux finalités ne s’excluent pas. Le même identifiant d’appareil peut servir simultanément des intérêts de sécurité et de marketing. Le JavaScript découvert ne démontre toutefois aucune campagne publicitaire précise entre plusieurs sites. Affirmer directement qu’« AliExpress suit chaque utilisateur sur tous les sites » va au-delà des preuves disponibles.
Pour l’évaluation de sécurité, le cas reste néanmoins problématique :
- La mesure commençait dès la page d’accueil générale, et pas seulement lors de la connexion ou du paiement.
- Les scripts étaient fortement obscurcis et pratiquement impossibles à comprendre pour les utilisateurs.
- La collecte dépassait largement un unique signal antibot.
- Le graphe audio actif n’était pas signalé de manière utile dans l’interface et le fait de couper le son de l’onglet ne l’arrêtait pas.
- Une fonction d’arrière-plan intervenait si profondément dans le chemin audio local qu’elle modifiait le comportement d’un matériel externe.
Une défense compréhensible contre la fraude n’exige pas nécessairement de publier un guide d’implémentation. Elle exige en revanche une minimisation des données, une finalité clairement définie et une interface dont le comportement ne contredit pas les attentes de l’utilisateur. Un onglet de boutique silencieux ne devrait pas occuper un chemin audio en temps réel.
À quel point cette empreinte audio était-elle unique ?
Le développeur Firefox Tom Ritter a extrait le calcul Web Audio concerné et l’a comparé aux données de télémétrie Firefox. Le résultat relativise fortement les présentations alarmistes.
Depuis Firefox 118, Web Audio utilise sur toutes les plateformes la bibliothèque mathématique FDLIBM afin de réduire les écarts dépendant du système. Dans l’évaluation de Ritter, 99,24 % des utilisateurs se répartissaient entre seulement trois valeurs. Pour 0,76 % supplémentaires, le point de mesure échouait et renvoyait zéro. Les trois grands groupes correspondaient principalement à des classes de processeurs : x86 ou x64 sans FMA, x64 avec FMA et ARM avec NEON.
Pour la méthode AliExpress précise, cela signifie que, dans Firefox, la valeur audio n’était pas individuelle pour presque tous les utilisateurs étudiés. Elle révélait plutôt une catégorie générale de processeur qu’un appareil particulier. Une petite longue traîne de valeurs supplémentaires subsistait cependant, et les valeurs rares peuvent justement rendre les systèmes concernés plus distinctifs.
Une valeur isolée peu discriminante ne devient pas inoffensive lorsqu’elle fait partie d’un profil puissant associant graphismes, matériel, comportement et informations de compte existantes.
Le fingerprinting repose sur des combinaisons. La taille de l’écran, le fuseau horaire ou la classe de processeur sont généralement banals pris séparément. Canvas, WebGL, les polices, les informations matérielles, les caractéristiques du navigateur, les habitudes d’interaction et une connexion existante peuvent ensemble devenir bien plus discriminants. La valeur Web Audio n’a donc pas besoin d’être unique pour rester utile dans le score global.
La protection des navigateurs est une course aux armements avec des effets secondaires
Les navigateurs adoptent des stratégies différentes. Firefox uniformise certains calculs et bloque des services de fingerprinting connus. Depuis Firefox 145, des protections plus étendues sont d’abord actives en navigation privée et avec la protection renforcée contre le pistage en mode strict. Mozilla souligne elle-même qu’une uniformisation plus agressive peut casser des fonctions légitimes.
Brave modifie légèrement les résultats exploitables pour le fingerprinting, comme les valeurs Canvas et Web Audio. Ce procédé appelé Farbling reste stable au sein d’une session et d’un site, mais doit produire des résultats différents entre les sites et les sessions. Une application reçoit ainsi toujours des valeurs plausibles, mais peut moins facilement les employer comme identifiant global durable.
WebKit limite dans Safari diverses surfaces de fingerprinting, par exemple les polices installées localement et certaines informations sur l’appareil. Pour les interfaces particulièrement risquées, WebKit renonce parfois entièrement à leur implémentation tant qu’aucune voie considérée comme sûre n’existe. Cela illustre le conflit fondamental : les mêmes interfaces qui permettent des applications web complexes agrandissent aussi la surface de mesure du navigateur.
Aucun navigateur ordinaire ne peut garantir la disparition de toute forme de fingerprinting. Lorsqu’une caractéristique est uniformisée, les acteurs se rabattent sur d’autres attributs ou signaux comportementaux. Et une combinaison particulièrement exotique d’extensions, de polices et de réglages manuels peut, dans le pire des cas, rendre le navigateur encore plus rare.
Ce que les utilisateurs peuvent faire concrètement
La meilleure base reste un navigateur à jour avec une protection contre le fingerprinting activée. Dans Firefox, le niveau renforcé requiert la protection renforcée contre le pistage en mode strict ou une fenêtre privée. Brave active par défaut Shields et sa protection contre le fingerprinting. Dans Safari, il convient d’utiliser les versions actuelles du système et du navigateur. Tor Browser et Mullvad Browser vont plus loin pour les sessions sensibles : ils cherchent à faire apparaître le plus grand nombre d’utilisateurs possible dans un même groupe avec une empreinte similaire. Il faut justement éviter d’y ajouter des personnalisations ou extensions.
Les fenêtres privées ne constituent pas à elles seules une réponse complète. Elles limitent l’état enregistré, mais ne rendent pas automatiquement invisibles les caractéristiques matérielles et logicielles du navigateur. La suppression des cookies ne réinitialise pas non plus une empreinte comme elle supprime un identifiant de cookie.
Un VPN résout un autre problème. Il remplace l’adresse IP publique visible et, selon l’usage, protège le transport jusqu’au fournisseur de VPN. Il ne modifie toutefois pas automatiquement Canvas, WebGL, les calculs audio, les polices ou les caractéristiques matérielles. Un VPN peut donc être utile, mais ne protège pas à lui seul contre le fingerprinting du navigateur.
Bloquer précisément les deux scripts avec uBlock Origin
Callaghan a publié deux filtres volontairement ciblés pour uBlock Origin :
! 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
Après les avoir ajoutés dans Mes filtres, il faut fermer les onglets AliExpress déjà ouverts. Le blocage ultérieur d’un script ne met pas fin à un contexte audio qu’il a déjà créé.
Ces règles sont un instantané. Les chemins, versions et noms de fichiers peuvent changer. Comme les scripts appartiennent probablement à l’infrastructure antibot et d’évaluation des risques, des CAPTCHA supplémentaires ou des problèmes de connexion et de paiement peuvent aussi apparaître. Si une transaction légitime ne peut pas aboutir, la règle peut être désactivée temporairement pour cette opération uniquement, puis l’onglet doit être refermé.
Bloquer l’hôte entier assets.aliexpress-media.com au niveau DNS serait beaucoup plus grossier. D’autres ressources de la boutique peuvent s’y trouver. Une règle d’URL ciblée est donc plus contrôlable qu’un blocage global du domaine.
Désactiver complètement JavaScript est rarement pratique
Sans JavaScript, cette mesure ne peut pas fonctionner. Mais les boutiques modernes deviennent alors presque inutilisables. Une désactivation globale crée également un état de navigateur inhabituel et ne remplace pas une séparation propre des comptes, des profils et des activités sensibles.
Pour des recherches particulièrement sensibles, un navigateur séparé et aussi peu modifié que possible peut être utile. Cela limite les rapprochements avec le profil quotidien, sans garantir l’anonymat. L’adresse IP, la connexion, les données de paiement et les signaux côté serveur restent inchangés.
La question juridique dépasse les cookies
En Europe, « sans cookies » ne signifie pas « sans consentement ». Les lignes directrices définitives 2/2023 du Comité européen de la protection des données interprètent volontairement le champ technique de l’article 5, paragraphe 3, de la directive ePrivacy plus largement que les cookies classiques. L’accès à des informations stockées dans le terminal ou produites sur celui-ci par le logiciel et le matériel peut également être déterminant.
La légalité de l’implémentation concrète d’AliExpress dans un cas donné dépend notamment de la finalité réelle, de la nécessité, de la transposition régionale des règles ePrivacy, de la transparence et du traitement ultérieur. La lutte contre la fraude peut être une finalité légitime. Cela ne permet cependant pas de conclure automatiquement que chaque caractéristique collectée sur la page d’accueil est nécessaire à cette finalité ou qu’aucun consentement n’est requis.
Cet article ne remplace pas une analyse juridique. Sur le plan technique, le cas montre toutefois pourquoi les bannières de cookies ne reflètent pas entièrement la réalité de l’identification moderne. Un utilisateur peut refuser tous les cookies marketing visibles et être malgré tout mesuré par du JavaScript first-party.
Base de test et limites
J’ai vérifié pour la dernière fois l’analyse technique, les informations des navigateurs et les politiques publiques le 31 août 2026. La découverte concrète concernant AliExpress repose sur le test documenté de Callaghan sous Windows avec Firefox et Chrome, ainsi que sur son instrumentation de l’API Web Audio. S’y ajoutent le rapport de bug indépendant de Mozilla, l’évaluation par Ritter de la méthode audio extraite, la recherche OpenWPM et la documentation primaire du W3C, de Mozilla, Brave, WebKit, Alibaba Cloud, AliExpress et de l’EDPB.
Lors de mon contrôle, les deux URL versionnées des scripts indiquées par Callaghan répondaient toujours avec HTTP 200 et le type de contenu application/javascript. Je n’ai toutefois pas exécuté moi-même les scripts sur un compte AliExpress contrôlé ni reproduit l’effet secondaire Bluetooth avec mes propres écouteurs. D’autres systèmes d’exploitation, navigateurs, régions, tests A/B ou versions de scripts désormais modifiées peuvent se comporter différemment. Le stockage côté serveur, le scoring, le rapprochement d’identités et l’utilisation des valeurs transmises n’étaient pas visibles et ne constituent donc pas des constatations personnelles de cet article.
Ma conclusion
Ce cas ne prouve ni une surveillance ultrasonique secrète ni qu’une valeur audio unique identifie sans ambiguïté chaque ordinateur. Il démontre en revanche très bien à quel point les sites modernes peuvent utiliser le navigateur comme instrument de mesure sans que les utilisateurs voient quoi que ce soit.
L’explication liée à la lutte contre la fraude est techniquement crédible. Une grande place de marché doit combattre les bots, les prises de contrôle de comptes, la fraude au paiement et l’abus de coupons. Cela ne justifie toutefois pas automatiquement toute mesure à n’importe quelle étape du parcours client. Quiconque collecte dès la page d’accueil des caractéristiques audio, graphiques, matérielles, WebRTC et comportementales doit répondre à des questions sur la nécessité, la transparence et les effets secondaires.
Au bout du compte, ce n’est pas un tableau de bord de confidentialité qui a rendu la mesure visible. C’est une paire d’écouteurs Bluetooth qui a refusé de faire comme si le navigateur était silencieux.
À la prochaine,
Joe
Sources
- Matt Callaghan : analyse originale des scripts AliExpress et filtres uBlock
- Tom Ritter : valeurs et classes de processeurs de l’empreinte Web Audio d’AliExpress dans Firefox
- Mozilla Bug 1863193 : AliExpress maintient actif le chemin audio de Windows
- Princeton Web Census : fingerprinting AudioContext sur 67 sites
- W3C : Web Audio API, considérations de sécurité et de confidentialité
- AliExpress : politique de confidentialité sur les données d’appareil, d’usage et de sécurité
- EDPB : lignes directrices 2/2023 sur le champ technique de l’article 5(3) de la directive ePrivacy


