智譜ZCode、クラウド削除し補償配布

智譜(Zhipu)は9月28日午前、ZCodeのリポジトリスナップショットのアップロード経路を撤去し、該当するクラウドデータを削除したと発表した。オープンソース版も同時にバージョン3.14.3に更新された。公式の新しい説明は「ユーザーが操作しない限りクラウドには送信しない」というもので、ユーザーの明示的な操作がなければコードが端末外に出ることはないとしている。

同じ発表には補償策も盛り込まれた。ユーザー1人につき、週次リセットカード4枚と5時間リセットカード4枚が付与され、有効期間は1カ月。さらに9月28日から10月7日にかけて、智譜は全ユーザーを対象に1億トークン分のクーポンを10万件配布する。受け取り条件や配分ルールについて、発表文では詳細が明かされていない。

問題はRepo Wiki機能にあった

事故の原因について、智譜はこれまでの説明を踏襲している。ZCodeの「コードリポジトリインデックス」機能の中にある「Repo Wiki」という工程で、Wikiページを生成する際にリポジトリデータのアップロードが発生する可能性があったという。データはクラウド上でページ生成が終わり次第即座に破棄され、保存はしていないとしている。この機能はリリース当初デフォルトで有効になっており、そのため一部のユーザーが影響を受けたとしている。

この説明は9月18日に初めて出た際から、開発者たちの追及を受けていた。当時、テックブロガーのFerstar氏が分解して示したサンプルでは、1回のスナップショットが313MBあり、その86.6%が.gitディレクトリだった。つまりアップロードされていたのは現在のコードだけでなく、コミット履歴全体とLFSキャッシュも含まれていたことになる。開発者たちがより問題視したのは、画面上のスイッチがサーバー側でデータをモデル学習に使うかどうかしか制御しておらず、ローカルでのパッケージ化とアップロード自体はそれとは無関係に続いていた点だった。

謝罪から監査まで、間に3日

時系列で整理すると、智譜の今回の対応は3つの段階に分かれる。

9月18日、謝罪文を発表し、近くコードリポジトリをオープンソース化し第三者機関に審査を依頼すると約束。同日、全ユーザーに対して週次クォータのリセットを1回実施した。

9月21日、ZCodeが正式にオープンソース化された。東方財富(Eastmoney)などの報道によると、智譜は中国情報通信研究院(CAICT)と緑盟科技(NSFOCUS)に依頼してセキュリティ監査を実施した。CAICTの技術評価では、zcode-prodという名称のAlibaba Cloud OSSストレージバケットが「クラウド上にデータがゼロ」の状態にあり、v3.14.0クライアントではすでにRepo Wiki機能が削除されていると結論づけられた。NSFOCUSは、当該バケットとその中の全データオブジェクトが削除済みであることを確認し、クライアント内にローカルのリポジトリスナップショットやファイル外部送信を引き起こす機能は見つからなかったとしている。智譜も、コミュニティで指摘されたコードデータは一切保存しておらず、モデル学習に使ったこともないと改めて表明した。

9月28日、つまり今回の発表で、バージョンは3.14.3まで進み、補償策が実施された。

発覚、謝罪、オープンソース化、監査、補償という流れを10日間で終えたのは、決して遅いペースではない。オープンソース化によって外部の人間がスナップショットモジュールのコードを自分で確認できるようになり、監査についても2つの独立した機関がそれぞれ結論を出しており、一方的な「修正済み」宣言よりも検証しやすい。

まだ説明されていない部分

発表と監査結果がカバーしているのは「現在」の状態、つまりバケットは空でアップロード経路も撤去されたという点にとどまる。過去にさかのぼる形のいくつかの疑問には、公開されている資料では答えが見当たらない。

影響を受けたユーザーやリポジトリの数について、智譜は明らかにしていない。ZCodeのユーザー数は8月中旬に100万を突破し、報道によれば9月中旬には約200万に倍増したとされる。Repo Wikiがデフォルトで有効になっていた期間にどれだけのユーザーが該当していたかは、外部からは推計のしようがない。データが実際にOSS上にどれくらいの期間残っていたのか、削除前に他のシステムから読み取られたことがなかったのかについても答えは出ていない。監査報告書の全文も公開されておらず、報道されているのはあくまで結論部分のみだ。

現在もZCodeを使っている開発者にとって、取るべき対応自体は変わらない。3.14.3にアップグレードし、端末に残っているスナップショット用ディレクトリを削除し、Git履歴に一度でも登場した鍵やトークンはすべてローテーションしておくことが望ましい。すでに外部に流出してしまったものについては、「削除済み」という約束はあくまで事業者側の対応を保証するものでしかない。

今回配布される補償はリセットカードとトークンであり、これらはZCodeを使い続ける人にとってしか意味を持たない。今回の一件をきっかけにすでにツールをアンインストールした企業ユーザーが求めているのは、クォータではなく監査報告書全文だ。

参考資料:智譜ZCode公式発表、IT之家(IT Home)、新浪科技(Sina Tech)、CocoLoop、東方財富(Eastmoney)。補償策のカード枚数とトークン配布期間、オープンソース版のバージョン番号、中国情報通信研究院と緑盟科技による監査結論の表現を確認した。