Comet AI 브라우저, 아무 웹사이트에서 prompt injection으로 은행 계좌까지 털릴 수 있다
Comet AI browser can get prompt injected from any site, drain your bank account
TL;DR Highlight
Brave의 AI 브라우저 Comet이 프롬프트 인젝션에 취약해 악성 사이트가 LLM을 조종하여 사용자의 이메일 열람·송금 등 민감한 작업을 수행할 수 있다.
Who Should Read
LLM 기반 에이전트를 제품에 통합하려는 개발자, 또는 AI 브라우저·AI 이메일 클라이언트 같은 도구의 보안 아키텍처를 설계하는 엔지니어.
Core Mechanics
- Brave 브라우저의 AI 에이전트 기능 'Comet'이 웹페이지를 요약하거나 작업을 수행할 때, 해당 페이지에 숨겨진 악성 프롬프트를 그대로 실행해버리는 prompt injection 취약점이 발견됐다.
- Comet은 브라우저 탭 간 데이터 접근, 이메일 읽기, 폼 입력 등 광범위한 권한을 가지고 있어서, 공격자가 웹페이지 하나로 사용자의 이메일을 스캔하거나 송금을 시도하는 것이 가능하다.
- Google, OpenAI, Anthropic 같은 대형 업체들은 비슷한 기능을 제공할 때 쿠키 없는 격리된 VM에서 브라우저를 돌리는데, Comet은 사용자의 실제 브라우저 세션 위에서 직접 동작해서 근본적으로 위험하다.
- Brave는 블로그에서 이 취약점을 인정하면서도 '모델 정렬(alignment)로 위험한 작업을 감지하겠다'는 방향을 제시했는데, 커뮤니티에서는 모델이 항상 즉시 jailbreak 되는 현실을 볼 때 이런 접근은 무의미하다는 비판이 나왔다.
- 핵심 개념: LLM이 도구로 외부 데이터를 '읽는' 행위는 사실상 컨텍스트 윈도우에 '쓰기'를 허용하는 것과 같다. 신뢰할 수 없는 소스를 읽을 수 있으면, 그 소스가 LLM의 행동을 조종할 수 있다.
- USENIX Security 학회에서도 multi-turn/에이전트 환경에서의 prompt injection을 근본적으로 막는 방법은 아직 아무도 모른다는 것이 확인됐다. 학계에서도 미해결 문제다.
- 비슷한 취약점이 AI 이메일 클라이언트(Shortwave 등)에서도 발견됐고, 'Month of AI Bugs' 프로젝트에서 유사 사례들이 계속 수집되고 있다.
- 실제 Comet을 써본 사용자가 '아마존에서 기타 사줘'라고만 했더니, 아무런 확인 없이 저가 노브랜드 기타 3개를 장바구니에 담아버렸다는 경험담이 공유됐다. 다행히 결제까지는 안 갔지만, 에이전트의 무분별한 행동이 문제.
Evidence
- Google·OpenAI·Anthropic이 같은 기능을 안 내놓은 데는 이유가 있다는 의견이 많았다. 이들은 웹 브라우징 시 쿠키 없는 격리 VM을 쓰는데, Comet은 사용자 세션을 그대로 노출시킨다는 점에서 '근본적으로 unsafe'라는 공감대가 형성됐다.
- 'LLM이 도구로 읽는 모든 행위는 컨텍스트 윈도우에 대한 쓰기'라는 프레임이 큰 호응을 얻었다. 신뢰할 수 없는 소스를 읽을 수 있는 것 자체가 공격 벡터라는 설명으로, 에이전트 보안의 핵심 원칙으로 자주 인용됐다.
- 에이전트 AI는 git처럼 쉽게 롤백 가능한 작업(코드 작성·수정)에만 써야지, 웹 브라우징·송금·이메일처럼 되돌릴 수 없는 작업에 쓰는 건 미친 짓이라는 의견이 있었다.
- Brave 블로그에서 제안한 '브라우저가 사용자 지시와 웹사이트 콘텐츠를 구분', '모델이 사용자 의도에 맞는지 확인' 같은 대책에 대해, 모델이 출시되자마자 jailbreak되는 현실을 고려하면 실효성이 없다는 비판이 강했다.
- 수십 년간 네트워크 레이어를 하나씩 암호화해왔는데(DNS까지), 이제 평문 API로 모든 비밀번호와 비밀을 넘기고 있다는 아이러니를 지적한 댓글이 있었다. Microsoft 스크린샷 논란 때는 난리였으면서 이건 괜찮은 건가라는 의문도 제기됐다.
How to Apply
- LLM 에이전트가 외부 콘텐츠(웹페이지, 이메일, 문서)를 읽는 기능을 구현할 때, 읽기 자체가 공격 벡터임을 전제하고 설계해야 한다. 외부 입력은 별도 컨텍스트로 격리하고, 민감한 도구(결제·이메일 전송 등) 호출 전에는 반드시 사용자 확인 단계를 넣어라.
- 에이전트에게 부여하는 도구 권한을 최소화하라. '웹페이지 요약' 기능에 이메일 접근·폼 입력·탭 간 데이터 공유 권한이 필요 없다. 작업별로 권한을 분리하고, 되돌릴 수 없는 작업(송금, 메시지 전송)은 별도 승인 플로우를 거치게 해라.
- 에이전트 기반 서비스를 설계할 때 'rollback 가능 여부'를 기준으로 자동화 범위를 정해라. 코드 변경(git reset 가능)은 자동화해도 되지만, 결제·이메일 발송·계정 설정 변경은 에이전트가 직접 실행하지 못하게 제한하는 게 안전하다.
- 프로덕션에서 AI 에이전트를 운영 중이라면 monthofaibugs.com을 정기적으로 확인해서 유사 취약점 패턴을 파악하고, 자사 서비스에 같은 공격이 가능한지 점검해라.
Terminology
관련 논문
adamsreview: Claude Code용 멀티 에이전트 PR 코드 리뷰 파이프라인
Claude Code에서 최대 7개의 병렬 서브 에이전트가 각각 다른 관점으로 PR을 리뷰하고, 자동 수정까지 해주는 오픈소스 플러그인이다. 기존 /review나 CodeRabbit보다 실제 버그를 더 많이 잡는다고 주장하지만 커뮤니티에서는 복잡도와 실효성에 대한 회의론도 나왔다.
Claude를 User Space IP Stack으로 써서 Ping에 응답시키면 얼마나 빠를까?
Claude Code에게 IP 패킷을 직접 파싱하고 ICMP echo reply를 구성하도록 시켜서 실제로 ping에 응답하게 만든 실험으로, 'Markdown이 곧 코드이고 LLM이 프로세서'라는 아이디어를 네트워크 스택 수준까지 밀어붙인 재미있는 사례다.
AI Agent를 위한 Git: re_gent
AI 코딩 에이전트(Claude Code 등)가 수행한 모든 툴 호출을 자동으로 추적하고, 어떤 프롬프트가 어느 코드 줄을 작성했는지 blame까지 가능한 버전 관리 도구다.
Agent-Native CLI를 위한 설계 원칙 10가지
AI 에이전트가 CLI 도구를 더 잘 사용할 수 있도록 설계하는 원칙들을 정리한 글로, 에이전트가 CLI를 도구로 활용하는 빈도가 높아지면서 이 설계 방식이 실용적으로 중요해지고 있다.
Agent-harness-kit: MCP 기반 멀티 에이전트 워크플로우 오케스트레이션 프레임워크
여러 AI 에이전트가 서로 역할을 나눠 협업할 수 있도록 조율하는 scaffolding 도구로, Vite처럼 설정 없이 빠르게 멀티 에이전트 파이프라인을 구성할 수 있다.
Tilde.run – AI Agent를 위한 트랜잭션 기반 버전 관리 파일시스템 샌드박스
AI 에이전트가 실제 프로덕션 데이터를 건드려도 롤백할 수 있는 격리된 샌드박스 환경을 제공하는 도구로, GitHub/S3/Google Drive를 하나의 버전 관리 파일시스템으로 묶어준다.