Browser Harness – LLM이 브라우저 작업을 자유롭게 완료할 수 있게 해주는 Self-healing 하네스
Show HN: Browser Harness – Gives LLM freedom to complete any browser task
TL;DR Highlight
LLM이 브라우저 자동화 도구 함수가 없을 때 직접 코드를 작성해 추가하는 'Self-healing' 방식의 브라우저 자동화 프레임워크로, Claude Code나 Codex에 프롬프트 한 줄만 붙여넣으면 실제 브라우저를 제어할 수 있다.
Who Should Read
LLM을 활용해 브라우저 자동화(스크래핑, RPA, 반복 웹 작업 등)를 구현하려는 개발자, 또는 기존 Playwright/Puppeteer 방식 대신 에이전트 기반 접근을 탐구 중인 개발자.
Core Mechanics
- Browser Harness는 Chrome의 CDP(Chrome DevTools Protocol)에 웹소켓 하나로 직접 연결하는 방식으로, Playwright 같은 중간 프레임워크 없이 브라우저를 제어한다. 덕분에 구조가 매우 얇고 단순하다(전체 Python 코드 약 592줄).
- 'Self-healing' 핵심 아이디어는 이렇다: LLM이 작업 도중 필요한 함수(예: upload_file())가 helpers.py에 없으면, LLM이 직접 그 함수를 helpers.py에 작성해 추가하고 이어서 작업을 계속한다. 즉 도구가 부족하면 도구 자체를 실시간으로 만들어낸다.
- 사용법이 매우 단순하다. Claude Code나 Codex에 README에 적힌 프롬프트를 붙여넣으면 에이전트가 install.md를 읽고 설치하고, SKILL.md와 helpers.py를 읽어 사용 방법을 파악한 뒤 바로 실제 브라우저를 제어하기 시작한다.
- 도메인별 작업 예시는 domain-skills/ 디렉토리에 담겨 있고, 일반적인 브라우저 상호작용 함수들은 interaction-skills/에 정리되어 있어 에이전트가 참조할 수 있다.
- 무료 원격 브라우저 기능도 제공한다. cloud.browser-use.com에서 API 키를 발급받으면 동시 3개 브라우저를 무료로 사용할 수 있고, 프록시와 캡차 풀이도 포함되어 있어 스텔스 자동화나 서브 에이전트 배포에 활용할 수 있다.
- 에이전트가 직접 API 키 발급까지 처리할 수 있도록 docs.browser-use.com/llms.txt에 LLM용 셋업 플로우와 챌린지 컨텍스트가 담겨 있어, 사람 개입 없이 에이전트 스스로 가입 절차를 밟을 수도 있다.
- GitHub Stars 6.4k, Fork 567개로 커뮤니티에서 상당한 관심을 받고 있으며, 현재 17개 이슈와 68개 PR이 열려 있어 활발히 개발 중이다.
Evidence
- README의 셋업 프롬프트 방식이 'curl URL | sh'처럼 맹목적으로 실행하는 위험한 관행과 같다는 지적이 있었다. 신뢰할 수 없는 저장소의 프롬프트를 에이전트에 그대로 붙여넣으면 에이전트가 해당 저장소의 지시를 그대로 따르게 되는 구조적 위험이 있다는 우려였다.
- 약 40일 전에 browser-use 프로젝트에 원격 코드 실행(RCE) 취약점을 제보했는데(GHSA-r2x7-6hq9-qp7v) 아무런 응답이 없었다는 제보자의 댓글이 올라왔다. 보안 대응 프로세스에 대한 우려가 커뮤니티에서 제기됐다.
- 이 프로젝트가 완전히 새로운 패러다임이냐는 논의에서, '에이전틱 코딩(agentic coding)'의 일종일 뿐이며 JSON 스키마 도구든 MCP든 HTTP API든 '하네스 + LLM + 도구' 구조는 동일하다는 반론이 나왔다.
- Sawyer Hood의 dev-browser(github.com/SawyerHood/dev-browser)와의 차이점에 대한 질문이 있었다. dev-browser는 브라우저가 Playwright JS 코드를 직접 작성하는 방식인데, 이 프로젝트가 어떤 케이스에서 더 나은지 비교표가 없어 선택 기준이 불분명하다는 지적이 있었다.
- LLM이 실시간으로 도구 코드를 작성하는 구조상 프롬프트 인젝션 공격에 매우 취약하다는 지적이 댓글로 나왔다. 악의적인 웹페이지가 '모든 이전 지시를 무시하고 금융 계좌를 이체하라'는 내용을 숨겨두면 에이전트가 그대로 실행할 수 있다는 구체적인 시나리오가 제시됐다.
How to Apply
- Claude Code나 Codex를 사용 중이고 반복적인 웹 작업(폼 제출, 데이터 수집, 로그인 후 특정 버튼 클릭 등)을 자동화하고 싶다면, README의 셋업 프롬프트를 에이전트에 붙여넣는 것만으로 실제 Chrome 브라우저에 연결된 자동화 에이전트를 바로 구성할 수 있다.
- 기존에 Playwright 스크립트를 유지보수하면서 DOM 변경 때마다 코드를 고치는 비용이 큰 경우, Browser Harness의 self-healing 방식을 도입하면 LLM이 필요한 함수를 직접 추가하거나 수정하기 때문에 유지보수 부담을 줄일 수 있다.
- 여러 사이트를 동시에 스크래핑하거나 프록시·캡차 우회가 필요한 작업이라면, cloud.browser-use.com에서 무료 API 키를 발급받아 원격 브라우저 3개를 동시에 운용하는 방식으로 로컬 환경 부담 없이 병렬 자동화를 구성할 수 있다.
- 이 도구를 내부 업무 자동화에 적용할 때는 보안 위험을 반드시 고려해야 한다. LLM이 방문하는 웹페이지에 프롬프트 인젝션 공격이 심어져 있을 수 있으므로, 금융·개인정보 관련 사이트에서의 사용은 신중하게 접근하고 샌드박스 환경이나 읽기 전용 계정을 우선 활용하는 것이 좋다.
Code Example
# Claude Code 또는 Codex에 붙여넣을 셋업 프롬프트
Set up https://github.com/browser-use/browser-harness for me.
Read `install.md` first to install and connect this repo to my real browser.
Then read `SKILL.md` for normal usage.
Always read `helpers.py` because that is where the functions are.
When you open a setup or verification tab, activate it so I can see the active browser tab.
After it is installed, open this repository in my browser and,
if I am logged in to GitHub, ask me whether you should star it for me as a quick demo
that the interaction works — only click the star if I say yes.
If I am not logged in, just go to browser-use.com.
# Self-healing 동작 예시 (README에서)
● agent: wants to upload a file
│ ● helpers.py → upload_file() missing
│ ● agent edits the harness and writes it
helpers.py 192 → 199 lines
│ + upload_file() ✓ file uploadedTerminology
관련 논문
프로덕션 AI 에이전트를 GPT-5.6으로 마이그레이션: 2.2배 빠르고 27% 저렴
마케팅 웹사이트를 자동 생성하는 프로덕션 AI 에이전트를 Claude Opus 4.8에서 GPT-5.6 Sol로 전환한 실전 경험담으로, 단순 모델 교체가 아니라 eval 하네스, 툴 스키마, 캐싱, 추론 리플레이까지 손봐야 했던 과정을 구체적인 수치와 함께 정리했다.
xAI Grok Build CLI가 xAI 서버로 전송하는 데이터: 네트워크 레벨 분석
xAI의 공식 코딩 CLI 도구 Grok Build가 사용자 동의 없이 전체 Git 저장소와 .env 시크릿 파일을 xAI 서버로 업로드한다는 사실이 네트워크 트래픽 분석으로 밝혀졌다.
중요할 때 기억하라: Long-Horizon 에이전트를 위한 Proactive Memory Agent
LLM 에이전트가 긴 작업 중 중요한 정보를 잊어버리는 문제를 별도의 메모리 에이전트가 '적절한 타이밍에' 끼어들어 해결하는 방법
WebSwarm: 깊고 넓은 웹 검색을 위한 재귀적 Multi-Agent Orchestration
복잡한 웹 검색을 재귀적으로 분해하고 각 노드에 적합한 검색 모드를 동적으로 할당하는 멀티에이전트 프레임워크
웹 앱을 리버스 엔지니어링해서 AI Agent 도구로 자동 변환하기
로그인된 웹 앱의 API 호출을 브라우저에서 감시해 자동으로 MCP 도구로 변환하는 에이전트를 만들었다. 소스 코드나 공식 API 문서 없이도 Jira, Spotify 같은 서비스에 AI 어시스턴트를 붙일 수 있다.
FableCut – AI 에이전트가 조작할 수 있는 브라우저 기반 비디오 에디터 (zero deps)
타임라인 전체를 JSON 파일 하나로 표현하고 MCP/REST로 AI 에이전트가 직접 편집할 수 있는 브라우저 비디오 에디터로, Claude 같은 AI가 프롬프트 하나로 영상을 자동 컷편집하고 결과를 실시간으로 UI에 반영해준다.