Por qué me importa este tema ahora

Durante mucho tiempo intenté elegir un bando. A veces parecía correcto «solo atrapar», a veces — «solo entender cómo se construye el bypass». Solo, ambos caminos empezaban a mentir rápido — bonito, convincente e incorrecto.

Si escribo solo un detector, acumulo teorías. «Esto es automatización seguro». «Esto es una persona viva seguro». Las teorías aman el silencio. Mientras no haya frente a mí un contorno de navegador controlado donde la hipótesis se pueda romper a propósito, vive demasiado y acumula excepciones. Empiezo a llamar a las excepciones «casos especiales», luego «ruido», luego simplemente dejo de verlas.

Si escribo solo un Chromium de investigación, empiezo a optimizar «para que se parezca». ¿Parecerse a qué? Sin el espejo de detect es fácil ajustar la apariencia a una fantasía del laboratorio, no a la coherencia real de capas: declaraciones del navegador, superficie Web API, comportamiento en el tiempo, red como contexto. Sale un stand bonito que convence al autor y miente al experimento.

Por eso mantengo dos espejos en una habitación. Una mano construye un contorno que busca contradicciones. La otra — un navegador donde esas comprobaciones pueden fallar con honestidad y mostrar dónde me engañé. No es un desdoblamiento de personalidad ni «jugar a los dos bandos por hype». Es una forma de falsificar mis propias ideas antes de que se vuelvan dogma.

En corto: necesito un laboratorio, no una tribuna.

Cómo llegué al formato «detect ↔ build»

Cómo llegué al formato «detect ↔ build»
Proceso: dos espejos

Al principio solo tenía un polo — «atrapar la rareza». En la web sobran rarezas: declaraciones User-Agent, Client Hints, gráficos, workers, sensores, red. Cada rareza provoca una regla. La regla provoca un falso positivo. El falso positivo provoca otra regla. Un mes después ya no recordaba qué hipótesis estaba comprobando.

Luego apareció el segundo polo — «montar mi Chromium y ver qué cambia». Eso embriaga de otra forma: control de variables, etiquetas de fuentes, la sensación de que el mundo por fin es medible. Pero sin la pregunta contraria «¿qué exactamente intento hacer coherente?» el build se vuelve una colección de parches «por si acaso».

El cruce de ambos polos ocurrió en un pensamiento simple. Si no puedo reproducir una clase de contradicción en un navegador controlado, entiendo mal la contradicción. Si no puedo formular la contradicción con palabras de detect (sin etiquetas mágicas), entiendo mal lo que cambio en el navegador.

Así nació el ritual de dos espejos: hipótesis → fuente/marco abierto → corrida en etalon (teléfono vivo / Chrome ordinario) → corrida en el contorno de investigación → conclusión «qué coherió / qué no» → lo que no publicaré.

Marco público

Marco público
Énfasis: marco público

Intento apoyarme en alfabetización pública, no en una «salsa secreta».

En materiales de detect.expert me resulta cercana la idea del desplazamiento: de una lectura declarativa simple de «qué hay en navigator» hacia una comprobación más honesta de la coherencia entre el perfil declarado y lo que realmente se mide. Allí también suena la crítica al culto de un gran hash de campos — un buen contrapeso a las diapositivas sobre «huella única para siempre». No necesito coincidir con todos sus números de precisión; necesito ingeniería del pensamiento.

Las fuentes de Chromium, para mí, son un instrumento de medida. Puedo fijar una versión, entender de dónde sale la superficie Web API y separar «así está construido el motor» de «así me inventé el antidetect». Es literatura y laboratorio a la vez: código abierto, release notes de Chrome abiertas, discusiones abiertas en el issue tracker.

Por separado guardo una verdad simple de herramientas públicas de consistency como x-bot.tech: el JavaScript del cliente clasifica una superficie, no entrega una pericia judicial «humano / bot» ni prueba el SO físico. Si una herramienta es honesta con el lector, lo escribe así. Quiero la misma honestidad en mi diario.

La documentación de User-Agent Client Hints clava otro clavo: incluso las pistas «oficiales» del navegador pueden recortarse por política de privacidad. La declaración es una hipótesis. La hipótesis se comprueba con otras capas; no se idolatra.

Lo que observo en el lab, en palabras simples

El cuadro se repite lo bastante como para volverse método.

Cuando solo funciona el detector

Me atrapo deseando «añadir otra comprobación». Sin el espejo del build la comprobación acumula falsos positivos sobre la vida cotidiana: persona en modo privado, persona con VPN, driver GPU raro, User-Agent reducido, locale poco común, teléfono viejo, proxy corporativo. El detector empieza a confundir el ruido de la vida con automatización — y obtengo una «victoria» de la que me avergüenzo.

