Saltar al contenido

root / tags / apple-silicon

#Apple Silicon

2 fiches

Calidad y Seguridad Traducción verificada automáticamente

Your Browser Does Math Differently on Every OS, and Anti-Bot Systems Read the Bits

Artículo de ingeniería publicado el **12 de julio de 2026** por **Scrapfly Engineering**, sobre un canal de *fingerprinting* de navegador poco conocido: **los últimos bits de un número de coma flotante delatan el sistema operativo**. **El mecanismo**: IEEE 754 define cómo se almacena un `double`, pero **no exige** que `sin`, `cos`, `tanh` o `exp` estén correctamente redondeados; cada sistema distribuye por tanto una **libm** que sacrifica una fracción de ULP a cambio de velocidad, con sus propios coeficientes minimax, tablas y constantes de reducción. En consecuencia, `Math.tanh(0.8)` devuelve **tres valores distintos** según glibc (Linux), libsystem_m (macOS) y UCRT (Windows) — *« una sola llamada a tanh sobre la entrada correcta es una firma por sistema operativo. Afirma ser macOS, devuelve bits matemáticos de Linux, y te has contradicho con tu propio User-Agent. »* **El indicio es reciente y está fechado con precisión**: hasta **Chrome 147**, V8 calculaba `tanh` con un port de **fdlibm** embebido, idéntico en todas partes y sin fugas; el commit de V8 `c1486295ae5` lo sustituyó por `std::tanh`, publicado en V8 14.8.57, es decir **Chrome 148** — 148, 149 y 150 tienen fuga, 147 y anteriores no. **Tres superficies concentran las fugas**: `Math.tanh` (la **única** función `Math.*` afectada, ya que V8 embebe y enlaza estáticamente el resto), **todas las funciones trigonométricas de CSS** (Blink llama directamente a la libm del sistema anfitrión, tras una reducción de ángulo basada en grados que no comparte código con `Math.sin`), y **Web Audio** (donde el compresor permanece en libsystem_m escalar mientras que las etapas de FFT y vectoriales pasan por **Accelerate**). **Cuatro trampas** dificultan la contramedida: solo algunas funciones tienen fuga — de modo que **falsificar las demás crea una incoherencia detectable**; JavaScript y CSS son rutas de código distintas; **macOS embebe dos bibliotecas matemáticas que divergen entre sí** (escalar frente a Accelerate, del 10 al 89% de las entradas según la función: `cos(0)` devuelve `1.0` por un lado, `0.9999999999999999` por el otro); y **la arquitectura también deja fuga** (FMA y la propagación del signo de NaN difieren entre ARM y x86). **La contramedida rechazada y la elegida**: añadir ruido falla dos veces — el valor no coincide con **ningún** sistema operativo real, y la no determinación entre llamadas es en sí misma un indicio. El único camino es la **reproducción bit a bit**: extraer los coeficientes de la libm objetivo, transcribirlos **en hexadecimal** (una transcripción decimal redondearía de forma distinta), escribir cada multiplicación-suma fusionada explícitamente como `fma()`, y compilar con `-ffp-contract=off` para que el compilador no invente ni elimine ninguna. **Divulgación a señalar**: el editor declara de entrada que *« las publicaciones aquí se redactan con IA, »* mientras que los mecanismos, las cifras y el código siguen siendo propios.

#fingerprinting#huella digital del navegador#anti-bot

**Scrapfly Engineering** — équipe d'ingénierie de **Scrapfly** · fournisseur d'infrastructure de collecte web. Le texte annonce sa position d'intérêt sans détour : *« Scrapfly ships a browser that has to match a real one across hundreds of signals · and math is one of the harder ones. »* On lit donc un **attaquant du problème de détection** · qui documente le canal parce qu'il doit le neutraliser.

Herramientas y Plataformas Traducción verificada automáticamente

ZML/LLMD : et si le « Docker des LLM » était français ?

Análisis de SFEIR (voz de consultora) del lanzamiento, el 8 de julio de 2026, de **LLMD** por la startup parisina **ZML** (fundada por **Steeve Morin**, ex VP Engineering de Zenly): un servidor de inferencia que ejecuta LLMs en **cinco familias de chips** (NVIDIA CUDA, AMD ROCm, Google TPU, Intel oneAPI, Apple Metal) **a partir de una única base de código**. Tesis estructurante: el entrenamiento está cediendo el protagonismo a la **inferencia**, donde ahora se deciden el coste por token, la latencia y, sobre todo, la **dependencia del silicio**. La apuesta de ZML —resumida en el lema *model to metal*— consiste en **desacoplar el modelo del hardware** mediante un compilador escrito en **Zig + MLIR** que produce un binario nativo hermético, sin Python en la ruta de ejecución, expuesto a través de una **API compatible con OpenAI**. Dos componentes, dos licencias: **ZML** (el framework, Apache-2.0, >90% Zig) es de código abierto; **LLMD** (el servidor) no lo es, gratuito en el lanzamiento. El artículo lee el objeto a través de tres prismas propios de consultora —**FinOps de tokens**, **libertad arquitectónica** (Design to Exit), **soberanía** (chips europeos emergentes, integración en el procesador Jotunn8 de VSORA)— y ofrece después un veredicto sin concesiones: se trata de una **alfa**, que hay que situar "bajo vigilancia activa", no para adoptar hoy.

#Inferencia de LLM#serving#ZML

SFEIR (voix éditoriale du cabinet)