Chromium 148 이후부터 Math.tanh의 반환값이 OS별로 미세하게 차이나, 동일 브라우저 사용자를 OS 단위로 구분할 수 있게 됐다. 차이의 원인은 IEEE 754-2019의 correct rounding 적용 범위와 플랫폼 math 라이브러리(libm) 구현 차이로 분석된다. 스크래핑·봇 탐지 업계는 이를 새로운 추적 신호로 활용할 가능성이 커졌으며, 헤드리스 브라우저 환경의 프라이버시 노출 우려도 동반된다.
- 발견된 벡터: Math.tanh 반환값의 OS별 편차 (Chromium 148)
- 기술 원인: IEEE 754-2019 correct rounding 구현 편차, 플랫폼 libm 차이
- 산업 영향: 봇 탐지 정확도 향상 vs. 사용자 프라이버시 위협 양면성 부상
표준 함수마저 OS를 드러내는 시대가 열렸고, 자바스크립트 생태계의 플랫폼 중립성 보장이 새로운 보안 과제로 떠올랐다.
2026년 7월, 스크래핑 인프라 기업 Scrapfly는 Chromium 148 환경에서 Math.tanh 함수의 반환값이 운영체제별로 미세하지만 일관되게 달라진다는 분석 결과를 공개했다. 이 발견은 같은 하드웨어·같은 브라우저를 사용하더라도 OS 단위로 사용자를 묶어낼 수 있다는 점에서 보안 커뮤니티의 강한 관심을 끌었으며, Hacker News에서는 353 포인트와 167 댓글이 달리는 등 뜨거운 논쟁이 이어졌다.
사건 개요: Chromium 148이 노출시킨 보이지 않는 지문
무엇이 바뀌었나 – Math.tanh 결과 편차의 발견 경위
Scrapfly의 분석에 따르면 Chromium 148 이후 Math.tanh 함수의 출력값이 Windows, macOS, Linux 등 주요 OS 환경에서 동일 입력을 넣어도 마지막 비트(least significant bit) 수준에서 차이가 발생한다. 단일 함수 호출만으로도 OS 시그니처를 추정할 수 있다는 점에서, 기존의 User-Agent, Canvas, WebGL 등 복합 핑거프린팅 기법에 비해 매우 가벼운 새로운 추적 채널로 평가된다.
왜 주목받나 – Hacker News 353 포인트가 보여준 커뮤니티 반응
Hacker News 토론 스레드에서는 이 현상이 단순한 수치 오차가 아니라 명세 준수와 실측 구현 사이의 격차에서 비롯된 것이라는 점이 핵심 쟁점으로 부상했다. 댓글 다수는 “표준을 따르는 함수조차 플랫폼 의존성을 갖는다면, 브라우저 핑거프린팅 방어가 영원히 따라잡을 수 없다”는 우려를 보였으며, 일부는 헤드리스 브라우저와 자동화 도구의 탐지 회피 난이도가 한 단계 더 올라갈 것으로 내다봤다.
기술적 배경: IEEE 754, libm, 그리고 correct rounding
IEEE 754-2019 correct rounding 정의와 OS별 차이 원인
IEEE 754-2019 부동소수점 산술 명세는 모든 기본 연산에 대해 correct rounding, 즉 무한 정밀도로 계산한 결과에 가장 가까운 표현 가능한 값을 반환할 것을 명시한다. 그러나 tanh와 같은 쌍곡선 함수는 명세에서 correct rounding이 강제되지 않으며, 구현체는 시스템의 수학 라이브러리(libm)에 위임한다. 이로 인해 OS별 libm 구현 정확도 차이가 Math.tanh 결과의 미세 편차로 드러나는 것으로 분석된다.
Chromium과 Firefox의 수학 라이브러리 호출 경로 비교
Chromium은 플랫폼 libm을 그대로 활용하는 경향이 강해 OS 의존도가 높은 반면, Firefox는 자체 구현과 플러그인 교체를 통해 플랫폼 편차를 완화해왔다. 이번 Chromium 148의 동작 변화는 이러한 의존도가 단순한 성능 최적화가 아닌 핑거프린팅 표면으로 작용할 수 있음을 보여준다. 다음 표는 주요 구현 경로의 차이를 요약한다.
| 항목 | Chromium 148 | Firefox 계열 |
|---|---|---|
| 수학 라이브러리 | 플랫폼 libm 위주 | 자체 구현 + 플러그인 일부 |
| OS별 결과 편차 | 상대적으로 큼 | 완화되어 있음 |
| correct rounding 준수 | 간접적·부분적 | 사내 라이브러리 보정 |
| 핑거프린팅 노출도 | 높음 | 상대적으로 낮음 |
보안·산업적 함의: 핑거프린팅 벡터 확장과 봇 탐지
봇 탐지 및 웹 스크래핑 업계에 미치는 즉각적 영향
봇 탐지 솔루션 제공사 입장에서는 Math.tanh 편차가 거의 비용 없이 수집 가능한 신호라는 점에서 매력적이다. 단일 자바스크립트 함수 호출만으로 OS를 추정할 수 있다면, 기존 디바이스 핑거프린트와 결합해 사용자 정체성 매칭률을 높이는 데 활용할 수 있다. 반면 스크래핑 자동화 운영자는 헤드리스 Chromium 빌드를 사용하는 경우 OS 정보가 그대로 노출될 위험이 커지며, Electron, Puppeteer, Playwright 기반 워크플로우의 프라이버시 마스킹이 더욱 어려워질 것으로 보인다.
프라이버시 브라우저 및 익명화 도구의 대응 과제
Tor Browser, Brave, Mullvad Browser 등은 표준 API 출력을 정규화해 핑거프린팅 표면을 축소해왔다. 그러나 Math.tanh 같은 표준 라이브러리 함수까지 통째로 패치하기는 현실적으로 부담이 크다. 일부 익명화 도구는 난수 기반 노이즈 주입으로 편차를 무력화하는 방식을 시도하고 있으나, 이는 정상 사용자 행동과의 통계적 분리 가능성을 높여 오히려 또 다른 핑거프린팅 표면을 만들 위험도 존재한다.
글로벌 테크 트렌드 시사점
표준 준수 일관성 결여가 클라우드·SaaS 신뢰에 미치는 영향
글로벌 SaaS 시장에서는 동일 코드가 어떤 OS에서 실행되든 동일한 결과를 보장하는 실행 환경 일관성이 SLA와 직결된다. Math.tanh 사례는 표준 명세의 사각지대가 곧 보안 사각지대가 될 수 있음을 시사하며, 클라우드 벤더 입장에서 math 라이브러리 검증과 OS 간 결과 동등성 테스트가 새로운 품질 지표로 부상할 가능성이 있다. 이러한 흐름은 자바스크립트 엔진 자체에 대한 OS 중립성 감사 수요를 키울 것으로 해석된다.
자바스크립트 생태계의 플랫폼 중립성 논의 필요성
ECMA-262는 자바스크립트 언어 명세이며 IEEE 754는 산술 명세이지만, 두 명세의 경계에서 발생하는 동작 차이가 명확히 정의되지 않는 영역이 존재한다. Math.tanh 사례를 계기로 TC39, V8, SpiderMonkey 커뮤니티가 플랫폼 중립성 보장을 위한 명세 보완 논의를 시작할 필요가 있다는 목소리가 업계 내부에서 제기되고 있다. 이는 결국 “동일 입력에 동일 출력”이라는 단순한 원칙이 보안과 신뢰의 근간임을 다시 한번 환기시키는 사건으로 평가된다.
결론 및 전망
Chromium 148과 Math.tanh 사례는 단일 표준 함수가 어떻게 사용자 OS를 드러내는 새로운 핑거프린팅 채널이 될 수 있는지를 명확히 보여주었다. IEEE 754-2019의 correct rounding, 플랫폼 libm 의존도, 브라우저별 구현 경로라는 세 요소가 맞물리면서, 과거에는 무해했던 자바스크립트 함수 호출이 의도치 않은 추적 신호로 둔갑한 것이다. 단기적으로는 봇 탐지·프라이버시 양측 모두 Math.tanh 편차를 신호로 활용하거나 무력화하는 기술 경쟁이 가속될 것이며, 중장기적으로는 엔진·명세·OS 벤더가 함께 표준 준수 일관성을 점검하는 협의체가 필요한 시점이다. 클라우드·SaaS 보안 시장에서 실행 환경 일관성은 곧 신뢰이며, 이번 사건은 그 신뢰를 코드 한 줄로 흔들 수 있다는 점을 업계에 각인시켰다.
핵심 포인트 정리
- Chromium 148부터 Math.tanh 결과가 OS별로 미세하게 갈라져 새로운 핑거프린팅 벡터가 등장했다.
- 원인은 IEEE 754-2019 correct rounding 명세의 사각지대와 플랫폼 libm 구현 편차로 분석된다.
- 봇 탐지 업계는 즉시 활용 가능성이 높고, 헤드리스 브라우저 환경의 프라이버시 노출 위험도 동반된다.
- 표준 준수 일관성은 클라우드·SaaS 신뢰의 새로운 품질 지표로 부상하고 있다.
- 자바스크립트 엔진과 OS 벤더 간 플랫폼 중립성 협치 필요성이 제기된다.
참고 자료: Scrapfly 블로그 원문, Hacker News 토론 스레드