Z.aiのGLMコーディングエージェント「ZCode」、Git履歴全体を無断でアップロード
Z.ai(GLMオープンウェイトモデルを手がける北京の企業)のAIコーディングデスクトップアプリ「ZCode」は、ログイン中は常にワークスペース全体を無断でパッケージ化してアップロードしている。対象には.git履歴、LFSアセットキャッシュ、reflog、グローバルアプリ設定が含まれ、暗号化されたうえでAlibaba CloudのオブジェクトストレージであるAlibaba Cloud OSSに送信される。この発見は、2026年9月18日にferstarという開発者が公開したリバースエンジニアリングの解説によるものだ。
実際にパッケージされる中身
パッケージのマニフェストはローカルに平文で保存されている。42,411ファイルのスナップショット1件について、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はエンベロープ暗号化を採用している。ペイロードは対称キーで暗号化され、その対称キーはアップロード資格情報のネゴシエーション時にサーバーから渡されるRSA-OAEP公開キーでラップされる。対応する秘密キーはZ.aiのクラウドにしかない。ferstarはローカルシステム上のすべての秘密キーでアーカイブのラップ解除を試みたが失敗した。自分のディスク上にある313MBの暗号文は、自分自身でもZCodeクライアントでも復号できない。
app.asarから見えたアップロードの流れ
- クライアントが
zcode.z.aiに資格情報を要求し、OSSフォーム署名、オブジェクトキー、サイズ上限、ラウンドごとのRSA公開キーを受け取る。 - クライアントがワークスペースを
tar.gzにパッケージ化し、AES-256-CTRで暗号化して対称キーをラップする。 - クライアントがアーカイブをAlibaba Cloud OSSに直接POSTし、OSSがZ.aiのバックエンドにコールバックしてスナップショットを登録する。
テスト中、稼働中のクライアントはzcode.z.aiと2つのAlibaba Cloud 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モデルを使うためにデスクトップアプリをインストールしたなら、動いている。
📖 Read the full source: HN AI Agents
👀 See Also

OneCLI:AIエージェント向けオープンソース認証情報保管庫
OneCLIは、AIエージェントと外部サービスの間に位置するRustで書かれたオープンソースのゲートウェイで、リクエスト時に実際の認証情報を注入し、エージェントにはプレースホルダーキーのみを表示します。AES-256-GCM暗号化ストレージを提供し、組み込みのPGliteを備えた単一のDockerコンテナで動作し、HTTPS_PROXYを設定できるあらゆるエージェントフレームワークと連携します。

ClawGuard:OpenClaw API認証情報保護のためのオープンソースセキュリティゲートウェイ
ClawGuardは、AIエージェントと外部APIの間に位置するセキュリティゲートウェイで、エージェントマシンではダミーの認証情報を使用し、実際のトークンは別途保存します。機密性の高い呼び出しにはTelegramによる承認を提供し、リクエストの監査証跡を維持します。

ハッカーボット・クロー:GitHub Actionsワークフローを悪用するAIボット
hackerbot-clawと呼ばれるAI駆動のボットが、CI/CDパイプラインに対して1週間にわたる自動化攻撃キャンペーンを実行し、Microsoft、DataDog、CNCFプロジェクトを含む少なくとも6つのターゲットのうち4つでリモートコード実行を達成しました。このボットは5つの異なるエクスプロイト技術を使用し、書き込み権限を持つGitHubトークンを外部に流出させました。

マルチメッセージプロンプトインジェクション:Claudeに対する「架空の生物」攻撃パターン
3つのメッセージで架空のルールを構築し、最後に幽霊を召喚してルールを発動させる攻撃——各メッセージ単体では無害。このパターンは攻撃者の間で独立して収束しつつある。