Security AI 신뢰 위기 2026.07.03

Claude Code 스테가노그래피 사건: Anthropic이 아포스트로피 하나로 사용자를 태깅했다

결론: 2026년 6월 말, 개발자 역공학 보고에 따르면 Claude Code(Claude 웹 버전 아님)가 ANTHROPIC_BASE_URL을 비공식 프록시로 설정할 때 시스템 프롬프트 Today's date is... 행에서 텍스트 스테가노그래피를 사용하여 날짜 구분자와 육안으로 거의 구분 불가한 Unicode 아포스트로피를 전환하고, 「중국 타임존 여부」「중국 도메인/AI 랩 일치 여부」 등의 비트 정보를 서버로 은밀히 반환했습니다. Anthropic은 2.1.197에서 관련 코드를 제거했습니다. 대부분 반모델 증류/재판매 대응으로 보이지만, 방식이 은밀하고 난독화되어 논쟁의 중심입니다.

Claude Code 사용자, 보안 엔지니어, 기업 IT 의사결정자를 위해 ① 2026년 4월 Claude Desktop 브라우저 주입과 6월 Claude Code 스테가노그래피라는 두 독립 사건, ② Unicode 지문 표와 트리거 조건, ③ 6단계 자가 점검·HN 커뮤니티 논쟁·AI 벤더의 경계 침범에 대한 대응을 다룹니다. 표현은 「보도에 따르면/역공학 보고/비난받고 있다」 원칙을 따르며, 목적(반증류)과 수단(스테가노그래피)을 분리하여 평가합니다.

01 2026년 Claude 스테가노그래피와 브라우저 주입: 무슨 일이 있었나

이번 파문은 실제로 두 독립 사건이 겹쳐 확대된 것입니다. 집필 전에 구분해야 하며, 혼동하면 HN / Reddit / 보안계에서 즉시 지적되어 E-E-A-T와 신뢰성을 해칩니다.

사건 타임라인 및 주요 노드
시기 사건 출처
2026-04(약 4/18~)사건 A: Claude Desktop이 브라우저 Native Messaging 매니페스트를 무음 기록Alexander Hanff(The Register 기고자)
2026-06-30사건 B: Claude Code 시스템 프롬프트 스테가노그래피 역공학 노출thereallo.dev → Reddit → Hacker News
2026-07-01Anthropic Claude Code 2.1.197 릴리스, 스테가노그래피 코드 제거(changelog 미언급)Tech Startups / Developers Digest 등
HN 논의수 시간 만에 프론트 페이지, 350+ points, 100+ 댓글, 커뮤니티 양파 분열Hacker News
  • 사건 A 문제점: Claude Desktop(macOS) 설치 후 Chrome/Edge/Brave/Arc/Vivaldi/Opera/Chromium에 com.anthropic.claude_browser_extension.json을 무고지 기록, 3개 확장 ID에 샌드박스 외 chrome-native-host 호출 사전 승인. 브라우저 미설치 시에도 디렉터리 사전 생성, 삭제 후 재시작 시 부활.
  • 사건 B 문제점: ANTHROPIC_BASE_URL ≠ api.anthropic.com일 때만 시스템 프롬프트 날짜 행에 숨겨진 지문 삽입. 매 대화마다 반드시 발동하지는 않음.
  • 독립 자문가 Noah Kenney(Digital 520)가 Hanff의 사건 A 기술 주장 재현성 확인. 安天实验室(Antiy Labs)가 Claude Desktop 고권한 브라우저 채널 위험 분석 보고서 발표.

02 Claude Desktop 주입 vs Claude Code 스테가노그래피: 비교 매트릭스

사건 A(무음 브라우저 주입) vs 사건 B(시스템 프롬프트 스테가노그래피)
관점 사건 A: 무음 브라우저 주입 사건 B: 시스템 프롬프트 스테가노그래피
관련 제품Claude Desktop(macOS 클라이언트)Claude Code(CLI 코딩 도구)
폭로자Alexander Hanff(프라이버시 자문)개발자 바이너리 역공학, thereallo.dev 공개
붙은 라벨"spyware" / "backdoor"(스파이웨어/백도어)"prompt steganography" / "covert channel"(프롬프트 스테가노그래피/은밀 채널)
트리거 조건Claude Desktop 설치/시작 즉시비공식 Base URL(프록시/게이트웨이) 설정 시만
Anthropic 대응공식 성명 없음. 후속 버전 승인 스위치 추가, 근본 권한 모델 미해소코드 존재 인정, 7/1 2.1.197 제거, changelog 미언급

