본문으로 건너뛰기
피드

봇 탐지 전부 통과한다는 Firefox 기반 Playwright 래퍼가 나왔다

security 약 8분
vote
0
댓글
북마크

invisible_playwright는 Playwright와 호환되는 패치된 Firefox로, 브라우저 지문 탐지와 봇 탐지 테스트를 통과한다고 주장하는 오픈소스 프로젝트다. 핵심은 자바스크립트 런타임에서 값을 덮어씌우는 방식이 아니라 Firefox의 Gecko 경로를 C++ 레벨에서 패치해 탐지기가 ‘거짓말 흔적’을 잡기 어렵게 만든다는 점이다. 자동화 탐지, 크롤링 방어, 지문 일관성 설계에 관심 있는 개발자에게는 꽤 자극적인 사례다.

  • 1

    Firefox를 C++ 레벨에서 패치해 Playwright 자동화를 사람 세션처럼 보이게 만든다고 주장

  • 2

    reCAPTCHA v3 점수 0.90, Fingerprint Pro 봇 탐지 실패, CreepJS 거짓말 0개 같은 수치를 제시

  • 3

    Chromium 기반 안티디텍트 브라우저의 자바스크립트 오버라이드 방식이 탐지 가능하다고 비판

  • 4

    WebRTC, Canvas, WebGL, 폰트, 오디오, 시간대, 프록시까지 지문을 일관되게 맞추는 구조를 내세움

  • invisible_playwright는 “탐지 안 되는 Playwright용 Firefox”를 목표로 내건 프로젝트임

    • 패치된 Firefox를 제공하면서도 Playwright 호환성을 100% 유지한다고 주장함
    • 동기·비동기 API를 그대로 쓰고, 기존 Playwright 코드에서 전환도 작게 끝난다는 식으로 설명함
    • 지원 플랫폼은 Windows x86_64와 Linux x86_64
  • 제시한 탐지 테스트 결과가 꽤 세게 나옴

    • Google은 세션을 “사람일 가능성이 매우 높음”으로 분류했고, reCAPTCHA v3 점수는 0.90이라고 주장함
    • Fingerprint Pro에서는 봇 탐지, VPN 플래그, 변조 탐지, 개발자 도구 탐지가 모두 “Not detected”로 나왔다고 함
    • CreepJS의 거짓말 탐지에서도 “0 lies”를 강조함. 안티디텍트 브라우저는 보통 여기서 한두 군데 모순이 나와 점수가 무너진다는 주장임

중요

