Claude Code 개인정보 보호 사고: User-Agent 헤더를 통한 사용자 이메일 노출

개요

Claude Code CLI 도구 사용자들이 해당 에이전트가 User-Agent 헤더를 통해 개인 이메일 주소를 제3자 웹사이트로 유출하고 있다고 보고했습니다. 이러한 동작은 웹 검색 및 API 상호작용 작업 중에 발생했으며, 영향을 받은 사용자들에게 스팸 메일이 증가하는 결과를 초래했습니다. Anthropic은 이 문제를 인정했으며, 에이전트가 아웃바운드 네트워크 요청 시 계정 수준의 식별자를 노출하지 않도록 수정 사항을 배포하고 있습니다.

노출 메커니즘

Claude Code는 저자 표시 및 필터링과 같은 작업을 용이하게 하기 위해 시스템 프롬프트에 사용자의 이메일 주소를 포함하도록 설계되었습니다. 에이전트가 curl을 사용하여 데이터를 가져오는 등 웹 기반 작업을 수행할 때, 때때로 이 이메일 주소를 User-Agent 문자열에 포함했습니다.

일부 공공 API(예: SEC에서 제공하는 API)는 User-Agent 헤더에 연락처 정보를 요청하지만, 에이전트는 명시적인 사용자 동의 없이 이러한 동작을 광범위하게 적용하고 있었습니다. 이로 인해 에이전트가 상호작용하는 모든 서버에 개인 식별자가 의도치 않게 전송되었으며, 이는 심각한 개인정보 보호 취약점을 야기했습니다.

Anthropic의 대응

Anthropic은 이 동작을 완화하기 위한 업데이트 배포를 시작했습니다. 버전 2.1.317부터 cc-plugin-privacy라는 내장 모듈이 도입되어 아웃바운드 요청에 민감한 식별자가 포함되는 것을 차단합니다.

Claude Code 개발자인 Lydia Hallie는 팀이 모델의 컨텍스트에서 계정 이메일 주소를 완전히 제거하는 작업을 적극적으로 진행 중임을 확인했습니다. Hallie는 "이런 일이 발생하게 되어 죄송합니다"라고 말하며, 해당 기능은 원래 모델이 저자 태그를 처리하는 데 도움을 주기 위한 것이었으나 네트워크 헤더를 통한 자동 전송의 위험을 고려하지 못했다고 언급했습니다.

커뮤니티 통찰 및 해결 방법

커뮤니티 구성원들은 에이전트 도구 사용과 관련하여 몇 가지 중요한 시사점을 강조했습니다:

  • 컨텍스트 민감도: 사용자들은 LLM에 개인 계정 정보에 대한 액세스 권한을 부여하는 것이 본질적인 유출 위험을 초래한다고 지적했습니다. 한 사용자가 언급했듯이, "에이전트가 액세스할 수 있는 모든 정보는 유출될 가능성이 있습니다."
  • 검증: 사용자들은 자신의 트래픽을 검사하여 에이전트가 데이터를 유출하고 있는지 확인할 수 있습니다. 일부는 이러한 유출의 영향을 완화하기 위해 서비스마다 고유한 별칭 이메일 주소를 사용할 것을 권장했습니다.
  • 방어 조치: 수정 사항이 완전히 적용될 때까지 일부 사용자는 사용자 지정 훅을 사용하거나 로컬 시스템 프롬프트를 수정하여 에이전트가 개인 식별자를 공유하지 못하도록 명시적으로 금지하고 있습니다.

개발자 관점

이 문제에 대한 논의는 에이전트의 자율성과 사용자 개인정보 보호 사이의 긴장에 초점을 맞추고 있습니다. 많은 개발자는 명확한 동의 제어 없이 이러한 기능이 구현된 것에 대해 불만을 표했습니다.

"데스크톱 UI가 주는 인상은 LLM이 프로젝트에 명시적으로 추가된 항목에만 액세스할 수 있다는 것입니다. Claude가 프로젝트 외부의 다른 세션에서 데이터를 가져오는 것에서 알 수 있듯이, 이러한 인상은 사실이 아닙니다." — @handle

다른 이들은 이번 사건이 더 나은 샌드박싱의 필요성을 강조한다고 지적했습니다. 한 댓글 작성자는 "이런 문제를 피하는 유일한 방법은 샌드박스를 적용하고 컨텍스트를 관리하는 것"이라며, 사용자가 에이전트 기반 CLI 도구를 액세스할 수 있는 모든 데이터를 공유할 가능성이 있는 것으로 취급해야 한다고 제안했습니다.

Sources

관련

  • Dispatch
  • Dispatch
  • Dispatch
  • Dispatch
  • Dispatch