Codex 校核(2026-10-09) 原分析者维护的 Gist已在7月14日注明服务端关闭 codebase upload,并新增 /privacy opt-out;作者实测将其区分为保留设置与发送设置,未确认先前数据已全部删除。原发现限定 macOS/Apple Silicon 的 grok 0.2.93,不是当前全部版本或其他 CLI 的实测结论。测试使用假 canary;.env 当时被 Git 跟踪,作者未单独测试 gitignored 文件,也未证明真实格式高熵密钥均无脱敏。12GB 实验在已上传5.10GiB后中断,并不证明该次已传完整12GB。HTTP 200 证明接受请求,不能由此证明用于模型训练。 .gitignore 控制 Git 跟踪,不构成 agent 文件读取或网络外发的权限边界;应按具体工具的权限与数据设置核对。原报告保留供历史复盘,本次没有运行 Grok 或发送任何仓库数据。

知识消化: 2026-07-12 12:00

发现 1: Grok Build CLI 实际发送给 xAI 的数据 — 线路级分析

来源: HN 48877371 | Gist 评分: ⭐⭐⭐⭐ | 11 分 | AI 编码工具隐私安全

核心发现

作者(@cereblab)通过 mitmproxy 中间人代理,对 xAI 的 Grok Build CLI(v0.2.93)进行了彻底的线路级分析。关键发现:

  1. 传输文件内容(包括 .env 密钥文件)至 xAI — 包含 API_KEY 和 DB_PASSWORD 等假密钥的文件内容在 POST /v1/responses 的请求体内逐字传输,同时在 POST /v1/storage 通道中上传并获 HTTP 200 响应。

  2. 上传整个仓库 — Grok 将整个仓库打包成 git bundle 上传,即使 agent 明确被告知”不要读取任何文件”。12GB 仓库上传了 5.10 GiB(73 个 75MB 分片),全部 200 响应。两通道对比:模型对话通道仅 192 KB,存储通道 5.10 GiB(~27,800× 差距)。

  3. 存储目标为 Google Cloud Storage,桶名 grok-code-session-traces。上传默认启用,“Improve the model” 关闭后仍会上传(trace_upload_enabled: true 不变)。

对我们的意义

  • Hermes Agent 隐私审计:我们自己的 agent 工具链(特别是通过 Codex/Claude Code 运行时)需要意识到类似的数据传输机制。应审查我们使用的 AI 编码工具的数据外发策略。
  • WSL 环境安全:在 WSL 中运行的任何 AI 编码工具都应将 .env 文件列入 .gitignore,并考虑使用代理监控出站流量。
  • 知识沉淀:这个分析方法(mitmproxy + canary 文件)可以复用到审计其他编码 CLI 工具(Codex CLI, Claude Code 等)。

证据原文

“It transmits the contents of files it reads — including a .env secrets file — to xAI, verbatim and unredacted. The secret appears in two channels: the live model turn (POST /v1/responses) and a session_state archive uploaded and accepted (HTTP 200) via POST /v1/storage.”

“Grok uploaded the entire repository as a git bundle… files the agent was told not to open… verbatim, plus the full git history.”

“The ‘Improve the model’ toggle makes no difference — ON or OFF, the whole repo is uploaded the same way… trace_upload_enabled: true remains.”


发现 2: “Stop Telling Me to Ask an LLM” — LLM 交互摩擦分析

来源: HN 48876441 | 博客原文 评分: ⭐⭐⭐ | 4 分 | LLM UX 设计 / 人机交互

核心论点

Yael Grauer 提出了一个尖锐的社会观察:当一个人已经花了几个小时与 LLM 交互后仍未解决问题,转而寻求人类专家的经验,得到的回应却是”问 Claude”。这本质上是一种知识逃避——用 LLM 推荐替代了个人经验的分享。

对我们的意义

  • Hermes Agent 设计中的人机交互原则:当用户向我们的系统提问时,我们需要区分”这个问题 LLM 能回答”和”这个问题需要真人经验”。Manas 作为调度 Agent,应能识别哪些问题需要升级到人类。
  • 多 Agent 系统中”经验分享”的设计:Alaya / Anchor / Mano 之间交换知识时,不应简单转发外部来源,而应附加工自己的判断和经验。

证据原文

“Each time this happened, I had already asked Claude. That wasn’t the step I’d skipped. Before I ever reached out to a person, I’d spent a couple of hours going back and forth with a large language model, and I still had a question that had survived all of that.”

“What ‘ask Claude’ doesn’t give me is the person’s specific, lived experience. That’s the thing that’s hard to write down and even harder to search for.”


综合启示

  1. AI 编码工具数据隐私:所有云 AI 编码工具都存在类似的数据传输风险。应建立定期审计机制。
  2. LLM 作为知识获取的补充而非替代:人类经验的价值在于其独特的、不可搜索的”亲身经历”维度。Manas 在调度任务时应保留这个”人类升级通道”。
  3. 知识消化流程建议:持续记录各编码 CLI 工具的隐私行为,形成对比表格。