LLM에게 브라우저를 통째로 맡기다: Browser Harness

by DD
1개월 전
조회수 34

LLM에게 브라우저 제어 권한을 최대한 부여하여 기존 프레임워크의 제약 극복 시도

Chrome CDP(Chrome DevTools Protocol) 기반으로, LLM이 직접 브라우저 작업을 수행하도록 설계

자동 수정 기능(Self-Correction)과 동적 도구 추가(Dynamic Tool Addition)를 통해 유연성 확보

보안 취약점(Security Vulnerability) 및 OS 레벨 접근 권한에 대한 우려 제기

Browser Harness의 핵심 아키텍처

Browser Harness는 Chrome CDP(Chrome DevTools Protocol)를 활용하여 LLM에게 브라우저 제어 권한을 부여한다. 기존의 프레임워크 기반 접근 방식과 달리, LLM이 직접 브라우저의 DOM(Document Object Model)을 조작하고, 필요한 경우 자체적으로 도구를 생성(Tool Generation)하도록 설계되었다. 이는 LLM의 유연성을 극대화하지만, 안정성 확보(Stability)를 위해 다양한 예외 상황에 대한 처리와 Watchdog 메커니즘(Watchdog Mechanism)이 필수적이다.

Agentic Coding과 새로운 패러다임

본 시스템은 SKILL.md 파일과 Python 헬퍼(Python Helpers)를 결합하여 LLM이 브라우저 작업을 수행하도록 한다. 이는 'Agentic Coding'의 한 예시로, LLM이 도구를 활용하여 작업을 처리하는 방식이다. JSON 스키마(JSON Schema), MCP(Message Passing Concurrency), HTTP API 등 다양한 방식으로 도구를 정의할 수 있으며, 핵심은 LLM이 사용할 수 있는 도구(Tools)를 제공하는 것이다.

보안 취약점 및 안전성 문제

커뮤니티에서는 Browser Harness의 보안 취약점에 대한 우려가 제기되었다. 특히, LLM에게 브라우저 내 모든 권한을 부여하는 방식은 원격 코드 실행(Remote Code Execution)의 위험을 증가시킬 수 있다. 악의적인 프롬프트(Malicious Prompt)를 통해 시스템을 조작하거나, 개인 정보를 탈취하는 등의 공격이 가능할 수 있다. 따라서, 안전한 사용을 위해서는 데이터 미저장 정책(Zero-Retention Policy)과 같은 보안 조치가 필수적이다.

기존 솔루션과의 비교

Browser Harness는 Playwright MCP, agent-browser, Chrome Devtools MCP 등 기존의 브라우저 자동화 도구와 차별점을 가진다. 기존 도구들은 LLM에게 미리 정의된 함수를 제공하는 반면, Browser Harness는 LLM에게 최대 권한(Maximum Freedom)을 부여하여 다양한 작업을 수행할 수 있도록 한다. 하지만, 이러한 접근 방식은 오류 발생 시(Error Occurrence), LLM이 잘못된 판단을 내릴 가능성을 높일 수 있다.

Show HN: Browser Harness – Gives LLM freedom to complete any browser task