주류 해석: Anthropic 의도는 무허가 재판매 + 모델 증류(distillation) 감지이며 개인 감시가 아님. 논쟁 초점은 수단(은밀, 난독화, 미공개)이지 목적이 아님.

03 Claude Code 스테가노그래피 작동 방식: Unicode 아포스트로피 표

핵심 전제: ANTHROPIC_BASE_URL을 비공식 주소(프록시, 게이트웨이, 제3자 재판매, OpenAI 호환 레이어)로 설정할 때만 발동합니다. 공식 api.anthropic.com에는 손대지 않습니다. 역공학자는 2.1.193 / 2.1.195 / 2.1.196 세 버전 모두에서 해당 로직을 확인했습니다.

발동 후 프로그램은 무해해 보이는 Today's date is ... 행 안에서 두 가지를 수행합니다:

  1. 날짜 구분자 변경: 시스템 타임존이 Asia/Shanghai 또는 Asia/Urumqi이면 2026-06-302026/06/30으로 바뀝니다.
  2. 아포스트로피 교체: Today's 내 어포스트로피를 시각적으로 같지만 Unicode가 다른 문자로 바꿔 「무엇에 일치했는지」를 인코딩합니다.
Unicode 아포스트로피 및 날짜 형식 매핑(thereallo.dev 역공학 보고 기준)
감지 상황 날짜 형식 아포스트로피 문자 Unicode
기본(일치 없음)2026-06-30' 표준 ASCII 어포스트로피U+0027
중국 기관/딜러 도메인 일치2026-06-30' 오른쪽 작은따옴표U+2019
중국 AI 랩 키워드 일치2026-06-30ʼ 수식어 아포스트로피U+02BC
도메인 + 랩 모두 일치2026-06-30ʹ 수식어 프라임U+02B9
중국 타임존 중첩2026/06/30(위 규칙 동일)

도메인과 키워드 목록은 base64 + XOR(91)로 경미 난독화, 약 147개 도메인 규칙. 키워드에 deepseek, moonshot, zhipu, minimax, baichuan, stepfun, 01ai 등 포함.

요약: 요청은 표면상 일반 영어 프롬프트지만, 백엔드는 날짜 구분자와 아포스트로피 Unicode 코드포인트만 봐도 「해외 VPN 쓰지만 실제 중국 타임존, 심지어 특정 중국 AI 랩 의심」 등을 태깅할 수 있습니다. 전형적인 은밀 채널(covert channel)프롬프트 스테가노그래피(prompt steganography)입니다.

check-apostrophe.sh
# 시스템 프롬프트 Today's 아포스트로피 Unicode 코드포인트 확인
python3 -c "
s = open('system_prompt.txt').read()
idx = s.find('Today')
if idx >= 0:
    c = s[idx+5]
    print(f'Char: {c!r}  Codepoint: U+{ord(c):04X}')
"
# 공식 엔드포인트 기대값: U+0027. 프록시 사용자는 U+2019 / U+02BC / U+02B9 가능

04 Anthropic의 동기는? Claude Code는 스파이웨어인가

동기: 반증류 + 무허가 재판매 대응

커뮤니티 주류 판단(비교적 절제된 견해): 목적은 반증류 + 무허가 재판매 대응입니다. Anthropic, OpenAI, Google 모두 경쟁사가 API에서 대량 출력을 가져와 소형 모델을 훈련하는 것을 공개적으로 우려합니다. 중국 관련 프록시, 재판매, 랩이 주요 의심 대상이 되어 이 태깅 로직이 추가되었습니다.

목적은 이해할 수 있지만 문제는 수단: 분류 신호를 육안 불가로 만들고 난독화하여 각 요청에 숨기는 것은 개발자 신뢰에 의존하는 도구로서 신뢰의 적색선을 넘습니다. HN에서는 양파로 나뉘어 한쪽은 「정당한 anti-distillation defense」, 다른 쪽은 「개발자 도구로는 malware-adjacent behavior에 가깝다」고 주장합니다.

「스파이웨어」는 감정적 라벨. 더 정확히는:

  • 사건 A는 「제3자 소프트웨어 무허가 변조 + 휴면 공격면 사전 확보」에 가깝습니다. 현재 악용되지 않았더라도 브라우저 샌드박스 외 고권한 채널을 미리 깔아둔 것. Claude for Chrome이 스스로 공개한 프롬프트 주입 성공률(완화 없음 23.6%, 완화 있음 11.2%)과 합쳐 위험은 현실적입니다.
  • 사건 B는 「미공개 은밀 텔레메트리 / 사용자 분류」에 가깝습니다.

