브라우저는 샌드박스다

1 week ago 7

  • 웹 플랫폼 개발자 Paul Kinlan코딩 에이전트를 위한 안전한 실행 환경으로서 브라우저의 가능성을 탐구함
  • 그는 브라우저가 이미 신뢰할 수 없는 코드를 실행하기 위한 강력한 샌드박스 구조를 갖추고 있다고 지적함
  • 이를 검증하기 위해 Co-do라는 데모를 제작, 브라우저 내에서 파일 접근·네트워크 통신·코드 실행을 모두 실험함
  • Co-do는 File System Access API, CSP 헤더와 <iframe sandbox> , WebAssembly in Web Workers를 활용함
  • 브라우저가 로컬 컨테이너 없이도 AI 에이전트 실행 환경으로 발전할 수 있음을 보여주는 사례임

브라우저를 샌드박스로 보는 관점

  • Google의 Paul Kinlan은 코딩 에이전트의 실행을 위해 강력한 샌드박스 환경이 필요하다고 판단함
    • 그는 브라우저가 지난 30년간 악성 코드나 신뢰할 수 없는 코드를 안전하게 실행하기 위해 발전해온 플랫폼임을 강조함
    • 이러한 특성이 에이전트 실행 환경으로서 브라우저를 활용할 수 있는 근거가 됨

브라우저 기반 샌드박스의 세 가지 핵심 요소

  • Kinlan은 샌드박스의 세 가지 핵심 요소로 파일 시스템 접근, 네트워크 접근 제어, 안전한 코드 실행을 제시함
    • File System Access API는 브라우저에서 로컬 파일을 다루는 기능을 제공하며, 현재는 Chrome 전용으로 알려짐
    • CSP(Content Security Policy) 헤더<iframe sandbox> 속성을 통해 네트워크 접근을 제어할 수 있음
    • WebAssemblyWeb Workers를 이용하면 격리된 환경에서 코드를 실행할 수 있음

Co-do 데모의 구성과 기능

  • Kinlan의 아이디어를 검증하기 위해 Co-do라는 데모 애플리케이션이 제작됨
    • 사용자는 폴더를 선택하고 LLM 제공자API 키를 설정함
    • Co-do는 CSP 승인 API 호출을 통해 LLM과 상호작용하며, 파일과 대화할 수 있는 채팅 인터페이스를 제공함
    • 이 구조는 Claude Cowork와 유사하지만, 대용량 로컬 컨테이너 없이 브라우저만으로 실행됨

<iframe sandbox>와 보안 기술의 한계

  • <iframe sandbox>의 문서화 부족이 주요 문제로 지적됨
    • 브라우저별 구현 차이가 크며, 관련 자료가 부족함
    • Kinlan은 이중 iframe(double-iframe) 기법을 통해 내부 프레임에 네트워크 규칙을 적용하는 방법을 제시함

추가 발견 및 실험

  • <input type="file" webkitdirectory> 속성이 Firefox, Safari, Chrome 모두에서 작동함이 확인됨
    • 이를 통해 브라우저가 전체 디렉터리의 읽기 전용 접근을 수행할 수 있음
    • 이를 시험하기 위해 webkitdirectory 데모가 제작되었으며, 향후 프로젝트에서도 활용 예정임

결론

  • 브라우저는 이미 보안 격리와 코드 실행을 위한 완성도 높은 플랫폼으로 발전해 있음
  • Co-do 사례는 브라우저가 AI 코딩 에이전트의 실행 환경으로 확장될 수 있음을 보여주는 실험적 증거임

Read Entire Article