챗봇 대화, 정말 나와 AI 둘만 보는 걸까?
요즘 AI 챗봇에는 건강 고민, 연봉 협상, 연애 상담, 회사 코드까지 별의별 걸 다 물어보잖아요. 검색창에 치던 것보다 훨씬 사적인 이야기들이죠. 그런데 이 대화의 일부가 광고·분석 업체로 새어 나갈 수 있다는 분석 보고서가 나왔어요. 스페인의 개인정보 보호 전문가 Jorge García Herrero가 공개한 'Prompt like a butterfly, sting like a tracker'라는 PDF인데요, 여러 AI 서비스의 웹 트래픽을 들여다보고 어떤 정보가 제3자에게 전송되는지 살펴본 내용이에요. 서비스별 세부 결과는 원문을 직접 확인하시길 권하고, 여기서는 왜 이런 일이 생기는지 구조부터 차근차근 풀어볼게요.
트래커가 뭐냐면
웹사이트에는 보통 자기 회사 코드만 있는 게 아니에요. 마케팅팀이 광고 성과를 재려고 넣은 Meta Pixel, Google 태그, TikTok Pixel 같은 스크립트, 사용자 행동을 분석하는 도구, 화면을 녹화하듯 기록하는 세션 리플레이 도구가 함께 올라가 있는 경우가 많아요. 이런 걸 통틀어 서드파티 트래커라고 불러요.
이 스크립트들은 기본적으로 '사용자가 어떤 페이지에 왔는지'를 자기 서버로 보내요. 문제는 그 '페이지 정보'에 뭐가 담기느냐예요. 챗봇 서비스에서는 이런 경로로 새기 쉬워요.
- URL 쿼리 파라미터: 검색형 AI는 질문이
?q=우울증 약 부작용처럼 주소창에 들어가는 경우가 있어요. 트래커가 현재 URL을 보내면 질문도 같이 가요. - 페이지 제목: 많은 챗봇이 대화 내용을 요약해 대화 제목을 자동으로 만들고, 이게 브라우저 탭 제목(document.title)에 들어가요. 분석 스크립트는 페이지 제목을 기본으로 수집하는 경우가 많거든요.
- 리퍼러(Referer): 대화 페이지에서 외부 링크를 누르면 이전 페이지 주소가 다음 사이트로 전달될 수 있어요.
- 세션 리플레이: 입력창 마스킹 설정을 안 하면 사용자가 타이핑한 텍스트까지 녹화될 수 있어요.
- 공유 링크: 대화 공유 URL이 트래커 이벤트에 섞여 들어가면, 링크를 아는 쪽은 대화 전체를 볼 수도 있어요.
이게 처음 있는 일은 아니에요
사실 이 패턴은 익숙해요. 2022년 미국 탐사보도 매체 The Markup은 병원 웹사이트 상당수가 Meta Pixel을 통해 진료 예약 정보를 페이스북으로 보내고 있었다고 보도했어요. 2023년에는 미국 FTC가 원격 정신건강 상담 서비스 BetterHelp와 처방약 할인 서비스 GoodRx에 민감 정보를 광고 목적으로 공유했다는 이유로 제재를 내렸고요. 한국에서도 2022년 개인정보보호위원회가 구글과 메타의 맞춤형 광고용 행태정보 수집을 문제 삼아 합계 약 1,000억 원 규모의 과징금을 부과한 적이 있어요.
AI 챗봇은 이 문제를 한 단계 더 키워요. 병원 사이트에서는 '어떤 진료과 페이지를 봤다' 수준이었다면, 챗봇에는 사용자가 자기 상황을 문장으로 자세히 적어서 넣거든요. 같은 트래커라도 새는 정보의 밀도가 완전히 다른 거예요. 유럽에서는 GDPR상 건강 정보 같은 민감 정보를 광고 목적으로 처리하려면 명시적 동의가 필요해서, 이 보고서도 법적 쟁점 쪽을 비중 있게 다루고 있어요.
한국 개발자가 당장 챙길 것
우리 서비스에 AI 기능을 붙이고 있다면 이건 남의 이야기가 아니에요. 체크리스트로 정리해 볼게요.
1. 직접 확인해 보세요. 크롬 개발자 도구 Network 탭을 열고 대화를 몇 번 주고받은 다음, facebook, google-analytics, tiktok 같은 도메인으로 나가는 요청의 payload를 열어 보세요. 생각보다 많은 게 보일 수 있어요.
2. 사용자 입력을 URL과 페이지 제목에 넣지 마세요. 검색어는 POST 본문이나 URL fragment(# 뒤쪽은 서버로 전송되지 않아요)로 다루고, 대화 페이지 제목은 '새 대화'처럼 고정값으로 두는 게 안전해요.
3. 민감한 화면에서는 트래커를 빼세요. 랜딩 페이지와 가입 퍼널에는 광고 픽셀이 필요할 수 있지만, 대화 화면까지 필요한 경우는 드물어요. 태그 매니저에서 경로별로 제외 규칙을 거세요.
4. Referrer-Policy와 CSP를 설정하세요. Referrer-Policy: strict-origin이면 외부로 전체 경로가 새지 않고, CSP로 허용된 스크립트 도메인을 제한할 수 있어요.
5. 세션 리플레이 마스킹을 기본값으로. 입력 필드와 대화 영역은 무조건 마스킹하세요.
6. 서버사이드 태깅도 만능은 아니에요. 브라우저에서 안 보일 뿐, 서버에서 똑같은 데이터를 보내면 결과는 같아요.
마케팅팀과 개발팀 사이의 틈에서 이런 일이 자주 생겨요. 태그 매니저로 개발자 모르게 스크립트가 추가되는 경우가 흔하거든요. 정기적으로 태그 목록을 감사하는 프로세스를 만들어 두는 게 좋아요.
마무리
한 줄 정리: AI 챗봇의 프라이버시 위험은 모델이 아니라, 그 옆에 조용히 붙어 있는 평범한 광고 스크립트에서 올 수도 있어요.
여러분 회사 서비스의 대화·검색 화면에는 지금 몇 개의 서드파티 스크립트가 돌고 있나요? 한 번 확인해 보고 의외였던 점이 있다면 공유해 주세요.
🔗 출처: Hacker News.pdf)