Monólogo interno típico: «bueno, esto es raro». Raro — sí. Automatización — no se sigue automáticamente. Entre esas palabras debe haber un abismo lleno de contexto.

Cuando solo funciona el build

Me atrapo deseando «estirar otra capa para que se vea más nativo». Sin el espejo de detect es fácil curar un síntoma en un sitio y no notar que otra «habitación» del navegador ya habla distinto: otro contexto de ejecución, otra capa de red, otro comportamiento en el tiempo. Sale una decoración de coherencia — una vitrina para el autor.

Monólogo interno típico: «se puso más verde en un checker público». Buen smoke test. Mal diploma.

Cuando los espejos se miran

Juntos los contornos funcionan como falsificadores mutuos. La hipótesis o aguanta golpes de ambos lados, o muere. Necesito muertes rápidas de hipótesis. Un error bonito longevo cuesta más que una vergüenza corta.

Otra lección recurrente: el éxito en un «bot-checker» público y el éxito en un laboratorio que piensa son éxitos distintos. El checker enseña el alfabeto de la superficie. El laboratorio enseña a no mentirse sobre el sentido de las letras.

Un día del ritual (sin secretos)

Cómo se ve en la práctica, sin nombres internos de señales.

Por la mañana tomo una hipótesis en lenguaje humano. Por ejemplo: «si el navegador declara una versión y la superficie API parece otra época — es una contradicción entre declaración y medición». La hipótesis es a propósito general. Se puede discutir con release notes y páginas abiertas de consistency.

De día miro el etalon: un navegador ordinario en un dispositivo vivo. No para «sacar la huella para siempre», sino para entender el ruido cotidiano: qué salta solo, qué es estable, qué depende de permisos y red.

Por la noche miro el contorno de investigación Chromium con una variable controlada — no con cien a la vez. Si cambio todo, no sabré qué rompió la coherencia.

A la salida no tengo una «lista de victorias». Tengo un diario: hipótesis; qué se confirmó; qué murió; qué resultó ruido cotidiano; qué no llevaré a un texto público.

Qué cambia esto en detect y en el build

En detect aprendo a formular la conclusión como contradicción de capas, no como etiqueta de persona. La frase «la declaración no cuadra con la medición» es más honesta que «eres un bot». La etiqueta exige contexto, historia, comportamiento, a veces — admitir incertidumbre. La contradicción se puede mostrar y discutir. La etiqueta a menudo sirve a la pereza.

En la práctica también cambia el ritmo. Añado menos comprobaciones «por si acaso» y pregunto más: ¿qué hipótesis mata esto? Si la respuesta es «ninguna, solo da miedo» — la comprobación ya es sospechosa a la entrada.

En el build aprendo a plantear la meta del experimento de otra forma. No «pasar el antifraude desconocido de la marca X». Sino «comprobar si se sostiene la coherencia declaración–superficie ante un cambio controlado de una variable». Esa es otra ética y otro criterio de «listo».

Celebro menos «se puso más verde en el checker» y pregunto más: ¿qué exactamente coherió — y qué pudo quedar contradictorio fuera de cámara, en otra habitación del navegador o en otra capa (comportamiento, red)?

Errores que ya cometí (y cometeré)

Confundí rareza con hostilidad. Un stack GPU raro o un timezone extraño por sí solos no prueban automatización.

Confundí estabilidad con verdad. Un set estable de campos puede ser establemente incoherente.

Confundí el control del experimento con el control de la producción ajena. Mi lab mide mis hipótesis. No me da derecho moral a publicar «cómo eludir X».

Estos errores no desaparecen para siempre. Dos espejos simplemente los hacen visibles antes.

Lo que no diré y por qué

No publico umbrales internos, catálogos de señales de producción, esquemas de bind de sesión ni recetas de «cómo pasar el sitio X». La serie tiene estatuto: alfabetización de capas — sí; ayuda al abuso de sistemas concretos — no.

Tampoco prometo un navegador de investigación «impenetrable». Quien promete invisibilidad suele vender un cuento o hacer daño. Yo prometo un diario: qué comprobé, sobre qué bases abiertas, dónde me equivoqué, qué reformulé.

No disecciono en esta serie regresiones vivas de antifraudes ajenos de producción como instrucción. Ese es otro género — y está deliberadamente más allá de la línea roja.

Conclusión breve

Dos espejos son una forma de no mentirme. Detect sin navegador controlado se ciega en la teoría. Un navegador sin detect optimiza el objetivo equivocado. Mantengo ambos contornos para que las hipótesis se prueben en mí — rápido, con honestidad y sin teatro de guerra de productos.

Más adelante en la serie fijaré el género del diario (por qué esto no es «quién eludió a quién») y el lenguaje principal del laboratorio: coherencia en lugar del culto a un solo hash.

Conclusión breve
Notas: conclusión