AX LABS
← 블로그 에이전트 제품 설계

로그인 에이전트는 가둬야 쓴다

권한보다 격리가 먼저인 브라우저 설계

현장에서 SaaS 조작 에이전트를 검토하면 질문이 늘 비슷하게 흐른다. 이 에이전트가 메일을 읽어도 되는가. ERP 화면을 클릭해도 되는가. 결재 초안을 저장해도 되는가. 그런데 정작 더 중요한 질문은 뒤로 밀린다. 이 에이전트가 로그인된 브라우저 안에서 어디까지 나갈 수 있는가.

OpenAI의 ChatGPT agent는 가상 브라우저 창의 스크린샷을 보고 웹 페이지와 상호작용한다고 설명한다. Anthropic도 브라우저 사용 AI의 가장 큰 위험을 웹사이트, 이메일, 문서 안의 숨은 prompt injection이 의도하지 않은 행동을 유도하는 문제로 적고 있다. 더 중요한 문장은 따로 있다. 민감정보 출력 필터는 보안 경계가 아니라는 설명이다. (help.openai.com)

문제는 모델 성능이 아니라 세션의 폭발 반경이다

로그인 전 에이전트는 검색 자동화다. 로그인 후 에이전트는 대리 행위자다. 같은 브라우저라도 의미가 바뀐다. CRM, 그룹웨어, 비용정산, 전자계약, 클라우드 콘솔은 모두 사람의 권한을 빌려 열린다.

따라서 SaaS 조작 에이전트의 보안 설계는 프롬프트로 시작하지 않는다. 세션을 어디에 띄우고, 네트워크를 어디로만 열고, 자격증명을 누가 보유하는지부터 정해야 한다.

로그인된 에이전트의 안전성은 답변 품질이 아니라 격리된 실행환경, 제한된 egress, 노출되지 않는 credential로 결정된다.

Anthropic은 2026년 5월 Claude containment 글에서 Cowork의 full-VM 구조를 설명했다. VM은 별도 Linux kernel, filesystem, process table을 갖고, 사용자가 선택한 workspace와 .claude 폴더만 mount한다. credential은 host keychain에 남고 guest machine으로 들어가지 않는다. (anthropic.com)

세 가지 경계가 한 세트로 움직여야 한다

Authenticated computer-use containment는 세 기능을 따로 사는 문제가 아니다. 세션 단위 운영 단위로 묶어야 한다.

경계 설계 원칙 실패하면 생기는 일
브라우저 VM 작업마다 격리된 브라우저와 파일시스템을 만든다 로컬 파일, 쿠키, 이전 작업 흔적이 섞인다
세션별 egress allowlist 해당 업무에 필요한 host만 연다 prompt injection이 외부 수신지로 데이터를 보낸다
credential shadowing 비밀값은 host나 vault가 보유하고 agent에는 주지 않는다 모델 context, 로그, 화면, stdout에 secret이 남는다

Claude Cowork 문서는 agent egress allowlist가 agent의 web-fetch와 shell tool이 도달할 수 있는 host를 제어한다고 설명한다. 이 구조가 중요한 이유는 단순하다. SaaS 업무는 보통 여러 화면을 오가지만, 실제로 필요한 destination은 업무별로 좁다. 비용정산 봇에 코드 저장소, 개인 메일, 임의 webhook까지 열어둘 이유가 없다. (claude.com)

최근 연구도 같은 방향을 가리킨다. Silent Egress 논문은 출력 기반 안전장치보다 domain allowlisting과 redirect-chain analysis 같은 시스템·네트워크 계층 통제가 더 효과적이라고 정리한다. 이 주장은 현장 설계와 맞다. 모델에게 유출하지 말라고 말하는 것보다, 유출할 길을 없애는 편이 운영 통제다. (arxiv.org)

Credential shadowing은 자동입력이 아니라 비밀 분리다

credential shadowing은 에이전트가 비밀번호를 모르게 만드는 설계다. 사용자는 vault나 host에서 승인한다. 브라우저에는 로그인 결과만 생긴다. agent는 입력 필드가 채워진 상태와 세션 쿠키의 효과를 볼 뿐, 원문 credential을 읽거나 복사하지 못한다.

1Password와 Browserbase는 2025년 10월 Secure Agentic Autofill을 발표했다. 목적은 agent가 기존 credential store에 안전하게 접근하되 보안 체계를 복제하지 않게 하는 것이다. 1Password는 2026년 Unified Access에서도 AI browser와 agent workflow가 secrets를 just-in-time, least-privilege, audit trail 기반으로 쓰는 방향을 제시했다. (browserbase.com)

여기서 핵심은 편의가 아니다. 감사 가능성이다. 누가 어떤 SaaS credential을 어느 agent session에 허용했는지 남아야 한다. 사고가 나면 prompt transcript만으로는 부족하다. VM image, browser trace, egress log, vault approval, SaaS audit log가 같은 session id로 묶여야 한다.

Cloudflare의 Browser Run은 2026년 4월 AI agent용 브라우저 기능을 설명하며 Web Bot Auth 기반 signed agent와 distinct bot ID를 언급했다. agent traffic이 사람 트래픽 흉내를 내는 단계에서 벗어나, 식별 가능한 행위자로 다뤄지는 흐름이다. (blog.cloudflare.com)

AX Ops는 에이전트를 배포하지 않고 운전구역을 만든다

AX LABS가 이 주제를 agent-design으로 보는 이유는 명확하다. SaaS 조작 에이전트는 기능 명세보다 운전구역 명세가 먼저다. 어떤 화면을 클릭할지가 아니라, 어떤 세션에서 어떤 host로만 나가고 어떤 credential을 shadow 처리할지가 제품의 뼈대다.

도입 전 의사결정 표는 간단해야 한다.

  1. 업무별 session profile을 정의한다.
  2. SaaS별 egress allowlist를 최소 단위로 작성한다.
  3. credential은 vault·host 보관을 기본값으로 둔다.
  4. high-impact action은 human approval과 audit event로 묶는다.
  5. browser trace와 SaaS audit log를 같은 작업 ID로 남긴다.

이 설계 없이 PoC를 열면 에이전트는 빨리 움직인다. 운영은 늦게 무너진다. AX Ops의 역할은 반대다. 처음부터 느리게 보이는 경계를 박고, 그 안에서 반복 가능한 속도를 만든다.

참고

SaaS 에이전트를 운영에 올릴 계획이라면 먼저 격리·egress·credential 경계를 설계해야 한다. AX Ops 방법론 →