2026년 6월 30일, Thereallo라는 닉네임의 한 개발자가 프로그래머들이 흔히 하는 일을 했다 — 어떤 소프트웨어가 자기 컴퓨터에서 대체 무슨 일을 하는지 믿음이 가지 않아서 소스 코드를 뜯어본 것이다.
그 소프트웨어의 이름은 Claude Code. AI 기업 Anthropic이 만든 프로그래밍 어시스턴트로, 스스로 코드를 작성하고 명령어를 실행하고 파일을 수정하는 인공지능 동료다. 매일 개발자의 컴퓨터 안에 상주하며, 읽기 권한만 해도 어마어마하다: 당신의 폴더를 읽고, 터미널 명령을 실행하고, 심지어 브라우저까지 조작할 수 있다.
Thereallo가 들여다본 것은 Claude Code 2.1.196 버전의 소스 코드였다. 훑어보다가 그의 손이 멈췄다.
프로그램 안에 이런 기능이 내장되어 있었다: AI에 요청을 보낼 때마다, 사람 눈에 보이지 않는 마커를 텍스트 안에 몰래 숨긴다. 일상 언어로 말하면 「보이지 않는 잉크」다 — 시스템 프롬프트의 한 문장 안에 숨겨져 있으며, 어떤 공식적인 공개 채널도 거치지 않는다.
그는 발견 내용을 블로그 글로 썼다. 6시간 후, 이 글이 Hacker News에서 1284포인트, 362개의 댓글을 기록했고 Lobsters에서는 31표를 얻었다. 기술 커뮤니티 전체가 들끓었다.
보이지 않는 잉크는 어떻게 숨겨지는가?
이 사안이 왜 사람들을 경계하게 만들었는지 이해하려면, 여기서 「보이지 않는 잉크」가 어떻게 작동하는지부터 짚어야 한다.
Claude Code는 작업을 시작할 때마다 먼저 AI의 두뇌 역할을 하는 모델에 배경 정보를 전송한다. 예를 들어 「오늘 날짜는 2026-06-30입니다」 같은 식이다. 이것 자체는 지극히 정상적이다 — AI가 시간 관련 질문에 답하려면 오늘 날짜를 알아야 하니까.
그런데 Thereallo는 이 문장을 보내기 전에 프로그램이 「보안 검사」를 수행한다는 사실을 발견했다. 먼저 당신 컴퓨터의 타임존이 「상하이」나 「우루무치」인지 확인한다. 아니면, 네트워크 요청이 특정 URL로 향하는지 확인한다.
이 검사 결과에 따라, 프로그램은 날짜 문자열에서 두 가지를 은밀히 변경한다:
첫째, 날짜의 하이픈 ’-‘을 슬래시 ’/‘로 바꾼다. 「2026-06-30」이 「2026/06/30」이 된다.
둘째, 영어 작은따옴표를 네 가지 다른 유니코드 변형으로 대체한다. 화면상으로는 이 작은따옴표들이 완전히 동일하게 보인다 — 육안으로 구분할 수 없다. 그러나 컴퓨터가 읽을 때는 네 개의 서로 다른 문자, 마치 네 개의 다른 도장처럼 인식한다.
타임존 검사, URL 검사, 키워드 매칭의 결과를 조합하면 총 네 가지 서로 다른 「보이지 않는 서명」이 생성된다. Anthropic의 서버는 요청을 수신한 후, 이 보이지 않는 문자들을 식별함으로써 해당 요청이 어떤 경로를 통해 들어왔는지 판별할 수 있다.
더욱 의심을 불러일으킨 것은 이 기능의 타겟 목록이 암호화되어 숨겨져 있다는 점이다. 도메인 목록과 키워드 목록이 코드에 평문으로 적혀 있지 않고, XOR 암호화(기본적인 암호화 방식)와 Base64 인코딩을 조합해 감춰져 있었다. Thereallo가 복호화한 결과, 목록에는 다음이 포함되어 있었다:
AI 연구소 키워드: deepseek, moonshot, minimax, zhipu(즈푸), bigmodel, baichuan(바이촨), stepfun(지에위에씽천), 01ai(01만물), dashscope(알리백련), volces(훠산엔진).
도메인 목록은 더 광범위했다: AI 기업 외에도 바이두, 알리바바, 앤트그룹, 바이트댄스, 콰이쇼우, 샤오훙수, 징둥, 빌리빌리, 아이플라이텍 등 다수의 중국 기업 도메인과 API 리셀을 전문으로 하는 프록시 사이트들이 포함되어 있었다.
다시 말해 이 보이지 않는 워터마크 시스템은 주로 중국발 요청을 겨냥하고 있었다.
Anthropic은 왜 이렇게 했는가?
여기서 성급히 Anthropic에 「은밀하게 행동한다」는 꼬리표를 붙이기 전에, 그들의 동기는 사실 꽤 명확하다.
Anthropic의 AI 모델 Claude는 중국 본토에 서비스를 제공하지 않는다. 그러나 현실은 다수의 중국 사용자가 에이전트, 점프 서버, 계정 공유 등의 방식을 통해 우회적으로 Claude를 사용하고 있다는 것이다. 그 결과 상당한 규모의 회색 시장이 형성되었다 — 일부 미디어 보도에 따르면 중국 시장에서 리셀되는 Claude API 가격이 공식 가격의 10분의 1까지 내려갈 수 있다고 한다.
Anthropic을 더욱 긴장시키는 것은 「모델 증류」다. 전문 용어처럼 들리지만 의미는 간단하다: Claude의 방대한 문답 기록을 사용해 다른 AI 모델을 학습시키는 행위로, 거장의 작품을 교재 삼아 제자를 가르치는 셈이다. 2026년 6월 말, Anthropic은 알리바바를 공개적으로 비난한 바 있다 — 2만 5,000개의 가짜 계정으로 2,880만 회의 대화를 통해 체계적으로 Claude 모델을 증류했다는 주장이다.
Anthropic의 입장에서 보면 이렇다: 내 모델이 경쟁사에게 학습 교재로 이용되고, 내 유료 서비스가 중개상에게 헐값에 리셀되고 있는데, 이런 행위를 탐지할 방법이라도 강구해선 안 된다는 말인가?
이것이 바로 이 보이지 않는 마커 시스템의 설계 목적이다 — 비공식 채널을 통해 들어온 요청에 「식별 코드」를 찍어서, 백엔드에서 정상 요청과 의심 요청을 구분할 수 있게 하는 것.
「공개하면 무력화된다」 — 이유가 될 수 있는가?
문제의 핵심은 바로 여기에 있다.
Anthropic의 논리 체인은 이렇다: 우리는 악용을 탐지해야 한다 → 하지만 「탐지하고 있다」고 공개하면 우회하려는 자들이 방법을 찾을 것이다 → 따라서 은밀하게 수행할 수밖에 없다.
일리는 있어 보인다. 그러나 Hacker News에서 가장 높은 추천을 받은 댓글 중 하나는, civet_java라는 사용자가 쓴 것으로, 이 논리의 급소를 정확히 찔렀다:
「서비스 제공자로서 비즈니스상 필요하다고 해서 투명한 공개 의무가 면제되는 것은 아닙니다. 정직한 공개가 방안을 무력화시킨다면, 그건 당신의 방안 자체에 문제가 있는 것이지 사용자의 잘못이 아닙니다.」
이 댓글은 수많은 공감을 얻었다. 근본적인 모순을 드러냈기 때문이다: 효과를 내기 위해 기만에 의존해야 하는 안티-치팅 방안은, 그 효과성이 사용자의 무지(無知)를 전제로 한다는 뜻이다. 마치 마트가 좀도둑을 잡기 위해 탈의실에 몰래카메라를 설치한 것과 같다 — 좀도둑을 잡는 것은 정당하지만, 몰래카메라 자체가 신뢰에 대한 침식이다.
더 날카로운 비판은 kiproping이라는 사용자의 미끄러운 경사(slippery slope) 경고에서 나왔다. 그의 댓글은 300개가 넘는 토론 속에서도 두드러져 또 하나의 높은 추천을 받았다:
「‘중국 위협’을 이유로 시작하더니, 다음은 ‘탈옥 사용자’, ‘반-다리오(Anthropic CEO) 세력’이 되겠군요 — 경사는 이미 미끄러지기 시작했습니다.」
그 아래에는 누군가가 바로 이어받았다:
- 「‘아이를 보호하기 위해서’도 빼먹으셨네요.」
- 「중국의 인터넷 아이들은 누가 보호하나요!」(비꼼)
이 연쇄 댓글은 농담처럼 보이지만, 많은 사람들이 입 밖에 내지 못한 불안을 정확히 찔렀다: 일단 「목적이 정당하면 암묵적 조작도 용인된다」는 논리가 기업 내에서 수용되면, 그 적용 범위는 확장되기만 할 뿐 자발적으로 수렴하지 않는다. 오늘은 「중국 경쟁사가 우리 모델을 증류하고 있다」는 이유로 감시 코드를 숨기고, 내일은 「누군가 탈옥 프롬프트로 안전 장치를 우회한다」는 이유로 더 많은 감시 코드를 숨길 수 있다. 모레는?
누가 옳은가?
공정하게 말하자면, Anthropic이 마주한 것은 가상의 적이 아니다.
필자가 공개 정보를 확인한 결과: Anthropic은 실제로 대규모의 체계적 악용을 겪고 있다. 중국 시장의 API 리셀 체인은 실존하며, 모델 증류는 이미 이론에서 실전으로 넘어왔다 — 상업적 경쟁 수단으로 사용되고 있는 것이다. 당신이 가게를 열었는데 누군가 매일 뒷문으로 물건을 빼내 옆에 분점을 차리고 있다면, 물건에 표식을 남기고 싶은 충동 자체는 충분히 이해할 수 있다.
그러나 Lobsters의 bitshift라는 사용자는 한층 더 냉철한 시각을 제공했다:
「원 저자가 말하는 것만큼 신뢰를 무너뜨리는 행위라고는 생각하지 않습니다. 이미 클로즈드 소스이고 당신 컴퓨터에서 명령을 실행하는 프로그램을 받아들였다면…… 딱히 할 말이 없네요. Anthropic은 평판 리스크 때문에 지나치게 나가지는 않을 것이고, Claude를 쓰기로 선택한 것 자체가 그 거래를 수용한 셈입니다.」
이 관점은 일리가 있다 — 당신이 집 열쇠를 클로즈드 소스 소프트웨어에 맡겼다면, 「투명성」에 대한 요구 자체가 이미 할인된 상태다. Anthropic은 이 건에서 실제로 악의적인 행위를 한 것은 아니다 — 단지 「안티-치팅 마커」를 만든 것이지, 당신의 코드를 훔치거나 파일을 업로드하거나 행동을 감시한 것은 아니다.
그러나 반론도 똑같이 강력하다: 신뢰는 「어차피 이미 나를 신뢰했잖아」라는 무한정 마이너스 통장이 아니다. 사용자가 이 도구에 막대한 권한을 부여했기 때문에 — 파일 읽기, 명령 실행, 코드 수정, 인터넷 접속 — 더더욱 투명해야 하는 것이다. 신뢰는 가장 지루한 순간에 쌓이고, 가장 지루한 순간에 무너진다.
더 큰 질문: 누가 규칙을 정하는가?
이 논쟁의 핵심은 AI 시대의 거버넌스 공백을 건드리고 있다:
AI 기업이 자신의 상업적 이익을 보호해야 할 때, 어느 정도까지 사용자에게 불투명할 수 있는가? 이 경계는 누가 결정하는가?
현재 이 질문에 대한 답은: AI 기업 스스로다. Anthropic은 「중국 유통 채널 탐지」가 충분히 중요한 목표라고 스스로 판단하고, 「보이지 않는 마커는 사용자에게 해를 끼치지 않는다」고 스스로 판단하며, 「업데이트 로그에 이 내용을 기재할 필요가 없다」고 스스로 판단했다. 이 전 과정에 외부 감독도, 업계 표준도, 사용자 동의도 없었다.
그러나 사용자는 바로 자기 컴퓨터에서 이 프로그램을 실행하는 당사자다.
필자는 이 글을 쓰면서 「Anthropic이 나쁘다」 또는 「사용자가 과잉 반응했다」는 결론을 내리려는 것이 아니다. 이 논쟁이 Hacker News에서 1284포인트를 받은 것은 바로 양측 모두 설득력 있는 논리를 갖고 있기 때문이다 — Anthropic은 현실적인 상업적 손실을 방어해야 하고, 사용자는 정당한 이유로 투명성을 요구한다.
진정으로 생각해볼 가치가 있는 것은 이것이다: 「정직하면 방안이 무력화된다」가 암묵적 조작의 이유가 될 수 있다면, 미래의 어떤 AI 기업이든 같은 논리로 사용자 모르게 자신들이 「필요하다」고 판단하는 모든 일을 할 수 있다. 이것은 괜한 공포 마케팅이 아니다 — 지난 세기, 기술 기업들은 「사용자 경험 개선을 위해」를 개인정보 수집의 보편적 구실로 만들어냈다. 우리는 이 문장 패턴에 너무나 익숙하다.
보이지 않는 잉크 자체는 문제가 아니다. 잉크의 존재를 알려주지 않는 것, 그것이 문제다.
이미지: Thereallo 블로그 글의 OG 커버 이미지. Claude Code가 유니코드 문자 치환을 통해 시스템 프롬프트에 보이지 않는 마커를 삽입하는 기술 원리를 보여준다. 출처: thereallo.dev
참고 링크:
- https://thereallo.dev/blog/claude-code-prompt-steganography
- https://news.ycombinator.com/item?id=48734373
- https://lobste.rs/s/qs2sxd/claude_code_is_steganographically
- https://www.anthropic.com/news/detecting-and-preventing-distillation-attacks
- https://www.tomshardware.com/tech-industry/artificial-intelligence/anthropic-claims-that-chinas-alibaba-illicitly-distilled-its-models-from-april-to-june-2026-says-effort-involved-25-000-fake-accounts-and-28-8-million-exchanges-on-claude