브라우저가 이미 샌드박스인데 왜 클라우드로 보내냐 — peerd가 던진 'AI 에이전트 신뢰 모델' 질문
핵심 요약 (TL;DR)
NotASithLord라는 솔로 빌더가 만든 peerd는 브라우저 확장 안에서 끝까지 도는 AI 에이전트입니다. "브라우저는 이미 세계 최고 수준의 샌드박스인데, 왜 별도 클라우드 서버에 다시 짓고 있냐"는 도발이 핵심입니다. BYOK·no backend·no telemetry 모토 아래, Cursor·Codex와는 다른 신뢰 모델을 제시합니다.
Codex CLI가 SSD를 망가뜨린 다음 주에 등장한 반대편 답안
바로 어제 화제가 된 사건이 있습니다. OpenAI Codex CLI가 무한 루프로 사용자 SSD에 수백 TB를 쓰던 버그였죠. "에이전트가 내 컴퓨터에서 도는 게 안전한가"가 다시 도마에 올랐습니다. 같은 주, 정반대 방향의 답안이 Show HN에 올라왔습니다. NotASithLord라는 GitHub 사용자가 "largely been a solo side project"라며 공개한 peerd입니다.
주장은 단순하고 강합니다. "브라우저는 이미 수십 년 동안 적대적 코드를 다루도록 단련된 샌드박스인데, 에이전트 회사들이 그걸 무시하고 자체 서버 인프라를 다시 짓고 있다." 그러지 말자는 거죠. peerd는 브라우저 확장 안에서 LLM 호출부터 도구 실행까지 끝까지 돕니다. 사용자의 API 키도, 코드도, 작업 결과도 외부 서버를 거치지 않습니다.
다섯 겹의 보안 경계 — '실행 위치'가 곧 신뢰의 경계
기술 스택을 뜯어보면 디자인 의도가 더 또렷해집니다. 런타임 격리는 CheerpX로 Linux VM을 브라우저 안에 띄우는 방식 + Web Workers + V8 isolates의 다중 격리입니다. 인증은 WebCrypto와 WebAuthn passkeys, 무결성은 Subresource Integrity로 잡습니다. UI는 일부러 React 대신 Mithril.js 단일 페이지로 가볍게 짰고, 빌드 스텝은 0입니다. vanilla JS에 JSDoc만 붙여 타입 체크합니다.
지원하는 모델 라우팅도 의도가 분명합니다. Anthropic Claude, OpenRouter, 로컬 Ollama, 실험적으로 WebGPU 위의 Gemma까지. 어떤 모델 벤더를 고르든 그 호출은 사용자 브라우저에서 직접 나갑니다. P2P 통신용으로 WebRTC가 프리뷰 채널에 들어 있고, 텔레메트리는 아예 없습니다. 6/24 기준 v0.1.4 릴리스에 GitHub 78커밋. Chrome Web Store와 Firefox AMO 심사는 대기 중이라 지금은 GitHub에서 unpack해 설치해야 합니다.
이 디자인이 던지는 메시지는 한 줄로 압축됩니다. 에이전트가 어디서 실행되는가가 곧 신뢰의 경계다. Cursor와 Claude Code, Codex CLI는 "내 로컬 머신에서 직접 도구를 실행한다"는 강력함을 주는 대신 시스템 권한이라는 위험을 짊어집니다. ChatGPT 같은 클라우드 에이전트는 그 반대로 "내 코드를 OpenAI 서버에 통째로 올린다"는 신뢰 비용을 요구합니다. peerd는 "브라우저 샌드박스 안에서만 산다"는 제3의 영역을 주장합니다.
브라우저 에이전트는 정말 더 안전한가
물론 "브라우저가 더 안전하다"는 명제는 무조건적이지 않습니다. 두 가지를 같이 봐야 합니다. 첫째, prompt injection은 브라우저 안에서도 똑같이 일어난다는 점입니다. 에이전트가 읽는 페이지에 숨겨진 지시어가 있으면 격리 수준과 무관하게 의도하지 않은 액션을 실행할 수 있습니다. 둘째, 확장 권한 모델 자체가 또 다른 공격 표면입니다. 어떤 도메인의 어떤 데이터를 읽을 수 있는지, 어떤 API를 호출할 수 있는지가 확장 선언에 다 노출됩니다. "브라우저 안"이 곧 "안전"이 아니라, 다른 종류의 신뢰 모델일 뿐입니다.
그래도 peerd가 도발하는 지점은 분명합니다. "왜 우리는 같은 작업을 위해 클라우드 인프라를 다시 짓고 거기에 신뢰 비용을 또 지불하는가"에 대한 질문이죠. 1인 개발자, 사내 데이터가 외부망을 안 타게 하고 싶은 인하우스 빌더, OpenAI·Anthropic 서버 로그에 자신의 코드가 남는 게 거슬리는 프라이버시 빌더 — 세 부류의 사용자에게 동시에 직격하는 선택지입니다.
바이브코더에게 이번 주가 갖는 의미
Cursor·Codex·Claude Tag(Anthropic이 같은 주에 Slack 채널에 띄운 multiplayer 에이전트) 같은 도구가 "AI가 더 깊이 들어와야 한다"는 방향이라면, peerd는 "AI가 더 작은 영역에서 살아야 한다"는 반대 방향입니다. 두 흐름은 충돌이 아니라 시장의 분기점입니다. 작업 surface는 넓혀가되, 실행 위치만큼은 사용자가 고를 수 있어야 한다는 합의가 자리 잡는 중이라고 보면 됩니다.
실제로 peerd를 한 번 띄워보고 싶다면 GitHub README의 "Load unpacked" 흐름을 따라가면 됩니다. 본인 Claude API 키를 직접 넣고, 로컬 Ollama로 빠지는 fallback을 같이 설정해두면 "내 키, 내 모델, 내 브라우저"라는 풀스택이 손에 들어옵니다. 격리 동작은 CheerpX VM 콘솔에서 직접 확인할 수 있고, 텔레메트리가 없다는 주장은 네트워크 탭에서 곧장 검증됩니다. 의심부터 확인까지 30분이면 충분합니다.
FAQ
Q. peerd를 어떻게 설치하나요
현재는 Chrome Web Store와 Firefox AMO 심사 대기 중이라, GitHub 저장소에서 코드를 받아 브라우저 확장 개발자 모드의 "Load unpacked"로 직접 띄워야 합니다. Bun 환경이면 README의 setup 한 줄이면 끝납니다.
Q. 브라우저 에이전트가 항상 더 안전한가요
격리 표면은 다르지만 "항상 더 안전"은 아닙니다. prompt injection, 확장 권한 모델, 의도하지 않은 도메인 접근 등 브라우저 고유의 공격 표면이 따로 있습니다. "클라우드 vs 로컬 vs 브라우저"는 안전성의 순위가 아니라 서로 다른 신뢰 모델로 보는 게 정확합니다.
Q. Cursor·Claude Code를 대체할 수 있나요
아직은 아닙니다. peerd는 v0.1.4 초기 단계고, IDE 통합·언어 서버·복잡한 멀티 파일 리팩터링 같은 영역에선 Cursor·Claude Code가 한참 앞섭니다. peerd가 강점을 갖는 건 "내 데이터/내 키가 외부 서버에 닿지 않게 하면서 가벼운 에이전트 작업을 돌리고 싶을 때"입니다.
실행 위치가 신뢰 모델의 새 축이라는 합의가 만들어진다면, 앞으로 "이 에이전트는 어디서 도나요"가 도구 선택의 첫 질문이 될 수 있습니다. peerd는 그 질문을 가장 깨끗하게 던진 첫 솔로 빌더의 답이고요.
댓글 0
아직 댓글이 없습니다