피드로 돌아가기
Dev.toInfrastructure
원문 읽기
HTTP-RPC 기반 브라우저 데몬으로 AI 에이전트 세션 유지 및 봇 탐지 우회
I built a browser daemon for AI coding agents because Playwright wasn't enough
AI 요약
Context
Claude Code와 같은 CLI 기반 에이전트의 Bash 도구는 프로세스 실행 후 stdin 입력이 불가한 제약이 있음. 이로 인해 Playwright 같은 REPL 기반 도구 사용 시 턴마다 브라우저 세션이 종료되어 반복적인 로그인이 필요한 비효율 발생.
Technical Solution
- 브라우저 제어 로직을 HTTP-RPC 기반 데몬으로 분리하여 127.0.0.1에서 상주시키는 아키텍처 설계
- Ephemeral Port 바인딩 및 Lockfile 기반 포트 관리로 CLI 클라이언트와 데몬 간의 Stateless 통신 구현
- navigator.webdriver 및 CDP 이벤트 유출을 차단하는 Patchright 포크 채택으로 봇 탐지 메커니즘 우회
- Cubic Bézier 경로 생성 및 Gaussian Jitter 적용을 통한 인간 유사 마우스 움직임 시뮬레이션
- Fitts's Law 기반의 거리/대상 크기별 이동 시간 계산 및 문자별 Log-normal 기반 타이핑 케이던스 구현
- QWERTY 인접 키 오타 및 수정 동작을 0.8% 확률로 삽입하는 인간 행동 레이어 구축
Key Takeaway
단순한 브라우저 자동화를 넘어 인풋 스트림의 통계적 특성(타이핑 간격, 마우스 가속도)까지 모사해야 고도화된 Anti-bot 시스템을 우회할 수 있으며, 상태 유지가 필요한 외부 도구 제어 시 RPC 기반 데몬 구조가 효과적임.
실천 포인트
- AI 에이전트의 세션 유지 필요 시 Stateless CLI와 Stateful Daemon 구조 검토 - 봇 탐지 우회 필요 시 WebDriver 플래그 제거 외에 입력 이벤트의 정량적 분포(Log-normal) 적용 - 마우스 이동 구현 시 단순 직선 이동이 아닌 Bézier Curve와 가속도 모델 적용 - 환경별 샌드박스 제약(root Linux vs macOS/Windows)에 따른 런타임 플래그 최적화