Volver al Blog
Huella digital

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

  1. Inicia BotBrowser con un perfil y semilla de ruido
  2. Visita CreepJS y registra los hashes de Canvas, WebGL y Audio
  3. Cierra y reinicia con el mismo perfil y semilla
  4. Confirma que los hashes coincidan exactamente

Primeros pasos

  1. Descarga BotBrowser desde GitHub
  2. Elige un perfil del repositorio de perfiles
  3. Agrega --bot-noise-seed con un valor entero fijo
  4. Verifica la consistencia entre sesiones con herramientas de prueba
#noise-seed#deterministic#fingerprinting#reproducibility#privacy