WebGL 지문이란? 그래픽카드 정보가 브라우저 지문이 되는 과정
웹사이트가 그래픽카드 정보를 읽어들이는 경로는 두 가지입니다. 하나는 파라미터를 묻는 것이고, 다른 하나는 이미지를 보는 것입니다. 지문 탐지 페이지를 처음 열어 WebGL Renderer 항목에 자신의 그래픽카드 모델이 적혀 있는 것을 보고, '웹페이지가 어떻게 내 카드를 알까' 하고 놀란 분들이 많습니다. 브라우저가 노출하는 것은 하드웨어 일련번호가 아니라 그래픽 환경의 특징입니다. 이 특징의 절반은 인터페이스가 직접 알려주는 파라미터이고, 나머지 절반은 GPU에게 그림을 그리게 한 뒤 읽어낸 결과입니다. 항목 하나만으로는 신원을 특정할 수 없지만, 조합하면 식별력 있는 퍼즐 조각이 됩니다.
WebGL은 브라우저가 제공하는 그래픽 인터페이스입니다. 웹페이지의 3D 모델, 지도, 시각화 차트는 모두 이 인터페이스를 통해 GPU의 렌더링을 요청합니다. 같은 인터페이스는 그래픽 환경의 일부도 함께 넘겨줍니다. MostMate는 계정마다 독립된 브라우저 환경을 준비해 주는 안티디텍트 브라우저입니다. 그래픽카드와 그래픽 파라미터는 이 제품이 관리하는 환경 신호의 한 부류에 속합니다.
두 종류의 정보: 물어서 얻는 파라미터, 그려서 얻는 이미지
WebGL 지문의 정보원은 두 종류로 나뉘며, 수집 방식은 완전히 다릅니다. 첫 번째는 물어서 얻는 방식입니다. 웹페이지가 인터페이스로 그래픽 환경을 조회하면 GPU 벤더, 렌더러 모델, 지원 버전 같은 답을 받습니다. 두 번째는 그려서 얻는 방식입니다. 웹페이지가 GPU에게 고정된 내용을 렌더링하게 한 뒤 결과를 읽어냅니다. 기기마다 출력에는 미세한 차이가 있습니다. 두 가지가 합쳐지면 웹사이트 눈에 보이는 그래픽 환경의 초상이 됩니다.

먼저 물어서 얻는 부분부터 보겠습니다. 탐지 페이지에서 자주 보이는 항목의 대응 관계는 다음과 같습니다:
| 항목 | 내용 | 일반적인 값의 예 |
|---|---|---|
| Vendor | 그래픽카드 벤더 | Google Inc. (NVIDIA) |
| Renderer | 렌더러 모델 | ANGLE (NVIDIA, GeForce RTX 3060) |
| WebGL Version | 인터페이스 버전 | WebGL 2.0 |
| Extensions | 지원 확장 목록 | 확장명 집합 |
이 목록에는 주목할 세부 사항이 몇 가지 있습니다. Vendor 항목은 많은 브라우저에서 Google Inc.로 똑같이 표시되고, 실제 벤더는 괄호 안에 숨어 있습니다. Renderer의 값은 브라우저 구현에 따라 달라집니다. 같은 NVIDIA 그래픽카드라도 브라우저가 보고하는 문자열 형식이 다를 수 있습니다. 확장 목록의 차이는 더 뚜렷합니다. 어떤 확장을 지원하는지, 어떤 순서인지도 추가 정보가 됩니다.
이 파라미터의 읽기 통로는 WEBGL_debug_renderer_info라는 확장입니다. 이 확장은 두 개의 상수를 노출합니다. 마스킹되지 않은 벤더 문자열과 렌더러 문자열입니다. MDN 문서는 이 확장이 본래 디버깅용이며 브라우저 개인정보 설정에 따라 달라진다고 명시합니다. Firefox는 resistFingerprinting 개인정보 스위치를 켜면 이 확장을 바로 비활성화합니다. 다시 말해, 같은 그래픽카드라도 브라우저와 개인정보 구성에 따라 보고하는 내용이 달라질 수 있습니다. 탐지할 때는 이 변수를 유의하세요.
그래픽카드가 왜 환경 특징이 되는가
파라미터의 식별력은 조합에서 나오며, 단일 항목에서 나오지 않습니다. 그래픽카드 시장은 매우 집중되어 있습니다. NVIDIA, AMD, Apple, Intel을 합치면 대다수 기기를 커버하므로, Renderer 항목 하나만으로는 특정인을 좁힐 수 없습니다. 그러나 다른 신호와 맞춰 놓으면 식별력이 높아질 수 있습니다. 예컨대 Windows 기기에서 Chrome을 쓸 때 WebGL이 노출하는 그래픽 환경은 보통 해당 시스템과 브라우저 구성과 연결됩니다. 브라우저 정보는 Windows인데 그래픽 환경은 macOS 기기에 어울리는 특징을 보인다면 더 들여다볼 가치가 있습니다. 시간대 같은 다른 파라미터마저 기대 환경과 어긋나면, 전체 구성에 상호 모순되는 신호가 생겼을 가능성이 있습니다.

