Anthropic이 Claude Code에서 논란이 된 숨은 모니터링 기능을 제거하겠다고 밝혔다. 보도에 따르면 이 기능은 Claude Code 2.1.91부터 포함됐고, 프록시를 사용하는 사용자가 중국에 있는지, 중국 URL을 경유하는지, 혹은 중국 AI 랩과 연결돼 있는지를 확인했다.
감지에 쓰인 단서는 구체적이었다. 시스템 타임존이 Asia/Shanghai 또는 Asia/Urumqi인지 확인하고, 프록시 URL 안에 중국 도메인이나 AI 랩 관련 문자열이 있는지를 살폈다. 여기까지만 보면 지역 기반 abuse 방어의 한 형태로 볼 수도 있다. 하지만 논란의 핵심은 수집 여부보다 전달 방식에 있다.
발견자에 따르면 Claude Code는 이 정보를 명시적인 telemetry 이벤트로 보내지 않았다. 대신 시스템 프롬프트 안의 거의 보이지 않는 차이에 신호를 숨겼다. “Today’s date is.” 문구의 apostrophe를 미묘하게 바꾸거나 날짜 포맷을 다르게 하는 방식이다. 사용자는 알아차리기 어렵지만, 서버 쪽에서는 해석할 수 있는 신호가 된다. 코드가 XOR key 91로 난독화되어 있었고 릴리스 노트에도 언급이 없었다는 주장도 함께 나왔다.
Anthropic은 이를 무단 리셀러의 계정 남용과 모델 distillation을 막기 위한 실험이었다고 설명했다. 중국에서 Claude 모델을 공식 제공하지 않는 정책, 해외 번호와 카드로 우회 접속하는 개발자들, 그리고 DeepSeek·Moonshot AI·MiniMax·Alibaba 등의 Claude 출력 사용 의혹을 둘러싼 배경을 고려하면 방어 동기 자체는 이해할 수 있다.
하지만 Claude Code는 단순한 웹 채팅 서비스가 아니다. 로컬 파일시스템과 shell에 접근하는 프로그래밍 에이전트다. 이런 도구에서 사용자가 모르는 환경 신호가 시스템 프롬프트에 섞이고, 그것이 서버가 읽을 수 있는 값으로 쓰인다면 신뢰의 기준은 완전히 달라진다. 개발자는 이제 모델의 답변 품질뿐 아니라, 도구가 자신의 실행 환경을 어떤 방식으로 읽고 전달하는지도 확인해야 한다.
Anthropic은 해당 기능을 롤백하겠다고 밝혔지만, 이번 사건은 AI 코딩 도구 시장 전체에 숙제를 남긴다. 앞으로의 경쟁력은 더 긴 컨텍스트나 더 높은 벤치마크 점수만으로 결정되지 않는다. 어떤 환경 값을 읽는지, 어떤 프롬프트에 반영하는지, 어떤 신호가 서버로 가는지, 그리고 그것이 릴리스 노트와 감사 가능한 로그에 남는지가 제품 신뢰의 핵심이 될 것이다.