↓ メインコンテンツへスキップ
  1. 記事一覧/

ZCode、ユーザーに無断でGit履歴全体をクラウドへ送信

·5 分
著者
Alicia
AI・IT・ハードウェアの最新ニュースを自動配信するテックブログです。
目次
サムネイル

ZCodeが密かにGit履歴を丸ごとアップロードしていた
#

2026年9月18日、「ferstar」というハンドル名の開発者が、AIコーディングデスクトップアプリ「ZCode」のリバースエンジニアリング結果を公開した。その内容は衝撃的なもので、アプリにログインした状態にあるだけで、ユーザーのワークスペース全体——完全な.git履歴、LFSアセットキャッシュ、リフログ、グローバル設定——が暗号化されてAlibaba CloudのオブジェクトストレージサービスであるAliyun OSSへ自動的に送信されていることが確認された。

何が送信されているのか
#

ferstarが調査に使用したワークスペース(商用プロジェクト、42,411ファイル、345MB)から生成された暗号化アーカイブは313MBに達した。調査中に564回のアップロード失敗が記録されている。

アーカイブの内訳は以下の通りである。

コンテンツサイズ割合
.git/lfs/196.1 MB56.8%
.git/objects/102.2 MB29.6%
.git/logs/0.6 MB0.2%
ソースコード・ドキュメント46.2 MB13.4%

.gitディレクトリだけでアーカイブ全体の86.6%を占めている。これが特に問題なのは、Gitのオブジェクトストアが単なるファイルのスナップショットではなく、リポジトリ開設初日からの完全な変更履歴を含んでいるからだ。後のコミットで削除されたAPIキー、未リリースの製品計画を示す未プッシュのブランチ名、.git/configに記録された内部ホスト名なども、すべてこのアーカイブに含まれてしまう。

暗号化されているが、鍵はZ.aiだけが持つ
#

問題をさらに深刻にしているのが暗号化の仕組みだ。ZCodeはエンベロープ暗号化方式を採用しており、ペイロードはAES-256-CTRで暗号化され、その対称鍵はサーバーから受け取ったRSA-OAEPの公開鍵でラップされる。対応する秘密鍵はZ.aiのクラウド上にのみ存在する。

ferstarはローカルシステム上のすべての秘密鍵でアーカイブの復号を試みたが失敗した。つまり、ユーザー自身のディスクに保存されている313MBの暗号文を、ユーザー本人もZCodeクライアント自身も復号できないということだ。

ferstarはこう結論づけている。「サーバーだけが使える鍵には、サーバーがいつでもコードを読めるようにするという、ただひとつの目的しかない。」

設定のトグルでは止められない
#

ユーザーが取り得る自然な対策として設定画面のオプションを確認することが考えられるが、ferstarはUIのスイッチとソースコードを照合し、いずれも無効であることを確認した。

  • 「エクスペリエンスを最適化」(optimizeAgentExperienceEnabled):データをモデルの学習に使用するか否かを制御するのみ。スナップショットの取得とアップロードは継続される。
  • 「リポジトリスナップショットインデックス作成」(repoSnapshotIndexingEnabled):サーバー側でアップロード済みスナップショットをインデックス化するか否かを制御するのみ。ローカルのパッキングとアップロードは継続される。

キャプチャ処理を行うサイドカーはアプリ起動時に無条件でインスタンス化されており、ユーザー設定による制御は存在しない。有効なJWTトークンが取得できれば即座に動作する。1つのアクティブセッションで62回のキャプチャイベントが確認されており、プロンプト送信前とタスク完了時に毎回トリガーされている。

また、この送信パイプラインはエージェントのツールとして実装されているのではなく、ツールループの外側で動作するホストレベルのサイドカーとして実装されている。そのため、エージェント自身はこの動作を「見て」おらず、131KBにおよぶキャプチャされたシステムプロンプト全体にもAliyun、OSS、アップロード、プライバシーに関する記述は一切ない。

プライバシーポリシーにも記載なし
#

ZCodeのプライバシーポリシーには「会話中に送信されたテキスト、ファイル、コード」を収集すると記載されているが、ワークスペース全体やGit履歴をパッケージ化してアップロードすることについての記述はない。ポリシー、FAQ、変更履歴のいずれにも該当する説明は存在しないとferstarは指摘している。

背景:「スパイウェアはない」と公言していたZ.ai
#

ZCodeは2026年7月にリリースされた。X(旧Twitter)上でZ.aiの幹部が「スパイウェアのようなものはZCodeのウェブサイトに記載されている以外は実装しない」と発言していたが、ワークスペーススナップショット機能はZCodeのウェブサイトに記載されていない。

ferstarの投稿は13時間以内に276,000ビューを超え、中国語圏での警告スレッド(「ZCodeを今は使わないほうがいい…できる限りオープンソースのエージェントを使うのがベスト」)も63,800ビューを集めた。ZCodeチームに関連するアカウントから「申し訳ありません、こんな形で見つけてしまって」という返信があったが、これはメカニズムの否定ではなく確認と受け取られている。

Z.aiの公式アカウントは記事公開時点でferstarの投稿に返答していない。

まとめ
#

ZCodeにおけるGit履歴の無断アップロード問題は、複数の点で通常のプライバシー問題を超えている。設定で止められない、ユーザー自身が復号できない、プライバシーポリシーに記載がない、という三重構造だ。

筆者の見解: GLMのウェイト(モデルの重み)がオープンウェイトであることと、ZCodeというクライアントアプリがオープンソースであることは全く別の話だ。ソース記事でも複数のコメント投稿者がこの点を混同していたことが指摘されており、オープンウェイトモデルを使ったクローズドソースのハーネス(実行環境)に対する警戒心を改めて持つべきだと感じる。ローカルでAIを動かすことと、そのフロントエンドを信頼することは、別問題として考える必要がある。


出典: ZCode, the GLM coding agent, silently uploads your Git history

関連記事