研究发现,从开发者电脑中发出的数据分为两条性质截然不同的路径:
POST /v1/responses):代理打开的文件被序列化后,通过模型请求发送。这是云端编码助手的正常行为。POST /v1/storage):整个代码仓库被独立打包成一个 git bundle,然后以约 75 MB 为一个数据块,上传至名为 grok-code-session-traces 的 Google Cloud Storage 存储桶。数据量的巨大差异证明了上传行为并非由代理读取了什么文件所驱动。在一个 12 GB 的测试仓库上,存储通道上传了 5.10 GiB 的数据,共 73 个数据块(所有请求均返回 HTTP 200 状态码),而模型交互通道仅传输了 192 KB——两者比例高达 约 27,800 倍。即使在提示词中明确要求“只回复 OK,不要读取任何文件”的情况下,该工具依然会将整个仓库作为 git bundle 上传;通过克隆抓包截获的 bundle 文件,可以恢复出一个名为 src/_probe/never_read_canary.txt 的“哨兵文件”(该文件明确指示代理不要打开),以及完整的 git 提交历史。
.env 文件中包含的 API 密钥、数据库密码及其他凭证,通过两条通道原封不动、毫无遮挡地被传输。在受控测试中,一个包含了数据库凭证和 API 密钥的 48 KB 文件,其内容在请求体中“清晰可见”。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 存储桶中。从架构层面防范任何编码代理的安全风险:
研究发现,从开发者电脑中发出的数据分为两条性质截然不同的路径:
POST /v1/responses):代理打开的文件被序列化后,通过模型请求发送。这是云端编码助手的正常行为。POST /v1/storage):整个代码仓库被独立打包成一个 git bundle,然后以约 75 MB 为一个数据块,上传至名为 grok-code-session-traces 的 Google Cloud Storage 存储桶。数据量的巨大差异证明了上传行为并非由代理读取了什么文件所驱动。在一个 12 GB 的测试仓库上,存储通道上传了 5.10 GiB 的数据,共 73 个数据块(所有请求均返回 HTTP 200 状态码),而模型交互通道仅传输了 192 KB——两者比例高达 约 27,800 倍。即使在提示词中明确要求“只回复 OK,不要读取任何文件”的情况下,该工具依然会将整个仓库作为 git bundle 上传;通过克隆抓包截获的 bundle 文件,可以恢复出一个名为 src/_probe/never_read_canary.txt 的“哨兵文件”(该文件明确指示代理不要打开),以及完整的 git 提交历史。
.env 文件中包含的 API 密钥、数据库密码及其他凭证,通过两条通道原封不动、毫无遮挡地被传输。在受控测试中,一个包含了数据库凭证和 API 密钥的 48 KB 文件,其内容在请求体中“清晰可见”。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 存储桶中。从架构层面防范任何编码代理的安全风险: