Protection de synthese vocale par BotBrowser : listes de voix coherentes avec la plateforme
Comment BotBrowser controle les listes de voix SpeechSynthesis pour correspondre a la plateforme cible du profil charge.
Le risque pour la vie privee
L'API SpeechSynthesis expose une liste de voix de synthese vocale disponibles qui varie selon le systeme d'exploitation, la version du navigateur et les packs de langues installes. Cela cree un signal de pistage potentiel. BotBrowser aligne la sortie de la liste de voix avec la plateforme cible du profil charge.
Listes de voix controlees par le profil
Le chargement d'un profil configure automatiquement la liste de voix correcte :
chrome --bot-profile="/path/to/profile.enc" \
--user-data-dir="$(mktemp -d)"
Si le profil represente un systeme Windows, la liste de voix contiendra les voix attendues pour cette version de Windows, quel que soit le systeme d'exploitation hote reel.
Coherence multiplateforme
C'est la ou la protection de la liste de voix compte le plus. Executer un profil Windows sur un serveur Linux exposerait normalement les voix natives de la plateforme, revelant l'environnement hote reel. BotBrowser assure que la liste de voix correspond au profil, maintenant la coherence de l'identite de plateforme.
Alignement avec les autres signaux
Les donnees de liste de voix font partie d'un tableau d'identite plus large. Les profils BotBrowser alignent les listes de voix avec navigator.platform, User-Agent et d'autres indicateurs au niveau du systeme d'exploitation, pour que tous les signaux soient coherents.
Verification
Apres le chargement d'un profil, verifiez la liste de voix dans la console :
function getVoices() {
return new Promise((resolve) => {
const voices = speechSynthesis.getVoices();
if (voices.length > 0) return resolve(voices);
speechSynthesis.onvoiceschanged = () =>
resolve(speechSynthesis.getVoices());
});
}
const voices = await getVoices();
console.log(`Voice count: ${voices.length}`);
voices.forEach(v =>
console.log(`${v.name} (${v.lang}) local: ${v.localService}`)
);
Le nombre de voix, les noms et les langues doivent correspondre a la plateforme cible du profil.
Pour commencer
- Telechargez BotBrowser depuis GitHub
- Chargez un profil avec
--bot-profile - Verifiez
speechSynthesis.getVoices()dans la console pour confirmer l'alignement - Comparez avec d'autres signaux d'empreinte pour verifier la coherence multiplateforme