[Hacker News 요약] ZCode, 사용자 Git 히스토리를 서버로 무단 업로드하여 프라이버시 논란
38
설명
2026년 9월 18일, 개발자 ferstar는 Z.ai의 AI 코딩 앱 ZCode가 사용자의 동의 없이 전체 Git 히스토리를 포함한 작업 공간 데이터를 암호화하여 클라우드에 업로드한다는 사실을 폭로했습니다.
이 발견은 Z.ai가 GLM 모델을 기반으로 하는 ZCode의 보안 및 프라이버시 정책에 대한 심각한 의문을 제기하며, 오픈 소스 커뮤니티에 큰 파장을 일으켰습니다.
ZCode는 사용자에게 투명성을 약속했지만, 실제로는 사용자의 민감한 개발 기록이 제3자에게 노출될 수 있다는 점에서 큰 우려를 낳고 있습니다.
### 배경 설명
ZCode는 베이징에 본사를 둔 Z.ai가 개발한 AI 코딩 데스크톱 애플리케이션으로, 오픈 웨이트 모델인 GLM 계열(예: GLM-5.3-Flash)을 기반으로 합니다. Z.ai는 2026년 1월 홍콩 증권거래소에 상장되었으며, ZCode는 2026년 7월 출시되었습니다. 당시 Z.ai는 경쟁사인 Anthropic의 Claude Code에서 발생한 은닉 텔레메트리 논란을 의식하며, 오픈 웨이트 모델을 활용한 보안성을 강조했습니다. Z.ai의 한 임원은 X(구 트위터)를 통해 ZCode에 "목록에 있는 것 외에 어떤 스파이웨어도 구현하지 않을 것"이라고 답변하며 사용자 신뢰를 얻으려 했습니다. 그러나 ferstar의 분석 결과, ZCode는 사용자가 로그인 상태일 때 작업 공간의 전체 .git 히스토리, LFS 에셋 캐시, reflogs, 전역 앱 설정을 포함한 모든 데이터를 암호화하여 Alibaba Cloud의 OSS(Object Storage Service)에 업로드하는 것으로 밝혀졌습니다. 이는 ZCode의 공식 웹사이트나 개인정보처리방침에 명시되지 않은 내용입니다.
### 데이터 패키징 및 업로드 메커니즘
ferstar의 분석에 따르면, ZCode는 사용자의 작업 공간에서 .git/lfs/, .git/objects/, .git/logs/ 디렉토리와 소스 코드 및 문서를 포함한 데이터를 수집합니다. 한 예로 42,411개의 파일로 구성된 작업 공간에서는 .git 디렉토리가 전체 페이로드의 86.6%를 차지했으며, 이는 단순히 현재 파일 상태뿐만 아니라 저장소 생성 이후의 모든 변경 이력을 포함합니다. 여기에는 삭제된 API 키, 미공개 제품 계획을 암시하는 브랜치 이름, 내부 호스트명 등이 포함될 수 있습니다. 업로드 과정은 다음과 같습니다. ZCode 클라이언트는 zcode.z.ai로부터 OSS 폼 서명, 오브젝트 키, 크기 제한, RSA 공개 키를 요청받습니다. 이후 클라이언트는 작업 공간을 tar.gz로 압축하고 AES-256-CTR로 암호화한 뒤, 대칭 키를 래핑하여 Aliyun OSS에 직접 POST합니다. OSS는 Z.ai 백엔드에 콜백하여 스냅샷을 등록합니다. 이 과정에서 클라이언트는 zcode.z.ai 및 Aliyun OSS 노드와 지속적인 연결을 유지합니다.
### 설정 및 개인정보처리방침의 허점
ZCode의 설정에는 "Optimize Experience"와 "Repo Snapshot Indexing"과 같은 옵션이 있지만, 이들은 각각 모델 학습 데이터 사용 여부와 서버에서의 스냅샷 인덱싱 여부만을 제어할 뿐, 데이터 패키징 및 업로드 자체를 막지는 못합니다. "Optimize Experience"가 비활성화되어 있어도 데이터는 모델 학습을 위해 승인되지 않을 뿐, 스냅샷 캡처 및 업로드는 계속 진행됩니다. "Repo Snapshot Indexing"이 비활성화되어도 로컬 패키징 및 업로드는 중단되지 않습니다. ZCode 클라이언트는 시작 시점에 캡처 사이드카를 무조건 인스턴스화하며, 사용자 설정과는 무관하게 유효한 JWT 토큰만 있으면 작동합니다. 세션 로그에 따르면, 프롬프트 입력 전이나 작업 완료 시마다 캡처 이벤트가 발생했습니다. 또한, ZCode는 "ReadSessionContext"라는 도구를 포함하고 있어, 다른 지속된 ZCode 세션의 내용을 요청 시 읽어올 수 있습니다. 이는 호스트 레벨의 스냅샷 사이드카와 결합하여 사용자 세션 내용이 로컬에 저장될 뿐만 아니라 클라우드에도 캡처될 수 있음을 의미합니다. ZCode의 개인정보처리방침은 "대화 중에 제출된 텍스트, 파일 및 코드"만을 수집한다고 명시하고 있으며, 전체 작업 공간 및 Git 히스토리 업로드에 대한 언급은 어디에서도 찾아볼 수 없습니다.
### 암호화 키와 사용자 제어의 부재
이 사건의 핵심은 암호화 키에 있습니다. ZCode는 엔벨로프 암호화를 사용하는데, 페이로드는 대칭 키로 암호화되고, 이 대칭 키는 RSA-OAEP 공개 키로 래핑됩니다. 이 공개 키는 업로드 자격 증명 협상 중에 서버로부터 전달받습니다. 해당 개인 키는 오직 Z.ai의 클라우드에만 존재합니다. ferstar는 로컬 시스템의 모든 개인 키로 아카이브를 해독하려 시도했지만 실패했습니다. 즉, 사용자 디스크에 저장된 313MB의 암호화된 데이터는 사용자 자신이나 ZCode 클라이언트 자체로는 해독할 수 없습니다. ferstar는 "서버만이 사용할 수 있는 키는 서버가 원할 때 언제든지 코드를 읽을 수 있도록 하는 단 하나의 목적만을 가진다"고 결론지었습니다. 이는 사용자가 자신의 데이터를 제어할 수 있는 능력이 근본적으로 없음을 시사합니다.
### 방어 조치 및 실질적 해결책
사용자가 업로드된 아카이브를 삭제하더라도, ZCode 클라이언트는 30분 이내에 새로운 아카이브를 재패키징하여 업로드합니다. 실질적인 해결책은 파일 시스템 레벨에서 접근 권한을 제한하는 것입니다. Linux에서는 `sudo chattr +i ~/.zcode/v2/checkpoints` 명령어를, macOS에서는 `chflags uchg ~/.zcode/v2/checkpoints` 명령어를 사용하여 checkpoints 디렉토리를 쓰기 불가능하게 만들 수 있습니다. 이 조치를 취하면 checkpoints 롤백 UI 기능이 작동하지 않게 되지만, 채팅, 자동 완성, 도구 호출 등 다른 기능은 정상적으로 작동합니다. 이 설정은 `chattr -i` 또는 `chflags nouchg` 명령어로 복원할 수 있습니다.
### 가치와 인사이트
ZCode 사건은 오픈 소스 모델을 사용하는 것과 별개로, AI 코딩 도구의 '러닝타임' 또는 '하네스'의 신뢰성이 얼마나 중요한지를 명확히 보여줍니다. 사용자가 로컬에서 모델을 실행하더라도, 해당 도구가 어떤 데이터를 수집하고 어디로 전송하는지에 대한 투명성이 보장되지 않으면 진정한 의미의 로컬 AI라고 할 수 없습니다. 이 사건은 개발자들에게 AI 도구 선택 시 단순히 모델의 성능뿐만 아니라, 데이터 수집 및 처리 방식, 개인정보처리방침의 명확성, 그리고 사용자 제어 가능성까지 면밀히 검토해야 함을 시사합니다. 특히, 클로즈드 소스 하네스를 사용하는 경우, 공급업체의 신뢰성에 전적으로 의존해야 하므로 더욱 신중한 접근이 필요합니다.
### 기술·메타
- ZCode (AI 코딩 데스크톱 앱)
- Z.ai (개발사)
- GLM (오픈 웨이트 모델 계열)
- GLM-5.3-Flash (모델명)
- Alibaba Cloud OSS (Object Storage Service)
- AES-256-CTR (암호화 알고리즘)
- RSA-OAEP (암호화 방식)
- tar.gz (압축 포맷)
- Linux (운영체제)
- macOS (운영체제)
### 향후 전망
ZCode 사건 이후, AI 코딩 도구 시장에서는 데이터 프라이버시와 투명성에 대한 요구가 더욱 거세질 것으로 예상됩니다. Z.ai가 이번 사태에 대해 공식적인 입장 표명이나 개선 조치를 발표할 경우, 이는 다른 AI 도구 제공업체들에게도 영향을 미칠 것입니다. 오픈 소스 AI 에이전트 커뮤니티는 ZCode와 같은 사례를 반면교사 삼아, 더욱 강력한 보안 및 프라이버시 기능을 갖춘 대안을 개발하거나 기존 도구의 투명성을 강화하는 데 집중할 가능성이 높습니다. 또한, 사용자들은 ZCode와 같이 데이터 수집 메커니즘이 불분명한 클로즈드 소스 도구에 대한 경계를 강화하고, 오픈 소스 또는 명확한 데이터 정책을 가진 도구를 선호하게 될 것입니다. 향후 경쟁은 모델 성능뿐만 아니라, 사용자 데이터 보호 및 신뢰 구축 능력에서도 치열해질 것입니다.
📝 원문 및 참고
- Source: Hacker News
- 토론(HN): [news.ycombinator.com](https://news.ycombinator.com/item?id=49752422)
- 원문: [링크 열기](https://tokenstead.ai/guides/zcode-silent-git-history-upload)
---
출처: Hacker News · [원문 링크](https://tokenstead.ai/guides/zcode-silent-git-history-upload)
이 글에 대한 한 줄 의견
신고 · 불법·유해·아동 안전(CSAE) 관련 콘텐츠

댓글 0
아직 댓글이 없습니다. 로그인하면 바로 의견을 남길 수 있습니다.