Reproducibilidad con semilla de ruido: Huellas digitales deterministicas con BotBrowser
Como el flag --bot-noise-seed de BotBrowser produce huellas digitales de Canvas, WebGL y Audio consistentes y reproducibles entre sesiones.
El problema con el ruido aleatorio
Las herramientas de privacidad que anaden ruido aleatorio a las salidas de Canvas, WebGL y Audio crean una huella digital nueva en cada sesion. Esto rompe la consistencia de sesion, ya que una huella cambiante puede parecer mas sospechosa que una estable.
Ruido deterministico con --bot-noise-seed
BotBrowser resuelve esto con el flag --bot-noise-seed. Usa una semilla fija para impulsar un generador de numeros aleatorios deterministico. La misma semilla siempre produce la misma salida de huella digital.
chrome --bot-profile="/path/to/profile.enc" \
--bot-noise-seed=98765 \
--user-data-dir="$(mktemp -d)"
Con esta configuracion:
- El renderizado Canvas devuelve los mismos datos de pixeles en cada sesion
- La salida WebGL permanece identica entre reinicios
- El procesamiento de Audio produce la misma forma de onda cada vez
- El hash de huella digital se mantiene estable dia tras dia
Combinacion con perfiles
La semilla de ruido funciona junto con --bot-profile. El perfil define las caracteristicas de hardware, mientras que la semilla controla las variaciones de renderizado.
# Sesion 1: Lunes
chrome --bot-profile="/profiles/windows-chrome-122.enc" \
--bot-noise-seed=42 \
--user-data-dir="/data/session-a"
# Sesion 2: Miercoles (misma identidad)
chrome --bot-profile="/profiles/windows-chrome-122.enc" \
--bot-noise-seed=42 \
--user-data-dir="/data/session-a"
Ambas sesiones producen huellas digitales identicas.
Control de ruido Canvas
Alterna el ruido Canvas independientemente con --bot-config-noise-canvas:
chrome --bot-profile="/path/to/profile.enc" \
--bot-noise-seed=42 \
--bot-config-noise-canvas=true
Uso multi-cuenta
Asigna semillas diferentes por cuenta para identidades distintas y estables:
# Cuenta A
chrome --bot-profile="/profiles/profile-a.enc" \
--bot-noise-seed=1001 \
--user-data-dir="/data/account-a"
# Cuenta B
chrome --bot-profile="/profiles/profile-b.enc" \
--bot-noise-seed=2002 \
--user-data-dir="/data/account-b"
Verificacion
- Inicia BotBrowser con un perfil y semilla de ruido
- Visita CreepJS y registra los hashes de Canvas, WebGL y Audio
- Cierra y reinicia con el mismo perfil y semilla
- Confirma que los hashes coincidan exactamente
Primeros pasos
- Descarga BotBrowser desde GitHub
- Elige un perfil del repositorio de perfiles
- Agrega
--bot-noise-seedcon un valor entero fijo - Verifica la consistencia entre sesiones con herramientas de prueba