"spyware"라는 말을 쓰든 말든 핵심 문제는 동일: 사용자의 사전 동의 없이 의도적으로 은밀하게 행해진다. 본 사이트가 이전 분석한 Claude Fable 5 수출 통제, MCP 프로토콜이 비추는 「AI 벤더와 사용자 신뢰 경계」와 같은 뿌리입니다.

HN 커뮤니티 양파 견해

  • 방어파: 합리적인 anti-distillation defense. API 재판매·증류 방지.
  • 비판파: malware-adjacent behavior for a dev tool. 개발자 도구로는 악의에 가깝다. 구두점에 숨기지 말고 공개 설명과 스위치를 제공해야 한다.

05 Claude Code 스테가노그래피 자가 점검: 6단계 방어 가이드

  1. ANTHROPIC_BASE_URL 확인: 셸에서 echo $ANTHROPIC_BASE_URL 실행. 비어 있거나 api.anthropic.com을 가리키면 사건 B 로직 미발동. 프록시/게이트웨이 사용자는 중점 점검.
  2. Claude Code 2.1.197 이상 업데이트: Anthropic은 2026-07-01 해당 버전에서 스테가노그래피 코드 제거. claude --version으로 버전 확인.
  3. 시스템 타임존 검토: date +%Zreadlink /etc/localtime(Linux) 또는 시스템 환경설정(macOS)으로 Asia/Shanghai / Asia/Urumqi 여부 확인.
  4. 시스템 프롬프트 캡처 및 분석: 프록시 환경에서 네트워크 캡처 또는 디버그 모드로 prompt 내보내기, Today's 아포스트로피 Unicode 코드포인트가 U+0027 외인지 확인.
  5. Claude Desktop Native Messaging 점검(사건 A): macOS 각 브라우저 ~/Library/Application Support/<브라우저>/NativeMessagingHosts/에서 com.anthropic.claude_browser_extension.json 검색·삭제. Claude Desktop 재시작 시 재생성 가능 주의.
  6. 기업/민감 환경 최소 권한 격리: 프로덕션 파이프라인에서 Desktop Agent 계속 사용 여부 평가. 모든 Desktop AI Agent를 고권한 프로그램으로 취급, 명시적 승인·감사 가능·네트워크 격리. AI 코딩 어시스턴트 비교에서 「텔레메트리 투명성」을 선정 기준에 포함.

06 인용 가능한 기술 데이터 및 주요 매개변수

  • 도메인 규칙 수: 약 147개, base64 + XOR(91) 난독화, Claude Code 바이너리 내 저장(역공학 보고).
  • 영향 버전: 2.1.193, 2.1.195, 2.1.196에 스테가노그래피 로직 존재. 2.1.197(2026-07-01) 제거.
  • HN 논의 열기: 350+ points, 100+ 댓글, 수 시간 만에 프론트 페이지.
  • Claude for Chrome 프롬프트 주입 성공률: 완화 없음 23.6%, 완화 있음 11.2%(Anthropic 자체 공개, 사건 A 위험 맥락 관련).
  • 트리거 조건: ANTHROPIC_BASE_URL ≠ api.anthropic.com만. 공식 엔드포인트 사용자는 사건 B 영향 없음.
  • Unicode 코드포인트: U+0027(기본), U+2019(중국 도메인), U+02BC(AI 랩 키워드), U+02B9(이중 일치).

권위 출처: The Register(Claude Desktop 권한 변경), Malwarebytes / gHacks / YOOTA(Native Messaging 보도), thereallo.dev(원본 역공학), Tech Startups / TMC Insight / Developers Digest / TechTimes(2.1.197 수정), 安天实验室(Antiy Labs) 위험 분석 보고서.

07 Claude Code 스테가노그래피 FAQ

Q: Claude Code는 스파이웨어인가요?
A: 전통적 의미의 스파이웨어는 아니지만, 역공학 보고에 따르면 시스템 프롬프트에 미공개·난독화된 지문을 숨겨 프록시 경유 중국 관련 사용자를 분류했습니다. Anthropic은 2.1.197에서 제거했습니다. 더 정확히는 「미공개 은밀 채널」입니다.

Q: Claude Code가 타임존을 감지하나요?
A: 비공식 ANTHROPIC_BASE_URL 설정 시에만 Asia/Shanghai / Asia/Urumqi를 확인하고 날짜 구분자를 변경합니다. 공식 엔드포인트에서는 날짜 행에 영향 없습니다.

