Z.ai의 GLM 코딩 에이전트 ZCode, 사용자의 전체 Git 기록을 몰래 업로드하다

✍️ OpenClawRadar📅 게시일: September 18, 2026🔗 Source
Ad

베이징 기업 Z.ai(GLM 오픈웨이트 모델 개발사)의 AI 코딩 데스크톱 앱 ZCode는 로그인만 하면 전체 워크스페이스를 조용히 패키징해 업로드한다. 여기에는 .git 기록, LFS 자산 캐시, reflog, 글로벌 앱 설정이 포함되며, 암호화되어 Aliyun OSS(알리바바 클라우드 객체 스토리지)로 전송된다. 이 사실은 2026년 9월 18일 개발자 ferstar가 공개한 리버스 엔지니어링 분석에서 밝혀졌다.

실제로 패키징되는 항목

패키징 매니페스트는 로컬에 평문으로 저장된다. 42,411개 파일 스냅샷 한 건에 대해 ferstar는 345MB 상용 워크스페이스에서 생성된 313MB 암호화 아카이브를 캡처했다:

  • .git/lfs/ — 196.1 MB (56.8%)
  • .git/objects/ — 102.2 MB (29.6%)
  • .git/logs/ — 0.6 MB (0.2%)
  • 소스 코드 및 문서 — 46.2 MB (13.4%)

.git 디렉터리만 전체 페이로드의 86.6%를 차지한다. git 객체 저장소는 작업 트리 스냅샷이 아니라 저장소의 전체 계보다. 이후 커밋에서 삭제된 API 키, 푸시되지 않은 브랜치 이름, .git/config의 내부 호스트명과 저장소 경로가 모두 포함된다. 조사 중 564건의 업로드 실패 시도가 기록되었다.

암호화 키는 Z.ai 클라우드에만 존재

ZCode는 봉투 암호화(envelope encryption)를 사용한다. 페이로드는 대칭 키로 암호화되고, 그 대칭 키는 업로드 자격 증명 협상 중 서버가 전달한 RSA-OAEP 공개 키로 래핑된다. 대응하는 개인 키는 Z.ai 클라우드에만 있다. ferstar는 로컬 시스템의 모든 개인 키로 아카이브를 풀려고 시도했지만 실패했다. 사용자 디스크에 있는 313MB 암호문은 사용자나 ZCode 클라이언트 모두 복호화할 수 없다.

Ad

app.asar에서 드러난 업로드 파이프라인

  1. 클라이언트가 zcode.z.ai에 자격 증명을 요청하면 OSS 폼 서명, 객체 키, 크기 제한, 라운드별 RSA 공개 키가 반환된다.
  2. 클라이언트가 워크스페이스를 tar.gz로 패키징하고 AES-256-CTR로 암호화한 뒤 대칭 키를 래핑한다.
  3. 클라이언트가 아카이브를 Aliyun OSS에 직접 POST하면, OSS가 Z.ai 백엔드에 콜백해 스냅샷을 등록한다.

테스트 중 실행 중인 클라이언트는 zcode.z.ai와 Aliyun OSS 노드 두 곳에 지속적 연결을 유지했다.

설정 토글로는 막을 수 없다

  • Optimize Experience (optimizeAgentExperienceEnabled) — 데이터를 모델 학습에 사용하도록 허가할지 여부만 제어한다. 스냅샷 캡처와 업로드는 계속된다.
  • Repo Snapshot Indexing (repoSnapshotIndexingEnabled) — 서버가 업로드된 스냅샷을 인덱싱할지 여부만 제어한다. 로컬 패키징과 업로드는 계속된다.

ferstar는 캡처 사이드카가 시작 시 무조건 인스턴스화되며 사용자 환경설정에 대한 게이팅이 전혀 없다는 사실을 발견했다. 유일한 요구 사항은 토큰 제공자가 유효한 JWT를 생성할 수 있어야 한다는 것뿐이다. 세션 로그에는 단일 활성 세션에서 62건의 캡처 이벤트가 기록되었으며, 이는 매 프롬프트 전과 작업 완료 시 트리거되었다.

짚고 넘어갈 혼동

이 이슈가 퍼진 이유 중 하나는 — ferstar의 게시물 조회수 276,000회, FeiZ의 중국어 경고 조회수 63,800회 — 사람들이 GLM 가중치와 ZCode 하네스를 혼동하기 때문이다. 가중치는 오픈웨이트다. ZCode는 클로즈드 소스이며 Z.ai의 자사 하네스다. Petri Kuittinen의 인용 답변: "내 조언은 항상 같았다: 클로즈드 소스 AI 하네스를 신뢰하지 마라." Ollama나 llama.cpp로 GLM을 로컬에서 실행한다면 ZCode를 쓰는 게 아니다. 하지만 같은 GLM 모델을 쓰려고 데스크톱 앱을 설치했다면 ZCode를 쓰는 것이다.

📖 전체 원문 읽기: HN AI Agents

Ad

👀 See Also

AI 챗봇, 실제 전화번호 유출: 개인정보 노출 문제
Security

AI 챗봇, 실제 전화번호 유출: 개인정보 노출 문제

Gemini, ChatGPT, Claude와 같은 챗봇이 훈련 데이터의 개인식별정보(PII)로 인해 실제 개인 전화번호를 노출하고 있습니다. DeleteMe는 7개월 만에 AI 관련 개인정보 보호 요청이 400% 증가했다고 보고합니다.

OpenClawRadar
코드월 AI 에이전트, 맥킨지의 릴리 플랫폼에서 치명적 취약점 발견
Security

코드월 AI 에이전트, 맥킨지의 릴리 플랫폼에서 치명적 취약점 발견

CodeWall의 자율 공격형 AI 에이전트가 2시간 만에 McKinsey의 내부 Lilli AI 플랫폼 데이터베이스에 대한 전체 읽기/쓰기 접근 권한을 획득하여 SQL 인젝션 및 IDOR 취약점을 통해 4,650만 건의 채팅 메시지, 728,000개의 파일, 민감한 시스템 구성을 노출시켰습니다.

OpenClawRadar
OpenClaw, PicoClaw, ZeroClaw, IronClaw 및 Minion AI 에이전트에 대한 보안 조사 결과
Security

OpenClaw, PicoClaw, ZeroClaw, IronClaw 및 Minion AI 에이전트에 대한 보안 조사 결과

5개 AI 코딩 에이전트에 대한 보안 평가에서 프롬프트 주입, 탈옥, 데이터 유출 등 12개 범주의 145개 공격 페이로드를 테스트했습니다. OpenClaw는 심각한 SQL 인젝션 취약점으로 77.8/100점을 받았고, Minion은 수정 후 81.2점에서 94.4/100점으로 향상되었습니다.

OpenClawRadar
농장에서 코드까지: 한 농부가 오픈클로를 위한 오픈소스 런타임 방어 시스템을 만든 방법
Security

농장에서 코드까지: 한 농부가 오픈클로를 위한 오픈소스 런타임 방어 시스템을 만든 방법

개발 경험이 없는 한 농부가 어떻게 여러 AI 코딩 에이전트를 활용해 단 12시간 만에 OpenClaw용 오픈소스 런타임 방어 시스템을 만들었는지 알아보세요.

OpenClawRadar