研究者は、開発者のマシンからデータが流出する2つの異なる経路を特定しました。
POST /v1/responses):エージェントが開いたファイルがモデルへのリクエストにシリアライズされます。これはクラウド型コーディングエージェントとして想定される範囲内の動作です。POST /v1/storage):問題はこちらです。リポジトリ全体が独立してgit bundleとしてパッケージ化され、grok-code-session-tracesという名前のGoogle Cloud Storage(GCS)バケットに、約75 MBのチャンクに分割されてアップロードされていました。このアップロードが、エージェントが実際に読み取ったファイルに基づくものではないことは、データ量の桁違いの差が証明しています。12 GBのテストリポジトリを用いた実験では、ストレージチャネルが73個のチャンク(全てHTTP 200応答)で5.10 GiBものデータを転送したのに対し、モデルターンチャネルが転送したのはわずか192 KBでした。その比率は実に約27,800倍にも上ります。さらに深刻なのは、「OKとだけ返答し、いかなるファイルも読むな」とプロンプトで明示的に指示した場合でも、ツールはリポジトリ全体をgit bundleとしてアップロードしたことです。キャプチャしたbundleをクローンすると、エージェントに「開くな」と明示されたファイル(src/_probe/never_read_canary.txt)と、完全なGitコミット履歴が復元されました。
xai-data-collector)であることが特定されました。ソースコードのパスとして、crates/codegen/xai-data-collector/src/gcs.rsやcrates/codegen/xai-grok-shell/src/upload/といったパスが確認されています。研究者は、ウェブ設定上の「Improve the model(モデル改善)」というプライバシートグルをテストしましたが、アップロードを止めることはできませんでした。
trace_upload_enabled: trueを返し続けました。disable_codebase_upload=trueという設定オプションが存在しますが、サーバーサイドの挙動との関係は文書化されておらず、研究者のテストではサーバーがクライアント側の設定を尊重しないことが示されました。元の研究者および後の分析記事では、以下の対策が推奨されています。
プライベートリポジトリでGrok Build CLIを使用したチームが直ちに取るべき行動:
.envファイル、設定ファイル、またはGit履歴に存在したあらゆる認証情報は、grok-code-session-traces GCSバケットに送信・保存された可能性があるため、速やかに変更してください。あらゆるコードエージェントに対するアーキテクチャ上の対策:
研究者は、開発者のマシンからデータが流出する2つの異なる経路を特定しました。
POST /v1/responses):エージェントが開いたファイルがモデルへのリクエストにシリアライズされます。これはクラウド型コーディングエージェントとして想定される範囲内の動作です。POST /v1/storage):問題はこちらです。リポジトリ全体が独立してgit bundleとしてパッケージ化され、grok-code-session-tracesという名前のGoogle Cloud Storage(GCS)バケットに、約75 MBのチャンクに分割されてアップロードされていました。このアップロードが、エージェントが実際に読み取ったファイルに基づくものではないことは、データ量の桁違いの差が証明しています。12 GBのテストリポジトリを用いた実験では、ストレージチャネルが73個のチャンク(全てHTTP 200応答)で5.10 GiBものデータを転送したのに対し、モデルターンチャネルが転送したのはわずか192 KBでした。その比率は実に約27,800倍にも上ります。さらに深刻なのは、「OKとだけ返答し、いかなるファイルも読むな」とプロンプトで明示的に指示した場合でも、ツールはリポジトリ全体をgit bundleとしてアップロードしたことです。キャプチャしたbundleをクローンすると、エージェントに「開くな」と明示されたファイル(src/_probe/never_read_canary.txt)と、完全なGitコミット履歴が復元されました。
xai-data-collector)であることが特定されました。ソースコードのパスとして、crates/codegen/xai-data-collector/src/gcs.rsやcrates/codegen/xai-grok-shell/src/upload/といったパスが確認されています。研究者は、ウェブ設定上の「Improve the model(モデル改善)」というプライバシートグルをテストしましたが、アップロードを止めることはできませんでした。
trace_upload_enabled: trueを返し続けました。disable_codebase_upload=trueという設定オプションが存在しますが、サーバーサイドの挙動との関係は文書化されておらず、研究者のテストではサーバーがクライアント側の設定を尊重しないことが示されました。元の研究者および後の分析記事では、以下の対策が推奨されています。
プライベートリポジトリでGrok Build CLIを使用したチームが直ちに取るべき行動:
.envファイル、設定ファイル、またはGit履歴に存在したあらゆる認証情報は、grok-code-session-traces GCSバケットに送信・保存された可能性があるため、速やかに変更してください。あらゆるコードエージェントに対するアーキテクチャ上の対策: