pulse.huny.dev

HunyDev
Designing Safe Browser Agents

Designing Safe Browser Agents

안전한 에이전틱 브라우저 설계 원칙

Hun Jang
Hun Jang Dec 9, 2025

브라우저가 점점 “스스로 행동하는 에이전트”가 되면서, 편리함과 사고(파손·오남용) 사이의 경계가 얇아지고 있다. 여기서는 안전한 에이전트 UX를 위한 핵심 패턴을 한눈에 정리했다.

왜 지금 중요한가

  • 에이전트가 탭·쿠키·스토리지·클립보드·파일·네트워크 호출까지 자동화하면, 조금의 설계 실수가 데이터 유출·권한 오남용·금전적 손실로 직결된다.
  • 브라우저 환경은 탭 간 상호작용, 확장 프로그램, PWA, Service Worker, OPFS/IndexedDB 등 표면적이 넓음 → “의도치 않은 연결”이 특히 위험.

7가지 안전 설계 패턴 (핵심만)

  1. 스코프 격리(Scope Isolation)
      • “관찰(읽기) 스코프”와 “행동(쓰기/수정) 스코프”를 분리.
      • 탭/도메인/워크스페이스 단위로 컨텍스트를 쪼개고, 기본은 읽기 전용.
  1. 명시적 권한(Least Privilege & Time‑Bound)
      • 권한은 최소·단기·과업 한정(task‑scoped).
      • “세션 키”를 과업 종료 시 무효화, 장기 토큰 사용 금지.
  1. 휴먼‑인‑더‑루프(HITL) 체크포인트
      • 파괴적/코스트 발생/외부 송신 액션 전에는 확인 다이얼로그 의무.
      • “이 변경은 되돌릴 수 없습니다. diff 보기” 같이 차이/영향을 시각화.
  1. 동의 의식(Consent Rituals)
      • 민감 리소스(결제, 이메일 송신, 외부 업로드)는 반복 가능한 짧은 의식:
        • 예) 체크리스트(수신자·금액·첨부 목록) → 5초 지연 → 최종 확인 버튼.

  1. 샌드박스 실행과 드라이런(Dry‑Run)
      • 실제 쓰기 전 시뮬레이션 로그를 미리 제시(“이렇게 변경될 예정”).
      • 가능하면 가상 데이터/가상 결제로 리허설 플로우 제공.
  1. 가시성 높은 감시(Transparency & Trails)
      • 에이전트의 **행동 로그(무엇/언제/어디로/왜)**를 UI에서 상시 노출.
      • “되돌리기/롤백”을 1클릭으로. 변경 전후 diff, 파일 버전 유지.
  1. 정책·경계 규칙(Guardrails & Rate‑Limits)
      • 도메인·API·파일패스 허용목록(Allowlist)과 일일 상한(Rate‑limit).
      • 프롬프트 주입/클립보드 탈취 대응: 출처 태깅, 위험 토큰 필터.

UI 컴포넌트 예시(재사용 템플릿)

  • 권한 배지(Pill): [읽기 전용] · [파일 접근(폴더 A만)] · [결제: 비활성].
  • 행동 전 패널: 변경 대상 N건 · 예상 비용 · 외부 전송 도메인 목록.
  • 확인 모달: “수정 12건 · 삭제 2건 · 업로드 3건” + 상세 펼치기 + 5초 지연.
  • 실행 로그 도킹 패널: 최근 20개 액션과 되돌리기 버튼.
  • 샌드박스 토글: Dry‑Run ↔ 실제 실행 전환 스위치(기본은 Dry‑Run).

안전 기본값(Default‑Secure) 체크리스트

  • 기본은 읽기 전용 + Dry‑Run.
  • 외부 전송·결제·삭제는 이중 확인 + 지연 클릭.
  • 세션 만료시간·1회용 토큰·도메인 허용목록 필수.
  • 모든 쓰기 액션은 원자적 롤백 가능(버전·스냅샷).
  • 로그는 사용자 가시성을 전제로 설계(숨김 아님).

브라우저/웹앱 환경에서의 구체 팁

  • OPFS/IndexedDB: 민감 데이터는 암호화 + 네임스페이스 분리.
  • Service Worker: 네트워크 프록시 역할의 허용목록 라우팅 적용.
  • Clipboard/API 호출: 사용자 제스처 기반 트리거만 허용, 자동 호출 금지.
  • 확장 프로그램/에이전트: content‑script 권한을 도메인 단위로 최소화.

“개발 모드”와 “프로덕션 모드”를 다르게

  • Dev: 진단 로그 상세·가짜 결제·가짜 웹훅.
  • Prod: 최소 로그(개인정보 마스킹) + 민감 액션 전 리추얼 강제.

셀바스 AI·개인 프로젝트에 바로 적용하기(예)

  • 메모/파일 전송 도구: 외부 공유 전 이메일/도메인 리스트를 인증 뱃지로 표시 → “5초 지연 + 최종 확인”.
  • TTS/VC 배포 콘솔: 모델 교체는 Dry‑Run로 “추론 성능 변동 예측” 제시 → 롤백 스냅샷 자동 생성.
  • Cloudflare Worker/Analytics Engine: 데이터 전송 도메인/라우트 허용목록화 + 초당/일일 제출 제한.
 

You might also like

BlogPro logo
Made with BlogPro