Q: Today's date 아포스트로피 Unicode 원리는?
A: Today's 내 아포스트로피를 U+0027, U+2019, U+02BC, U+02B9 사이에서 전환하여 엔드포인트가 중국 관련 도메인, AI 랩 키워드, 둘 다, 또는 어느 것도 아닌지 인코딩합니다.

Q: Anthropic이 이를 추가한 이유는?
A: 커뮤니티 주류 해석상 모델 증류와 무허가 API 재판매 감지가 가장 유력. 정당한 목표지만 구현은 미공개이며 의도적으로 숨겨졌습니다.

Q: Claude Desktop 「스파이웨어」 사건과 같은 건가요?
A: 아닙니다. 2026년 4월 Claude Desktop 무음 Native Messaging 기록은 독립 사건 A, 2026년 6월 30일 Claude Code 프롬프트 스테가노그래피는 사건 B입니다.

Q: 일반 Claude 웹 사용자도 영향받나요?
A: 사건 B는 Claude Code에서 비공식 Base URL 설정 시에만 발동. 일반 공식 엔드포인트 사용자는 영향 없습니다.

Q: Claude Desktop 주입 브라우저 파일 삭제 방법은?
A: ~/Library/Application Support/<브라우저>/NativeMessagingHosts/에서 com.anthropic.claude_browser_extension.json 검색·삭제. Claude Desktop 재시작 시 재생성 가능.

Q: ANTHROPIC_BASE_URL 지문이란?
A: Base URL이 비공식 프록시를 가리킬 때 Claude Code는 프록시 도메인과 키워드 목록 일치 결과에 따라 시스템 프롬프트 날짜 행에 다른 Unicode 문자를 삽입하여 분류 신호를 서버로 반환합니다.

Q: 지금도 걱정해야 하나요?
A: Claude Code 2.1.197 이상 업데이트하고 비공식 프록시 미사용 시 사건 B는 수정됨. 사건 A Native Messaging은 후속 버전 승인 스위치 추가되었으나 근본 미해소로 보고되어 계속 점검 필요.

Q: Anthropic을 계속 신뢰해야 하나요?
A: 가치 판단입니다. 기술 커뮤니티 합의는 기본 불신·증거 기반. 재현 가능·감사 가능·끌 수 있는 것만 신뢰할 가치 있으며, 벤더는 숨기지 말고 공개해야 합니다.

08 AI 벤더의 경계 침범과 우리의 대응: 맺음말

이번 사건의 진짜 경고는 「한 글자 아포스트로피」가 아니라, 모델 역량이 급격히 오르는 한편 보안 경계, 승인, 감사가 크게 뒤처질 때 벤더가 「경험/남용 방지」를 명목으로 사용자와 다른 소프트웨어 벤더 간 신뢰 경계를 일방적으로 넘는다는 점입니다. PC, 스마트폰 초기 역사가 Desktop AI Agent에서 그대로 반복되고 있습니다.

사용자와 실무자로서의 대응: ① 기본 불신, 증거 기반. 재현 가능·감사 가능·끌 수 있음. ② 숨기지 말고 공개 요구. 반증류는 공개적으로 할 수 있음. ③ 최소 권한 + 경계 격리. ④ 발로 투표 + 제도적 제약(GDPR/개인정보보호법). 기술에 입장은 없어도 기업에는 필요. 역량이 클수록 자기 규제가 요구되며, 사용자가 바이너리를 역공학해야만 알게 되는 비밀이어서는 안 됩니다.

격리 환경에서 Claude Code, OpenClaw 게이트웨이, 자체 MCP Server를 운영하는 프로덕션 팀에게 순수 로컬 개발기에는 세 가지 현실적 약점이 있습니다: 가정용 회선 불안정으로 SSH/API 장시간 연결 끊김, 노트북 덮개 닫힘으로 Agent 작업 중단, 다수 개발자 공유 환경에서 권한 경계 감사 어려움. 더 안정적이고 AI Agent 자동화에 적합한 프로덕션 환경으로 JEXCLOUD 다리전 베어메탈 Mac이 최적입니다. 전용 Apple Silicon 연산, 7×24 온라인, 월별 탄력 확장, 120초 배포. Claude Code를 클라우드 Mac에서 무거운 작업 실행, 로컬은 상호작용만. 독립 네트워크와 타임존 설정으로 컴플라이언스 격리 가능. 노드와 가격은 JEXCLOUD 요금 페이지를 참고하세요.