중요한 것은 각 파라미터를 무작위로 바꾸는 것이 아니라, 환경 신호들끼리 서로 조화되는지 점검하는 것입니다. 항목 하나를 마음대로 바꾼다고 환경 전체가 더 그럴듯해지지는 않습니다. 지문을 무작위로 수정할 때 생길 수 있는 문제는 지문 무작위화가 위험한 이유 글을 참고하세요.
이제 그려지는 쪽을 보겠습니다. GPU에게 고정 이미지를 렌더링하게 하고 출력을 읽는 방식은 Canvas 지문과 뿌리가 같습니다. 2D 렌더링 차이의 원리는 Canvas 지문 글에서 다루었습니다. WebGL은 3D 파이프라인을 거치며, 렌더링 과정이 그래픽 드라이버와 하위 그래픽 라이브러리를 통과합니다. GPU가 달라도, 드라이버 버전이 달라도, 브라우저 구현이 달라도 출력이 몇 픽셀씩 어긋날 수 있습니다. 이런 차이는 육안으로 보이지 않습니다. 그러나 스크립트는 정확하게 읽어냅니다.
두 가지를 분명히 해두겠습니다. 첫째, 이미지 차이의 식별력은 소문처럼 과장되지 않았습니다. 같은 모델의 그래픽카드에 같은 버전의 드라이버를 쓰는 기기 사이에서는 차이가 나지 않을 수 있습니다. 둘째, 이미지 차이는 파라미터형 정보와는 별개의 수집 방식이므로, 탐지 결과는 따로따로 해석해야 합니다.
WebGL, Canvas, WebGPU는 무엇이 다른가
세 이름이 자주 함께 등장하지만, 관찰 대상은 저마다 다릅니다. 표로 정리하면 다음과 같습니다:
| 파라미터 | 관찰 대상 | 수집 방식 |
|---|---|---|
| Canvas | 2D 렌더링 결과 | 그림을 그려 차이를 읽음 |
| WebGL | 그래픽 능력 파라미터와 3D 렌더링 이미지 | 파라미터 조회+그리기 |
| WebGPU | 차세대 그래픽 인터페이스의 환경 신호 | 파라미터 조회+연산력 시험 |
| AudioContext | 오디오 처리 출력 | 알고리즘 처리 결과를 읽음 |
WebGPU와 WebGL의 관계는 한 문장으로 설명할 수 있습니다. WebGPU는 브라우저가 밀고 있는 차세대 그래픽 인터페이스로, 능력이 더 강하고 파라미터 폭도 넓습니다. 어떤 기기 특징을 노출하는지는 WebGPU 지문 글에서 다루었습니다. 한편 WebGL은 현재 커버리지가 가장 넓은 현역 인터페이스로, 사실상 모든 브라우저가 지원합니다. 둘은 오랫동안 공존하며 탐지 페이지에 함께 나오는 일이 잦으므로, 점검할 때 둘 다 확인해야 합니다.
내 WebGL 지문을 확인하는 방법
탐지의 핵심 동작은 기록과 대조이지, 한 번 보고 페이지를 닫는 것이 아닙니다. 세 단계로 진행합니다:
- 환경 안에서 IP 탐지 페이지나 BrowserLeaks 같은 도구를 열어 WebGL 블록을 찾습니다. Vendor, Renderer, WebGL Version, 확장 수 네 항목을 적어둡니다.
- 시간을 두고 같은 환경을 다시 측정해 두 결과를 비교합니다. 파라미터가 실제 GPU에서 SwiftShader 같은 소프트웨어 렌더링으로 바뀌거나 확장 수가 뚜렷하게 변하면, 환경에 변동이 있었다는 뜻입니다.
- WebGL 결과를 환경 구성 전체 속에서 맞춰봅니다. WebGL이 Windows와 NVIDIA를 보고한다면 UA와 운영체제도 Windows여야 하고, 시간대·언어·출구 지역이 서로 맞아야 합니다. 항목별로는 멀쩡해도 조합이 모순되는 환경은 여전히 눈에 띕니다.
한 부류의 표시는 따로 짚고 넘어갈 가치가 있습니다. 탐지 페이지에 SwiftShader, ANGLE (Google) 같은 소프트웨어 렌더링 문구가 보이면, 환경에 애초에 그래픽카드가 없을 수 있습니다. 브라우저가 소프트웨어 렌더링으로 전환했을 가능성도 있습니다. 실제 기기에서 이런 값이 나오는 일은 드뭅니다. 장기 운영하는 환경이라면 손봐야 할 신호에 해당합니다.
MostMate의 WebGL image 파라미터 활용법
MostMate의 '지문 설정'에서 WebGL image는 단독으로 조정할 수 있는 파라미터입니다. 설정 페이지에서는 Canvas 같은 그래픽 파라미터 곁에 나란히 놓여 있습니다. 환경을 만들거나 편집할 때 WebGL image 항목에는 Real과 Noise 두 단계가 있습니다. Real은 실제 값을 유지하고, Noise로 바꾸면 출력이 노이즈 모드로 들어갑니다.
바꾼 뒤 오른쪽 지문 미리보기 패널에서 해당 행을 확인해 보세요. 값이 여섯 자리 코드가 붙은 형태로 바뀝니다. 이 코드는 다른 파라미터와 호환되지 않습니다. 식별하는 대상은 노이즈 구성이며, 실제로 노출되는 해시는 환경 안에서 탐지 페이지를 열어 확인합니다.

