
Scrapfly Engineering 원문 분석에 따르면 Chromium 148 이후 JavaScript의 Math.tanh 결과가 운영체제별 수학 라이브러리 차이를 드러내는 지문 신호로 관측되고 있다. 같은 브라우저라고 해도 Linux, macOS, Windows가 각각 다른 libm 구현을 쓰기 때문에 특정 입력값에서는 소수점 마지막 비트가 달라질 수 있다는 설명이다.
이번 사안은 일반적인 웹 취약점 공지와는 성격이 다르다. 원문은 공격자가 원격 코드 실행을 얻는 문제라기보다, 브라우저가 주장하는 환경과 실제 실행 환경이 일치하는지를 판별하는 데 쓰일 수 있는 프라이버시·안티봇 신호로 다룬다. 예컨대 사용자 에이전트는 macOS를 말하지만 Math.tanh 결과가 Linux 계열 수학 라이브러리의 비트 패턴을 보이면 자동화 브라우저나 위장 환경을 의심할 수 있다는 것이다.
Scrapfly는 이 변화가 Chromium 148에 들어간 V8 변경과 맞물린다고 분석했다. 원문에 따르면 Chrome 147까지는 V8이 Math.tanh를 자체 포함된 fdlibm 계열 구현으로 계산해 운영체제와 무관하게 같은 결과를 냈지만, Chrome 148부터는 std::tanh를 거치면서 호스트 운영체제의 libm 결과가 노출된다. Chrome for Developers 공식 릴리스 노트는 Chrome 148의 안정 버전 출시일을 2026년 5월 5일로 안내하고 있다.
차이는 매우 작다. 원문은 특정 입력에서 1 ULP, 즉 부동소수점 표현에서 마지막 자리 한 칸 수준의 차이가 나타난다고 설명한다. 그러나 브라우저 지문 식별에서는 이런 작은 차이가 의미를 가진다. 값이 결정적이고, 호출 비용이 낮으며, 화면 해상도나 폰트 목록처럼 기존에 잘 알려진 신호보다 탐지 회피 목록에서 빠져 있을 가능성이 있기 때문이다.
분석은 Math.tanh만의 문제가 아니라고도 지적한다. Scrapfly는 JavaScript Math 경로에서는 Math.tanh가 예외적으로 운영체제 libm을 노출하지만, CSS 삼각함수와 Web Audio의 일부 연산도 별도 경로에서 플랫폼 수학 라이브러리나 macOS Accelerate 프레임워크의 영향을 받을 수 있다고 설명했다. 웹 플랫폼의 같은 “수학” 기능이라도 V8, Blink, Web Audio가 서로 다른 구현 경로를 타는 셈이다.
개발자와 보안 담당자에게 중요한 점은 이 신호가 사용자 보호와 추적 위험을 동시에 갖는다는 데 있다. 안티봇 시스템 입장에서는 실제 브라우저와 자동화 환경을 구분하는 방어 신호가 될 수 있다. 반대로 일반 사용자와 프라이버시 도구 입장에서는 운영체제와 실행 환경을 더 정밀하게 드러내는 표면이 늘어난다는 의미다.
아직 Google이나 V8 프로젝트가 이를 별도 보안 취약점으로 공지한 것은 확인되지 않았다. 따라서 현재로서는 “Chromium 148 이후 관측된 브라우저 지문 식별 표면”으로 보는 것이 적절하다. 향후 브라우저 벤더가 수학 함수 경로를 다시 통일할지, 혹은 프라이버시 완화책을 제시할지는 추가 확인이 필요하다.
출처: Scrapfly Engineering https://scrapfly.dev/posts/browser-math-os-fingerprint/
출처: Chrome for Developers https://developer.chrome.com/release-notes/148