> 이 글의 핵심은 “값을 숨겼다”가 아니라 “브라우저 전체 지문이 서로 말이 맞는다”는 주장임. 봇 탐지는 단일 필드보다 모순을 잡는 쪽으로 진화하고 있다는 얘기임.

  • 기존 안티디텍트 브라우저의 약점으로 자바스크립트 패치를 지목함

    • 많은 Chromium 기반 도구는 navigator, WebGLRenderingContext.getParameter, Canvas API 같은 값을 주입 스크립트로 덮어쓴다고 설명함
    • 문제는 이런 오버라이드가 Function.prototype.toString(), 프로퍼티 descriptor, 열거 순서, prototype 변조 검사에서 흔적을 남긴다는 것
    • CreepJS 같은 탐지기는 바로 이런 “거짓말 흔적”을 모아 신뢰도를 깎음
  • invisible_playwright는 Firefox를 C++ 레벨에서 패치하는 쪽을 택함

    • 값이 자바스크립트 shim에서 나오는 게 아니라 Gecko의 정상 경로를 통해 반환되도록 만든다는 설명임
    • 그래서 페이지 입장에서는 브라우저가 그냥 자기 값을 말하는 것처럼 보이고, 탐지기가 잡을 오버라이드 흔적이 줄어든다는 논리임
    • Navigator, screen, GPU/WebGL, Canvas, fonts, audio, WebRTC, timezone, DevTools 탐지, SOCKS5 인증까지 여러 레이어를 같이 맞춘다고 함
  • 특히 WebRTC 쪽 디테일이 흥미로움

    • WebRTC의 srflx 주소는 프록시 egress IP로 보이게 하고, host candidate는 사설 LAN 주소처럼 합성한다고 설명함
    • 기본 Firefox는 mDNS 호스트명 같은 세션 단위 신호가 나올 수 있는데, 이것도 탐지기에는 안정적인 fingerprint가 될 수 있음
    • 프로젝트는 이런 후보 값을 스푸핑된 네트워크와 맞춰 바꿔 실제 공인 IP가 새지 않게 한다고 주장함
  • Chromium 기반 자동화가 기본적으로 의심받는다는 시각도 깔려 있음

    • 주거용 프록시를 쓰는 봇 트래픽이 Chromium 계열에 많이 몰려 있어서, 탐지기들이 Chromium 모양 자체를 위험 신호로 가중할 수 있다는 주장임
    • Chromium fork는 Blink, V8, ANGLE 같은 오픈소스 레이어를 가져가도 Chrome의 비공개 구성요소나 릴리스 cadence까지 완전히 맞추기 어렵다고 봄
    • 그래서 이 프로젝트는 Firefox 기반으로 가되, 런타임 덮어쓰기 대신 엔진 레벨에서 일관성을 맞추는 쪽을 선택함
  • 지문 값은 하드코딩이 아니라 preference와 seed로 제어된다고 함

    • 각 세션은 실제 Firefox telemetry에서 뽑은 GPU, 오디오, 폰트 등 약 400개 필드를 기반으로 고유하고 일관된 프로필을 샘플링한다고 설명함
    • seed를 기록하면 같은 GPU, 같은 Canvas hash, 같은 audio context를 재현할 수 있음
    • 특정 GPU 렌더러, 화면 크기, CPU 동시성 같은 값은 pin으로 고정하고 나머지는 seed 기반으로 유지할 수 있다고 함
  • 비교표에서는 상용 안티디텍트 브라우저보다 한 단계 깊게 패치했다고 주장함

    • Multilogin Mimic, GoLogin Orbita, AdsPower, Dolphin Anty 등은 Chromium fork와 자바스크립트 오버라이드 중심이라고 비교함
    • Kameleo나 Multilogin Stealthfox처럼 Firefox 프로필을 제공하는 제품도 런타임 오버라이드 패턴은 비슷하다고 봄
    • 다만 경쟁 제품 점수는 프로젝트 측 자체 테스트 결과라, 그대로 객관적 벤치마크처럼 받아들이긴 조심해야 함

⚠️주의

> 이런 기술은 자동화 테스트 연구에도 쓰일 수 있지만, 서비스 약관 우회나 남용 자동화에도 바로 연결될 수 있음. 방어 관점에서는 “탐지 우회가 가능한 가정”을 두고 설계를 다시 봐야 함.


기술 맥락

  • 이 프로젝트의 선택은 “브라우저 표면만 덮기”가 아니라 “렌더링 엔진 경로에서 일관된 값을 내기”예요. 봇 탐지기가 단순히 navigator.webdriver 하나만 보는 시대가 아니라, 여러 API 값이 서로 모순되는지까지 보니까 이런 접근을 택한 거예요.

  • 자바스크립트 오버라이드는 구현이 쉽지만, 그 자체가 흔적을 남긴다는 문제가 있어요. 함수 문자열, descriptor, 프로퍼티 순서, prototype 변경 같은 메타 정보가 원래 브라우저와 달라지면 탐지기는 “값은 그럴듯한데 말투가 이상하다”는 식으로 잡아낼 수 있거든요.

  • Firefox의 Gecko를 C++ 레벨에서 패치하면 값이 정상 엔진 경로에서 나온 것처럼 보일 수 있어요. 그래서 프로젝트는 Canvas, WebGL, 폰트, 오디오, WebRTC, 시간대, 프록시 같은 레이어를 따로따로 속이는 게 아니라 하나의 지문 프로필로 맞추는 쪽을 강조해요.

  • 방어하는 팀 입장에서는 이게 꽤 불편한 신호예요. 특정 필드 하나로 자동화를 차단하는 규칙은 쉽게 깨질 수 있고, 세션 행동, 계정 평판, 요청 패턴, 서버 쪽 리스크 모델까지 같이 봐야 하는 이유가 여기에 있어요.

