xAIのコーディングCLI「Grok Build」(バージョン0.2.93)を通信レベルで分解調査した結果、このツールがエージェントが実際に読み込んだコードとは無関係に、gitの履歴や無編集の.env機密情報を含むリポジトリ全体をxAIのクラウドインフラに送信していたことが判明しました。
独立系研究者の@cereblab氏がGitHub gistとして公開したこの分析は、複数のメディアによって裏付けられています。macOS上でMITMProxyを使いHTTPS通信を傍受した結果、Grokのバイナリ内に2つの異なる送信経路が存在することが特定されました。
1つ目は、エージェントが明示的に読み込んだファイルの内容を運ぶ「モデルターン」チャネル(POST /v1/responses)で、これはクラウド型コーディングアシスタントとして想定通りの挙動です。
2つ目は、バックグラウンドのストレージチャネル(POST /v1/storage)で、エージェントが一度も開いていないファイルを含む、ワークスペース全体のスナップショットをアップロードしていました。送信先はgrok-code-session-tracesという名前のGoogle Cloud Storageバケットでした。
この違いを立証するため、Cereblab氏はファイル内にカナリアマーカーを仕込み、「いかなるファイルも読み込まないように」と指示するプロンプトをGrokに与えました。それにもかかわらず、GrokはPOST /v1/storage経由でリポジトリ全体をgitバンドルとしてアップロードし、レスポンスはHTTP 200を返しました。
取得したバンドルをクローンしたところ、一度も開かれていないファイルであるsrc/_probe/never_read_canary.txtが、固有のマーカーをそのまま保持した状態で復元され、gitの履歴全体も含まれていました。この結果は、無関係な別のコードベースでも再現され、同一の結果が得られています。
偽のAPI_KEYとDB_PASSWORDのカナリア値を含む、gitで追跡対象になっている.envファイルは、ライブのモデルターンのリクエスト本文と、ストレージにアップロードされたsession_stateアーカイブの両方に、一切マスキングされることなくそのまま出現しました。実際のコードベースでの検証では、エージェントがファイルを読み込んでから数秒のうちに、48KBのリクエスト本文内に認証情報が平文で記録されていました。
エージェントが一度も読み込んでいないファイルで構成された12GBのテスト用リポジトリでは、ストレージチャネルが約75MBずつ73個のチャンクに分けて合計5.10GiBを転送した一方、モデルターンチャネルはわずか192KBしか転送していませんでした。この約27,800倍という差について、Cereblab氏は、アップロードがモデルが実際に処理した内容ではなく、コードベース全体を追跡している証拠だとしています。
Cereblab氏が確認したところによると、82件のストレージリクエストがHTTP 200を返しており、失敗が発生したのはモデル使用量のクォータを扱うエンドポイントのみで、ストレージ側では発生していませんでした。学習利用への同意を管理する「Improve the model」トグルをCLI上で無効化しても、コードベースのアップロードは止まりませんでした。
/v1/settingsへのサーバーレスポンスは、この設定をオフにしてもtrace_upload_enabled: trueを返し続けており、その後もgitバンドルのアップロードは成功していました。この仕組みについては、Cereblab氏が確認したCLIのインストールスクリプトにもクイックスタート資料にも記載がありませんでした。
この発表を受け、xAIはサーバー側でdisable_codebase_upload: trueとする変更を適用し、/privacyのオプトアウト機能を導入しました。ただし、Cereblab氏が改めて通信を検証したところ、この新しいオプションはデータの転送そのものを止めるのではなく、データの保持を制御するものであることが判明しています。
独立した再検証では、報告後にクライアントが/v1/storageへのアップロードを行わなくなり、サーバーもtrace_upload_enabled: falseを返すようになったことが確認されており、何らかの対策が展開されたことがうかがえます。ただし、この検証は個々のアカウントに限られたものにとどまっています。
イーロン・マスク氏は、これまでにアップロードされたデータを削除すると公に約束していますが、この主張はまだ独立した第三者による確認が取れていません。
SOCに、自信を持って行動するためのインテリジェンスを。
ノイズを減らし業務効率を高める、ANY.RUNのThreat Intelligence Feedsをぜひご覧ください。
翻訳元: https://cyberpress.org/grok-build-cli-repositories-env-secrets/