Anthropic Claude Desktop 앱이 사전 고지 없이 Native Messaging Bridge를 설치한다는 논란
Anthropic's Claude Desktop App Installs Undisclosed Native Messaging Bridge
TL;DR Highlight
Claude Desktop 앱을 설치하면 사용자 동의 없이 브라우저와 로컬 앱 간 통신을 가능하게 하는 Native Messaging Bridge가 함께 설치된다는 보안 우려가 제기됐고, 커뮤니티에서는 이게 실제로 문제인지를 두고 의견이 갈렸다.
Who Should Read
Claude Desktop 앱을 사용 중이거나 MCP(Model Context Protocol) 기반 로컬 AI 도구를 개발 중인 개발자, 또는 브라우저 확장 보안에 관심 있는 개발자.
Core Mechanics
- Claude Desktop 앱을 설치하면 사용자에게 명시적으로 알리지 않고 Native Messaging Bridge가 함께 설치된다는 주장이 제기됐다. Native Messaging이란 브라우저 확장 프로그램이 로컬 컴퓨터에 설치된 앱과 직접 통신할 수 있게 해주는 브라우저 공식 메커니즘이다.
- Native Messaging은 앱 쪽에서 manifest 파일을 통해 '어떤 확장이 나와 통신할 수 있는지'를 선언하는 방식으로 동작한다. Claude Desktop이 이 manifest를 설치해두면, 나중에 Claude 브라우저 확장을 설치했을 때 로컬 앱과 자동으로 연결될 준비가 된다.
- 이 방식은 Claude의 MCP(Model Context Protocol) 기능과 연관이 있다. 로컬에 설치된 Claude가 MCP를 통해 다양한 외부 도구나 네트워크 자원에 접근하고 있는 경우, 브라우저도 이 로컬 Claude와 통신하려면 Native Messaging이 필요하다.
- 논란의 핵심은 '사전 고지(disclosure) 없이' 설치됐다는 점이다. 실제로 브라우저 확장을 설치할 때 'Communicate with cooperating native applications'라는 권한 팝업이 뜨긴 하지만, Desktop 앱 설치 시점에 이 bridge가 깔린다는 사실은 별도로 안내되지 않는다.
- 반론도 있다. Native Messaging 자체는 Chrome, Firefox 등이 공식 지원하는 표준 메커니즘이며, 브라우저 확장 설치 시 권한 팝업이 명시적으로 표시되기 때문에 '완전히 비공개'라고 보기 어렵다는 시각도 존재한다.
- 원문 페이지는 Vercel 보안 체크포인트로 막혀 있어 직접 확인이 어렵고, HN에서는 이 글이 한 차례 플래그 처리됐다가 복구된 정황도 있다. 총 125 upvote, 34개 댓글이 달린 이전 스레드도 존재한다.
Evidence
- Native Messaging의 동작 방식을 잘 아는 개발자들은 '이건 별 문제 없다(nothing-burger)'는 입장이었다. 앱이 manifest로 선언하고, 사용자가 브라우저 확장 설치 시 권한 팝업을 명시적으로 승인해야 하기 때문에 완전히 숨겨진 동작이 아니라는 것이다.
- 반면 브라우저 확장 권한 팝업이 실제로 사용자에게 의미 있게 전달되는지 자체가 의문이라는 지적도 있었다. 대부분의 사용자는 권한 팝업을 제대로 읽지 않고 수락한다는 점에서 '동의했다'고 보기 어렵다는 반론이었다.
- 한 개발자는 브라우저 기반 도구를 만들면서 로컬 Claude 및 MCP와 통신하는 방법을 찾다가 처음엔 로컬 프록시를 썼지만 보안 검토를 통과하기 어려웠고, 이번 주에야 Native Messaging이라는 공식 대안이 있다는 걸 알게 됐다고 공유했다. 고지 없이 설치하는 건 문제라는 데는 동의하면서도 기술 자체는 유용하다고 평가했다.
- 'Google Chrome도 사용자 몰래 다양한 것들을 설치하는데 왜 Anthropic만 문제 삼냐'는 비교 댓글도 있었다. 이는 사실상 업계 관행에 대한 냉소적 시각이었다.
- 이번 사건을 계기로 'Anthropic이 스스로 표방하는 안전·윤리 기업 이미지와 실제 행동이 다를 수 있다'는 의구심을 표명하는 댓글도 있었다. 기대치가 높은 만큼 실망도 크다는 반응이었다.
How to Apply
- Claude Desktop을 설치한 상태라면 OS의 Native Messaging 호스트 목록을 확인해볼 수 있다. macOS 기준 ~/Library/Application Support/Google/Chrome/NativeMessagingHosts/ 또는 /Library/Google/Chrome/NativeMessagingHosts/ 경로에서 Claude 관련 manifest 파일이 있는지 직접 확인하면 어떤 확장과의 통신이 사전 등록됐는지 파악할 수 있다.
- 브라우저와 로컬 AI 앱 간 통신이 필요한 도구를 개발 중이라면, 임의 로컬 프록시 서버 대신 Native Messaging을 공식 채널로 고려할 수 있다. 다만 설치 시 사용자에게 명시적으로 안내하는 UX를 반드시 포함해야 보안 리뷰와 신뢰 문제를 피할 수 있다.
- 기업 환경에서 Claude Desktop을 사용하거나 배포할 계획이라면, 앱 설치 시 Native Messaging Bridge가 함께 등록된다는 점을 보안 정책 검토 항목에 포함시켜야 한다. 특히 브라우저 확장 권한 정책을 엄격하게 관리하는 조직이라면 사전 점검이 필요하다.
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를 하나의 버전 관리 파일시스템으로 묶어준다.