이 프로젝트는 공격 도구로도 보일 수 있지만, 방어자 입장에서는 브라우저 지문 탐지가 어디까지 흔들릴 수 있는지 보여주는 테스트 케이스다. ‘navigator 값 몇 개 보면 되겠지’ 수준의 봇 탐지는 점점 설 자리가 없어지고 있다.

댓글

댓글

댓글을 불러오는 중...

security

엘에이 경찰, 사생활 침해 논란 끝에 플록 번호판 감시 계약 종료

엘에이 경찰이 번호판 인식 카메라 업체 플록 세이프티와의 3년 계약을 연장하지 않기로 했어. 시민권, 프라이버시, 데이터 보관과 공유 문제를 해결하지 못했다는 게 핵심 이유야. 플록은 미국 전역에 최소 8만 대 카메라망을 깔아 경찰과 연방기관이 차량을 추적할 수 있게 해왔고, 오탐·보안 사고·이민 단속 악용 의혹까지 겹치며 압박이 커졌어.

security

크로미움 148부터 Math.tanh 한 번으로 운영체제 지문이 새는 문제

크로미움 148 이후 V8이 Math.tanh 계산을 자체 구현 대신 운영체제의 수학 라이브러리에 맡기면서, 같은 입력값도 리눅스·맥·윈도우에서 마지막 비트가 달라지는 지문 신호가 생겼다. 이 차이는 User-Agent로 맥이라고 주장하면서 리눅스 수학 결과를 내는 식의 위장을 바로 들키게 만든다. CSS 삼각함수와 웹 오디오까지 보면 브라우저 수학 경로가 꽤 복잡하게 갈라지고, 제대로 흉내 내려면 실제 운영체제 라이브러리의 비트 단위 동작까지 맞춰야 한다.

security

출입통제도 클라우드 구독제로 간다…제로트러스트·AI 분석이 승부처

기업 출입보안이 사업장별 서버를 두는 방식에서 클라우드 기반 서비스형 출입통제(ACaaS)로 옮겨가고 있다. 시장은 2026년 17억8000만 달러에서 2030년 31억9000만 달러로 커질 전망이고, 제로트러스트·모바일 인증·AI 출입 분석·스마트빌딩 통합이 핵심 경쟁 포인트로 꼽힌다.

security

AWS·구글 클라우드, 양자컴퓨터 대비해 암호 체계 갈아엎는 중

AWS와 구글 클라우드가 양자컴퓨터 시대를 대비해 기존 공개키 암호와 양자내성암호를 함께 쓰는 하이브리드 전환을 시작했다. 핵심 배경은 지금 훔친 암호문을 나중에 양자컴퓨터로 푸는 ‘선수집·후해독’ 공격이고, 국내도 통신·금융·국방 등 5개 분야에 45억원을 투입해 실증에 들어간다.

security

보안 점검 맡긴 AI 에이전트가 악성코드를 직접 실행할 수 있다는 경고

AI 보안 에이전트가 저장소를 검사하다가 README 같은 문서에 숨은 프롬프트 인젝션에 속아 악성 바이너리를 실행할 수 있다는 연구가 나왔다. 클로드 코드와 코덱스의 자동 모드처럼 승인 없이 명령을 수행하는 구성에서 문제가 재현됐고, 여러 모델과 공급업체를 가로질러 같은 패턴이 통했다는 점이 핵심이다.