Claude Desktop이 알리지 않고 설치하는 Native Messaging 브릿지
Anthropic's Claude Desktop App Installs Undisclosed Native Messaging Bridge
TL;DR Highlight
Claude Desktop(macOS)이 미설치 Chromium 브라우저용 확장 사전 승인 파일까지 깔았다
Who Should Read
Claude Desktop과 브라우저 확장을 업무에 쓰며 로컬 앱의 보안 설정이 걱정되는 개발자
Core Mechanics
- Claude Desktop이 사전 승인 파일을 깐다
- macOS용 Claude Desktop이 com.anthropic.claude_browser_extension.json 파일을 만든다.
- 이 파일은 Claude 브라우저 확장을 포함한 Chromium 확장 ID 3개를 미리 승인한다.
- 설치 안 된 브라우저용 파일도 만든다
- 이 파일은 Chromium 계열 브라우저가 설치돼 있지 않아도 만들어진다.
- 나중에 그런 브라우저를 설치하면 사전 승인된 확장이 로컬 바이너리와 통신할 수 있다.
- Native Messaging은 로컬 실행 파일 다리다
- Native Messaging(브라우저 확장이 PC의 실행 파일과 메시지를 주고받는 기능)은 사용자 OS 권한으로 실행되며 브라우저 샌드박스 밖에 있다.
- 그래서 확장이 페이지 읽기, 폼 자동 입력, 화면 캡처, 인증된 세션 활용을 할 수 있다고 한다.
- 프롬프트 인젝션 수치가 함께 언급됐다
- 기사는 Anthropic의 안전 지표로 프롬프트 인젝션 취약률이 완화책 없을 때 23.6%, 현재 대응 적용 시 11.2%라고 적었다.
- 인젝션이 성공하면 확장을 거쳐 로컬 브리지로 번질 수 있어서 중요하다는 설명이다.
- 발견자와 법적 쟁점이 있다
- 보안 연구자 Alexander Hanff가 이 파일을 발견했고 Noah Kenney가 독립적으로 검토했다.
- Hanff는 ePrivacy Directive 5조 3항 위반 가능성을 제기했다.
Community Reactions
- 이건 별일 아니라는 의견
- 댓글에서 Native Messaging은 원래 앱이 매니페스트로 확장과의 통신을 선언하는 방식이라는 의견이 나왔다.
- 사용자가 확장을 직접 설치하고 "Communicate with cooperating native applications" 권한 팝업을 승인해야 하므로 비공개는 아니라는 주장이다.
- 직접 써 본 개발자의 경험
- 댓글 작성자는 브라우저가 로컬 Claude와 통신하게 하려고 자체 프록시를 만들었다가 보안 심사를 통과 못 할 것 같았다고 했다.
- 대안으로 Native Messaging을 알게 됐고, 무해한 방식이지만 고지 없이 설치하는 건 나쁘다는 의견이다.
- 다른 회사도 마찬가지라는 반응
- Chrome도 비슷한 걸 설치하는데 아무도 신경 안 쓴다는 댓글이 있었다.
- Anthropic이 말처럼 윤리적이지 않은 것 같다는 의견도 있었다.
How to Apply
- 내 Mac의 Native Messaging 매니페스트 확인하기
- 오늘 터미널에서 ~/Library와 /Library 아래 NativeMessagingHosts 폴더의 json 파일을 나열해 본다.
- 모르는 파일은 만든 앱을 확인한 뒤 필요 없으면 삭제한다.
- 브라우저 확장 권한 점검하기
- 설치된 확장 중 Native Messaging 권한이 있는 것을 찾는다.
- 모르는 확장 ID는 차단하거나 직접 승인한 확장만 남긴다.
- 로컬 브리지를 만들 땐 런타임 동의 넣기
- 자기 서비스에서 브라우저와 로컬 실행 파일을 잇는다면 첫 연결 때 사용자에게 명시적 동의를 받는다.
- 허용할 확장 ID를 최소한으로 고정하고 설치 문서에 공개한다.
Try It
# 터미널(macOS)에 붙여넣기: Native Messaging 매니페스트 목록과 허용 확장 ID 확인
for d in "$HOME/Library/Application Support"/*/NativeMessagingHosts "/Library/Google/Chrome/NativeMessagingHosts" "/Library/Application Support"/*/NativeMessagingHosts; do
[ -d "$d" ] && echo "== $d" && ls -l "$d"
done
find "$HOME/Library" /Library -name 'com.anthropic.claude_browser_extension.json' 2>/dev/null | while read f; do
echo "-- $f"; cat "$f"
doneTerminology
관련 논문
WhatsApp 도움말 페이지에 숨겨진 LLM 지시문: 규제기관을 추천하지 말라
WhatsApp 도움말에 화면엔 안 보이는 AI 지시문 102개가 숨어 있었다
같은 시뮬레이션, 다른 근거: 도구 출력을 파일로 넘기면 LLM 에이전트 정확도가 어디서 깎이나
긴 툴 출력을 파일로 넘기자 GPT-5.1은 정확도 11.3%p 하락, 정식 출력 지정하니 회복
가짜 뉴스가 진짜 폭락을: LLM 트레이딩 에이전트 대상 정보 주입 공격
가짜 헤드라인 한 줄로 LLM 트레이딩 에이전트 62%를 조종했다(프롬프트 주입은 14%)
Harness Engineering 101: LLM은 뇌, harness는 몸
에이전트는 JSON 배열을 관리하는 루프이고, 16개 챕터로 직접 만들어 본다
Harness²: 에이전트 harness를 스스로 고쳐 쓰는 재귀 최적화 프레임워크
모델은 고정하고 harness를 재귀로 고쳤더니 벤치마크 점수가 최대 11.8%p 올랐다
Ask HN: 이해 못 하는 AI 작성 코드를 배포할 때 어떻게 하나
설계는 내가, 구현은 LLM이: 이해 못 하는 코드를 다루는 개발자들의 방법
해고된 Savannah 경찰관, ICE 요원 남편에게 Flock 계정 공유
경찰관이 Flock 계정을 남편(ICE 요원)에게 공유했고, 감사에서 983건 검색이 드러나 해고됐다
tmux와 Claude Code: 세션, send-keys, 그리고 한계선
tmux로 Claude Code 여러 개를 돌리면 편하지만 에이전트 4개쯤에서 한계가 온다