클라우드 브라우저 에이전트가 비밀번호를 요구하는 것에 지쳐서, 오픈 소스 로컬 우선 대안(Docker + AX tree)을 만들었습니다
요약
클라우드 기반 브라우저 에이전트가 요구하는 비밀번호 및 자격 증명 전달 문제를 해결하기 위해, 오픈 소스 로컬 우선 대안인 Brotto를 개발했습니다. 이 에이전트는 사용자의 로컬 Chrome 탭에서 실행되며, CDP와 접근성(AX) 트리를 활용해 보안성을 높였습니다.
핵심 포인트
- 로컬 확장 프로그램으로 작동하여 자격 증명 전달 과정이 없습니다.
- 스크린샷 대신 접근성 트리 파싱을 사용하여 정확도를 높였습니다.
- 결제/삭제 등 되돌릴 수 없는 조치 전 사용자 승인을 받습니다 (Gate 01).
- 모든 기록은 로컬 디스크에 저장되어 보안성이 강화되었습니다.
여러분 안녕하세요. 제가 브라우저 자동화 에이전트를 테스트해 볼 때마다 거의 항상 같은 실패 모드를 보였습니다. 바로 데이터 센터의 원격 헤드리스 브라우저에서 실행된다는 것입니다. 이 에이전트들을 실제 일상 업무 흐름(받은 편지함, 내부 관리 콘솔 또는 클라우드 포털)에 연결하려고 하면 로그인 장벽이나 봇 감지에 부딪힙니다. 무언가를 처리하려면 결국 사용자에게 세션 비밀번호나 2FA 코드를 제3자 서버에 넘겨달라고 요구하게 됩니다. 저는 제 자격 증명을 일회용으로 취급하지 않으면서 브라우저를 자동화하는 것을 원했습니다. 그래서 Brotto를 만들었습니다. 이는 사용자가 이미 로그인되어 있는 Chrome 탭 내부에서 실행되는 오픈 소스, 로컬 우선 에이전트입니다.
아키텍처 작동 방식:
- CDP를 통해 활성 탭 구동: 이 에이전트는 가벼운 로컬 오케스트레이터에 연결하는 로컬 확장 프로그램으로 작동합니다. 기존의 쿠키, SSO(Single Sign-On), MFA(Multi-Factor Authentication)는 사용자 로컬 브라우저 세션에 남아있으며, 자격 증명 전달 과정이 없습니다.
- 스크린샷 대신 접근성(AX) 트리: 비전 모델로 고해상도 스크린샷을 스트리밍하는 것(느리고, 비용이 많이 들며, 15픽셀 단위로 요소를 놓치는 경우가 많음) 대신, 브라우저의 접근성 트리를 파싱합니다. 이는 정확한 역할(roles), 레이블(labels), 안정적인 노드 ID를 대상으로 합니다.
- 세 가지 강력한 안전장치:
- 게이트 01: 되돌릴 수 없는 조치(결제, 이메일, 삭제 또는 승인되지 않은 도메인으로 이동)를 취하기 전에 중지하고 승인을 요청합니다. 이를 비활성화하는 설정은 없습니다.
- 게이트 02: 모든 관찰 기록, 프롬프트, 동작 및 타이밍이 원격 데이터베이스가 아닌 로컬 디스크의
logs/sessions/에 검사 가능한 JSON 레코드로 직접 작성됩니다. - 게이트 03: 요소가 오버레이로 인해 비활성화되거나 차단될 때, 좌표를 추측하거나 무한히 재시도하는 대신 구조적인 이유를 기록합니다.
- 자체 키 가져오기 (BYOK): 키는 활성 턴 동안 확장 프로그램 메모리에 엄격하게 보관되며 디스크나 서버에 절대 저장되지 않습니다. Anthropic, OpenAI, Gemini, DeepSeek, Groq 또는 Ollama와 같은 로컬 엔드포인트를 포함하여 8개의 제공업체를 지원합니다.
확인해 보세요 - https://brotto.dev submitted by /u/samguptataz [link] [comments]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/SelfHosted (AI filter)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기