3호02 / 05

AI 코딩 도구 ZCode, .git 디렉터리째 서버로 올리고 있었다

원문 ferstar (개인 블로그) ↗

ZCode는 GLM 모델을 만드는 Zhipu의 데스크톱 AI 코딩 도구입니다. 유료 구독자인 보안 연구자 Ferstar가 9월 18일 디스크 공간을 정리하다 이상한 디렉터리를 발견했고, 같은 날 분석을 공개했습니다.

무엇이 올라가고 있었나

~/.zcode/v2/checkpoints/ 안에 평문 메타데이터와 암호화된 .enc 파일이 있었습니다. 내용은 작업 공간 전체였습니다.

  • .git 디렉터리 통째로 — 커밋 이력, reflog, 푸시하지 않은 브랜치까지 (용량의 86.6%)
  • LFS 바이너리와 캐시
  • ZCode 전역 설정 파일

한 상용 프로젝트(345MB)는 564번 업로드를 시도하다 실패해 "대기 중"으로 남아 있었고, 작은 공개 저장소(압축 15KB)는 실제로 올라갔습니다.

어디로, 어떻게

zcode.z.ai에서 RSA 공개키를 받아 → 로컬에서 AES-256-CTR로 암호화 → 서버가 감싼 키와 함께 → Aliyun OSS에 직접 POST → 서버에 완료 콜백. app.asar(Electron 패키지)를 역분석해 이 파이프라인을 찾았습니다.

끌 수 있었나

없었습니다. "Optimize Experience", "Repo Snapshot Indexing" 토글은 서버 쪽 인덱싱만 제어하고 로컬 패키징·업로드는 막지 못했습니다. 개인정보처리방침에도 이 동작은 적혀 있지 않았습니다.

제조사 반응

같은 날 17:44, Zhipu는 "위키 생성을 위한 코드베이스 인덱싱" 목적으로 올렸고 처리 후 즉시 삭제했다고 밝혔습니다. 3.14.0에서 기능을 없애고, 오픈소스 공개와 제3자 감사를 약속했습니다.

9월 21일 공개된 저장소는 커밋 2개에 이력이 지워진 상태였고, 업로드 파이프라인 코드는 없었습니다. 체크포인트 기능은 순수 로컬 Git 작업으로 확인됐습니다.

확인된 것과 아닌 것

업로드 경로와 내용은 로컬 파일과 역분석으로 확인됐습니다. "처리 후 즉시 삭제했다"는 제조사의 말은 확인할 방법이 없습니다. 영향 버전은 3.12.3이고 3.14.0부터 코드가 제거됐습니다.

실무에서 할 일

ZCode 사용자였다면 3.14.0 이상으로 올리고, 그래도 불안하면 체크포인트 디렉터리를 쓰기 금지로 묶으면 됩니다(sudo chattr +i ~/.zcode/v2/checkpoints, macOS는 chflags uchg). 더 일반적인 교훈은 하나입니다 — 외부 반출이 금지된 저장소에 AI 코딩 도구를 붙일 때는 설정 화면을 믿지 말고 네트워크를 보세요. 어떤 도구든 코드를 읽는 권한은 코드를 보낼 권한과 같습니다.

  1. 01개인정보 유출 과징금 상한, 매출 3%에서 10%로 — 9월 13일 시행
  2. 02AI 코딩 도구 ZCode, .git 디렉터리째 서버로 올리고 있었다지금 읽는 글
  3. 03한 시간 차로 나온 Opus 5.5와 GPT-6 — 가격이 절반이 됐다
  4. 04삼성, 내년 HBM4 생산을 두 배 이상으로 — 글라스 캐리어 발주가 말해주는 것
  5. 05Cloudflare Containers에서 다른 고객의 디스크 조각이 보였다 — 원인은 블록 초기화 설정 하나

2026년 9월 19일에 올라온 글

그날 대시보드 →
  1. ·개인정보 유출 과징금 상한, 매출 3%에서 10%로 — 9월 13일 시행

댓글

불러오는 중…