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
Native Messaging브라우저 확장 프로그램이 사용자 PC에 설치된 로컬 앱과 직접 메시지를 주고받을 수 있게 해주는 Chrome/Firefox 공식 기능. 확장이 로컬 파일 시스템이나 시스템 자원에 접근해야 할 때 사용한다.
MCPModel Context Protocol의 약자. AI 모델이 외부 도구(파일 시스템, API, 데이터베이스 등)와 표준화된 방식으로 연결되도록 Anthropic이 만든 프로토콜.
Native Messaging Bridge브라우저 확장과 로컬 앱 사이를 연결해주는 중간 다리 역할의 소프트웨어 컴포넌트. 앱 설치 시 OS 레벨에 manifest 파일 형태로 등록된다.
manifest 파일Native Messaging에서 '어떤 브라우저 확장이 이 로컬 앱과 통신할 수 있는지'를 OS에 알려주는 JSON 설정 파일. 앱 설치 시 특정 디렉토리에 자동으로 생성된다.
pre-authorized사용자가 명시적으로 허가하기 전에 미리 권한이 설정되거나 등록되는 것. 이번 논란에서는 Desktop 앱 설치만으로 브라우저 통신이 가능한 상태가 된다는 의미로 쓰였다.