스텔스 브라우저: AI 에이전트가 봇 탐지를 우회하는 방법
Source: Dev.to
문제 개요
대부분의 AI 브라우저 자동화는 즉시 실패합니다: Cloudflare가 차단하고, DataDome이 플래그를 지정하며, CAPTCHA가 나타나고, 에이전트가 멈춥니다.
스텔스 브라우저 엔진
Bridge ACE에는 봇 탐지를 통과하는 스텔스 브라우저 엔진이 포함되어 있습니다. 이는 Patchright라는 Playwright 포크에 안티‑피핑크 hardened 기능을 추가한 것입니다.
Playwright 또는 Puppeteer를 실행할 때 웹사이트가 자동화를 감지할 수 있는 요소는 다음과 같습니다:
navigator.webdriver = true- Chrome 플러그인 및 확장 프로그램 누락
- 일관성 없는
navigator.userAgentData - SwiftShader GPU (헤드리스 노출)
speechSynthesis음성 누락- WebRTC IP 누출
- 예측 가능한 마우스 움직임 및 타이밍
스텔스 브라우저는 포괄적인 회피 기법을 적용합니다:
bridge_stealth_start(
stealth_level='high', # low/medium/high/paranoid
headless=False, # Real GPU — SwiftShader is instant detection
disable_webrtc=True, # Prevent IP leaks
inject_client_hints=True, # navigator.userAgentData
inject_speech_api=True # speechSynthesis voices
)
패치되는 항목
- AutomationControlled 플래그 비활성화
- 클라이언트 힌트 주입 (
sec-ch-ua헤더) - 현실적인 음성을 가진 Speech API 모킹
- WebRTC IP 누출 방지
- 일관된 지문을 위한 화면 오버라이드
performance.memory위조- 타이밍 지터 — 인간과 같은 행동 간 지연
브라우저 자동화 레벨
Bridge ACE는 세 가지 수준의 브라우저 자동화를 제공합니다:
빠르고 안정적인 (내부 도구 및 API)
bridge_browser_navigate(url='...')
bridge_browser_click(selector='#submit')
보호된 웹사이트에 대한 대부분의 봇 탐지를 통과합니다.
스텔스 내비게이션
bridge_stealth_goto(url='https://protected-site.com')
bridge_stealth_fill(selector='input', value='...')
사용자의 실제 Chrome에 연결
세션, 쿠키 및 확장 프로그램을 모두 상속합니다.
bridge_cdp_connect(port=9222)
bridge_cdp_navigate(url='https://linkedin.com')
# Full access to logged‑in sessions
CAPTCHA 해결
스텔스만으로 충분하지 않아 CAPTCHA가 나타날 경우:
bridge_captcha_solve(
captcha_type='recaptcha_v2',
website_url='https://example.com',
website_key='site-key-here'
)
reCAPTCHA v2/v3, hCaptcha, Cloudflare Turnstile, FunCaptcha를 CAPSolver, 2Captcha, 또는 Anti‑Captcha를 통해 지원합니다.
저장소
세 가지 브라우저 엔진과 CAPTCHA 통합 모두가 저장소에 포함되어 있습니다:
git clone https://github.com/Luanace-lab/bridge-ide.git