단계를 고르는 기준은 환경이 누구를 연기하느냐입니다. 장기 키우는 환경이라면 Real을 권합니다. 실제 그래픽카드의 파라미터와 드라이버 동작이 가장 흉내 내기 어렵고, 환경이 안정되어 있으면 굳이 건드릴 이유가 없습니다. 같은 업무를 위한 환경을 여러 개 준비해야 할 때는 Noise가 차별화된 이미지 출력을 제공합니다. 여러 환경이 그래픽 차원에서 같은 얼굴을 보고하는 일이 없어집니다. Noise를 고른다고 해도 파라미터를 갈아엎는 것은 아닙니다. 지문 미리보기 패널의 모든 항목 값이 그대로 드러나 있으니, 구성이 어떤지 한눈에 확인됩니다.
경계 또한 분명히 해두겠습니다. 파라미터 관리가 낮추는 것은 환경 사이의 혼용과 모순 위험입니다. WebGL 외에 화면 해상도, 글꼴 같은 신호는 저마다 독립적이며, 항목별로 맞추는 방법은 안티 어소시에이션 일관성 글에 체크리스트로 정리되어 있습니다. 환경을 아무리 깔끔하게 꾸어도 판정은 플랫폼의 몫이며, 이 글은 '설정하면 탐지되지 않는다'는 어떠한 약속도 하지 않습니다.
WebGL 지문에 관한 자주 묻는 질문
웹사이트가 내 실제 그래픽카드 모델을 볼 수 있나요?
Renderer 항목의 모델 문자열은 볼 수 있습니다. 브라우저가 WEBGL_debug_renderer_info 확장을 제한하지 않았다는 전제에서입니다. 다만 이것은 브라우저가 노출하는 그래픽 묘사 정보이지 하드웨어 신원을 읽는 것이 아닙니다. Firefox 같은 브라우저는 개인정보 보호를 켜면 이런 정보를 숨기거나 일반화합니다.
WebGL을 끄면 지문 식별을 피할 수 있나요?
권하지 않습니다. 현대 웹페이지는 WebGL 렌더링에 크게 의존하므로, 끄면 페이지 기능에 지장이 생깁니다. 게다가 주류 브라우저는 모두 WebGL을 지원합니다. 지원하지 않는 브라우저 자체가 이상 신호라서 오히려 따로 분류되기 쉽습니다.
WebGL 지문과 Canvas 지문은 같은 것인가요?
아닙니다. 둘 다 렌더링 차이를 이용하지만, Canvas는 2D 그리기이고 WebGL은 3D 파이프라인에 능력 파라미터라는 층이 더해집니다. 탐지 페이지에서는 두 개의 독립된 섹션이며 값이 서로를 대변하지 않습니다.
지문 브라우저는 WebGL을 임의의 그래픽카드로 바꿀 수 있나요?
제품 구현에 달려 있습니다. MostMate는 실값과 노이즈 두 단계를 제공하며, 노이즈 모드는 차별화된 이미지 출력을 내놓습니다. 요점은 언제나 환경 전체의 파라미터가 서로 모순 없게 하는 것이지, 특정 항목 하나를 어떤 값으로 바꾸는 것이 아닙니다.
맺음말
WebGL 지문의 본질은 브라우저가 그래픽 환경의 파라미터와 렌더링 행동을 웹사이트에 넘긴다는 데 있습니다. 파라미터는 '어떤 카드인가'에 답하고, 이미지는 '어떻게 그려지는가'에 답합니다. 멀티 계정 운영이 다뤄야 할 대상은 애초에 그래픽카드를 숨기는 일이 아닙니다. 요점은 환경마다 그래픽 파라미터가 UA, 시간대, 출구 지역과 같은 이야기를 하게 만드는 것입니다.
MostMate는 WebGL image 같은 파라미터를 환경 구성에 넣어 일괄 관리합니다. 점검과 정렬이 모두 수월해집니다. 환경을 세우는 것은 시작에 불과하며, 매일의 점검 습관이 장기의 변수입니다. 그래픽 파라미터를 다루는 방법은 공식 홈페이지에 전체 입구가 마련되어 있습니다. 멀티 계정을 위한 경계가 분명한 환경을 갖추려면 MostMate 다운로드로 첫 환경부터 시작해 보세요.
MOSTMATE
안전한 다중 계정 관리, 더 간편하게
첫 계정부터 MostMate와 함께 더 안전하고 스마트하며 효율적인 다중 계정 운영을 시작하세요.
- 독립적인 프로필. 일관된 식별 정보.
- AI 자동화 · 계정 건전성 · 팀 운영



