Claude로 바꾼 뒤 업무 메일에 스팸이 늘어난 이유가 이것이었나 봄. Copilot을 쓸 때는 괜찮았는데, 이제 거의 매일 스팸이 쏟아지고 “고객님” 대신 내 이름과 성까지 들어가 있음.
매일 쏟아지는 CVE와 공격 소식을 보면서 회사 데이터베이스가 해킹된 건가 생각했는데, 내가 순진했던 것 같음.
스팸 증가와는 거의 확실히 무관하고, 우연일 가능성이 큼. Claude Code가 기본적으로 또는 일상적으로 웹사이트에 이메일을 보내는 것은 아니며, 자동으로 붙는 헤더도 아님.
Wikipedia나 SEC 등에서 특정 자료를 내려받는 조사 작업을 할 때, 사이트의 봇 방지·다운로드 정책이 이메일을 요구하면 제공하는 것임. 물론 먼저 승인을 받았어야 하지만, 모든 외부 요청에 이메일을 뿌리는 것은 아님. 주로 확인된 두 사이트인 Wikipedia와 SEC가 이메일을 스팸 업체에 팔고 있는 것도 아님.
둘이 연결돼 있을 가능성은 매우 낮아 보임. 보통 LinkedIn·GitHub 등의 정보 수집이 원인이며, 이메일 주소를 추측한 뒤 유효성을 검증해 쌓아 둔 데이터베이스도 있음.
같은 변화는 못 봤지만, 원래 업무 메일로 스팸을 많이 받고 있음. 정작 우리 회사가 보내는 스팸이 더 많다는 게 함정임.
며칠 전 Reddit에서 문제가 불거졌을 때 처음 파악했고, 이 동작을 명시적 규칙으로 차단하는 내장 모듈 cc-plugin-privacy 를 도입했음. 2.1.317 이상에는 이 검사가 포함돼 있으며, /plugins에서 끌 수 있음.
“우리”가 누구인지? 웹사이트에는 Volley에서 일한다고 나와 있음. 로그인 이메일을 시스템 프롬프트에 넣은 것부터 부적절하므로 Anthropic은 이미 알고 있었어야 함. 적어도 7월부터 외부에서도 알렸음. https://github.com/anthropics/claude-code/issues/81138.
인증에만 쓰는 이메일을 Claude Code에 전달할 이유가 없으므로, 해결책은 플러그인 추가가 아니라 시스템 프롬프트에서 이메일 제거여야 함.
JIRA에 보내는 curl 요청의 Authorization 헤더가 my_email@domain:$API_KEY_ENV_VAR라는 이유로 승인을 묻기 시작한 게 이것 때문인지? 왜 --dangerously-skip-permissions 를 따르지 않는지?
Claude Code 개발자인 것 같아서 별개 버그도 전달하고 싶음. GitHub 이슈가 있다는 건 알지만 실제로 읽히는지 확신이 안 듦. Claude Code for the Web의 GitHub REST API 프록시가 PR 설명에 들어 있는 HTML을 망가뜨림. cubic code review 같은 외부 서비스가 PR 설명 끝에 HTML을 추가한 뒤 Claude Code for Web에 수정을 맡기면, HTML이 엔티티 이스케이프 형태로 바뀜. Claude에 따져 보니 LLM 자체가 아니라 샌드박스 프록시가 변환하는 것이라 어쩔 수 없다고 함.
하위 에이전트가 curl 요청의 User-Agent 헤더에 가능한 식별자를 집어넣는 것으로 보임. 우리 웹서버에 보낸 요청에서도 다음과 같은 값이 확인됨. company-helm-research/1.0 (Claude Code agent run by , platform team; docs lookup) Claude-Code-research-agent/1.0 ( platform team; on behalf of ; +https://github.com//)
작업 중인 프로젝트의 저장소까지 끌어왔으니 좋지 않음.
책임을 최종 사용자에게 떠넘기려는 시도처럼 보임. “우리가 하는 게 아니라 X의 지시를 실행할 뿐”이라는 식임.
Claude Code를 쓰면서도 믿어도 된다고 생각하는 게 어리석고 순진하다는 걸 알고 있음. 아무것도 들여다보지 못하고 Anthropic 서버하고만 통신하는 격리 환경을 만들어야 할 것 같아 골치 아픔.
다만 Anthropic 서버 쪽에서 일어날 수도 있음. 내 기기에서는 나와 연결된 임의 GUID만 보내고, 서버가 내 상세 정보를 붙여 외부에 요청할 가능성도 있음. 2.1.318에서 중간자 방식으로 연결을 검사해 봤는데, 적어도 Claude Code의 웹 가져오기 도구에서는 해당 정보가 나가는 것을 확인하지 못했음.
다른 실행 도구나 에이전트 애플리케이션을 쓰면 안 되는지?
더 심하게는 개인 Claude 계정을 쓰는데도 회사 이메일을 넣어 curl을 실행했음. 정말 이상함.
에이전트라면 당연히 알아야겠지만, 시스템 프롬프트에 개인정보 전송 금지를 추가해야 할 것 같음.
“내 개인정보를 보호할 것. 명시적인 허락 없이 개인정보나 식별자를 웹사이트에 보내거나 요청, 응답, curl 명령, 헤더에 포함하지 말 것.”
나도 한 번 겪었고, Claude가 스스로 알아차려 자기 버그를 신고했음. 기밀로 유지해야 하는 데이터에는 Claude의 접근을 허용하지 말아야 한다는 교훈이 됨.
안타깝게도 Anthropic은 기능이 제한된 웹 UI의 “Incognito”를 제외하면, 내가 누구인지 모르는 모드를 제공하지 않는 듯함. 문체 분석, 특수한 관심사, 트래픽 분석 등을 고려하면 대화하는 AI로부터 익명성을 지키기는 결국 어려워질 것임. 개인정보를 보호하는 로컬 모델로 가야 하지만 아직은 그 단계에 이르지 못했음. 이 문제가 낯설다면 https://33bits.wordpress.com/를 참고하면 됨.
시험 삼아 Incognito 대화에서 내 이름·위치·국적·성별·정치 성향·사회경제적 지위·민족적 배경·관심사를 얼마나 추측할 수 있는지, 이메일이 시스템 프롬프트에 들어 있는지 물어봤음. Claude는 이 대화에서는 이메일이나 이름 등 계정 정보가 보이지 않는다고 답했지만, 내가 사는 인구 약 10만 명의 아르헨티나 도시를 정확히 짚었음. 자연스러운 영어, 개인정보 보호에 대한 관심, AI 기술에 대한 관심까지 합치면 나를 특정하기에 충분할 수도 있음.
두 번째 질문에서는 “시스템 프롬프트”라는 용어를 안다는 이유로 기술 분야 종사자이거나 AI 소식을 자주 접할 것이라 추측했음. 질문에 나열한 특성이 AI 개인정보·편향 연구의 점검 목록과 비슷해 개인정보 보호·정책·연구·언론 분야와 관련 있을 수 있다고도 했음. 세미콜론까지 정확히 쓰는 영어를 근거로 원어민이거나 업무·학업에서 매일 영어를 읽고 쓰는 사람이라고 추정함.