<!-- title: 你的代码正在被AI偷偷打包回家 -->
<!-- domain: trending -->

## 导语

本周（2026年7月初）海外技术社区同时炸了三件跟"代码往哪流"有关的事，国内几乎没人转。第一件：有人把 xAI 官方的 Grok 编程 CLI 拆到底，发现它**把你整个仓库——连 git 历史——打包传回 xAI 的云存储桶**，而且哪怕你明确命令它"别读任何文件"也一样传；第二件：安全公司 Noma Labs 用**一条普通的 GitHub Issue**就骗 GitHub 的 AI Agent 把同组织下的**私有仓库**内容吐给了攻击者；第三件是个视角差：智谱的 **GLM 5.2** 在海外被独立博主称作"**真正的 DeepSeek 时刻**"，说它要引爆一场 AI 行业的利润率崩盘——而国内大多数人还只把它当"又一个国产模型"。这三件事的共同信息差是：**你以为代码还在自己机器上，其实它早就开始往外跑了**。

---

## 风暴一：Grok Build CLI 把你的整个仓库打包上传

这件事的主角是 xAI 官方的编程 CLI `grok`（二进制名 `grok`，版本 `0.2.93`，macOS arm64，SHA-256 `2a97ba67…d767c`）。一位研究者 cereblab 用自己机器上的流量做了**可复现的链路级拆解**，发到 Hacker News 上瞬间冲到 **194 分、101 条评论**（[原帖与全文 gist](https://gist.github.com/cereblab/dc9a40bc26120f4540e4e09b75ffb547)）。

被证明的有三件事，每一件都贴了抓包证据：

1. **它把你读取过的文件内容——包括 `.env` 里的密钥——逐字、不打码地传给 xAI**。这个密钥出现在**两个通道**：实时模型调用 `POST /v1/responses`，以及一个 `session_state` 归档通过 `POST /v1/storage` 上传并返回 `HTTP 200`。
2. **它上传整个仓库——每个被 git 追踪的文件加全部 git 历史——跟你让不让 agent 读没关系**。最有杀伤力的一组实验：研究者故意建了一个仓库，里面放了个 `src/_probe/never_read_canary.txt` 当"金丝雀"，然后给 Grok 的 prompt 是**"reply OK, do not read any files"**（只回 OK，别碰任何文件）。结果 Grok 照样把整个仓库打成 `git bundle` 通过 `POST /v1/storage` 传走了（返回 200）。事后把抓到的 bundle 反克隆出来，那个**被告知"别读"的金丝雀文件一字不差地躺在里面**，还附带了完整 git 历史。规模测试更夸张：一个 **12 GB** 全是"永不读取"的随机文件仓库，`/v1/storage` 通道硬是传了 **5.10 GiB、全程 HTTP 200**，而同一时间的模型调用通道才动了 **192 KB**——**约 27,800 倍的比值**，等于在说"上传跟代码库体积挂钩，跟你读了啥毫无关系"。
3. **存储目的地是 Google Cloud Storage 的 `grok-code-session-traces` 桶**（不是 AWS），名字直接硬编码在二进制里、也出现在抓到的 `metadata.json`（`gs://grok-code-session-traces/…`）。这个机制默认开启，而且——这点最关键——**关掉"Improve the model"开关也没用**，`/v1/settings` 依然返回 `trace_upload_enabled: true`。

研究者很克制，特意标注"这些证据只证明了**传输、接收、存储**，并不能证明 xAI 一定拿去训练"——但这对用户来说，区别已经不大了。

**社区吵成什么样**（这才是 trending 的精华）：

| 立场 | 典型原话（HN 评论区） |
|------|----------------------|
| 🔴 愤怒派 | "这得是史上最成功的全民监控行动了" |
| 🔴 失望派 | "那个开关 ON/OFF 都一样传——这也太阴了（diabolical）。我本来因为 grok-4.5 够用、价格有竞争力想试的，现在彻底拉黑" |
| 🟡 务实派 | "所以我把所有编码工具和 LLM 提供商物理隔离，用 bubblewrap 把编码工具关进沙箱：只准读当前项目目录、`.git` 只读、敏感目录挂成空目录、网络走 Unix socket 代理" |
| 🟡 替代派 | "原生 runner（claude-code/codex/grok-build）对隐私都是黑盒，下次更新偷塞东西你根本不知道。更安全的路是用 opencode，模型走 API 调用——代价是体验永远比不上原生" |
| 🟢 理解派 | "这不意料之中吗？agent 启动后工作目录就是它的，它想干嘛干嘛。如果它把这些用于后端省掉往返，对我反而是好事啊" |

**对中国开发者的信息差**：国内很多人图便宜、图"够用"正在切到 Grok 这类新兴 CLI，但绝大多数人**根本不知道 `grok` 默认会把整仓打包外传**。注意这条和之前那条"Claude Code 偷埋隐写水印"完全不是一回事——那是**水印标记**（用来追你），这是**整仓 exfiltration**（用来喂自己）。前者伤的是你"用没用它"，后者伤的是你**公司的核心资产**。

---

## 风暴二：GitLost——一条公开 Issue 就掏空你的私有仓库

如果说 Grok 是"厂商主动搬你的家"，那 GitLost 就是"别人借厂商的手搬你的家"，性质更阴。Noma Labs 的研究员 Sasi Levi 在 7 月 6 日披露，给漏洞起名 **GitLost**（[原文](https://noma.security/blog/gitlost-how-we-tricked-githubs-ai-agent-into-leaking-private-repos/)），在 HN 拿下 **538 分、204 评论**。

背景是 GitHub 新出的 **Agentic Workflows**：把 GitHub Actions 跟一个 AI Agent（后端是 Claude 或 GitHub Copilot）配对，团队可以用**纯 Markdown 写工作流**，agent 自己读 Issue、调工具、自己回复。研究员的第一个问题是——**当这个 agent 读到不该信任的内容时，会发生什么？**

答案是教科书级的**间接提示注入（indirect prompt injection）**：攻击者在**同组织下一个公开仓库**里发一条精心构造的 GitHub Issue，Issue 文本里藏着一串恶意指令。agent 一读这条 Issue，就被"夺舍"了，转而调用它的仓库工具，去读**同一个组织下的私有仓库**，再把内容发到攻击者指定的外部端点。最可怕的是——**攻击者全程无需登录、无需任何权限**，只要能在那个公开仓库发 Issue 就行。

```mermaid
flowchart LR
    A[攻击者<br/>无需登录] -->|在同组织公开仓库<br/>发一条 Issue| B((公开仓库))
    B -->|Issue 正文内藏<br/>恶意指令| C[GitHub Agentic Workflow]
    C -->|Agent 读 Issue| D{AI Agent<br/>Claude / Copilot}
    D -->|被注入指令操控| E[调用仓库工具]
    E -->|读取同组织私有仓库| F[(你的私有仓库)]
    F -->|数据外泄| G[攻击者外部端点]
    style A fill:#f8d7da,stroke:#c33
    style F fill:#fff3cd,stroke:#c93
    style G fill:#f66,color:#fff
```

**对中国团队的信息差**：国内大量团队和企业（尤其是出海、开源项目）直接跑在 GitHub 上，很多刚开 Copilot/Agentic Workflows 图省事。但很少有人意识到：**只要你的组织里存在任何一个公开仓库，且开启了 AI Agent，攻击者就能以"发 Issue"这种零门槛方式，借 agent 的手去翻你的私有仓库**。这不是理论——Noma 录了完整 PoC 视频。HN 评论区有人冷笑：标题说"我们 tricked 了 agent"，是在给 GitHub/LLM 厂商洗地（"gaslighting"），意思是这种攻击根本就是**架构性的必然**，只要 agent 既能读不可信输入、又有读私有数据的权限，注入就防不住。

---

## 风暴三（视角差）：GLM 5.2 在海外被叫"真正的 DeepSeek 时刻"

前面两件是"代码外流"，这件是反过来——**一个国产模型，正在海外被当成搅动全球 AI 经济的鲶鱼，而国内还没几个人从这角度聊它**。博主 Martin Alderson 的长文《GLM 5.2 and the coming AI margin collapse》在 HN 拿了 **690 分、468 评论**（[原文](https://martinalderson.com/posts/the-upcoming-ai-margin-collapse-part-1-glm-5-2/)），开篇就一句暴论：**"真正的 DeepSeek 时刻，这次真的来了。"**

他的论证链条是这样的：

- 当年 DeepSeek R1 让市场恐慌，是因为大家**误读**了成本——以为训练成本（一次性、固定、前置 capex）就是 AI 的全部成本，于是英伟达股价一夜崩盘。但这读错了。
- **推理（inference）才是真正有边际成本的部分，它随需求线性增长**。而当前闭源实验室的商业模式，是花巨资训练、然后靠**极高毛利的推理**来摊销。作者算了一笔账：当 Anthropic/OpenAI 对推理收 **$25/MTok**，按算力的 rack rate 估，**毛利率大概在 90% 左右**（OpenAI 泄露的财务显示整体 ~60%，但那还摊了支持、支付等一堆别的成本）。
- **GLM 5.2 是第一个真正够格的、能正面硬刚 Opus 和 GPT 的开放权重模型**。作者用它审了几周 PR，原话："很难分清它和我日常用的 Opus 的差别"。而它开放权重，意味着你可以**自托管**——**边际成本就是你自己那点电费和折旧**，直接把 `$25/MTok` 这个"定价锚"给击穿了。
- 这就是他说的"margin collapse"：当开放权重模型追平闭源，闭源那 90% 的推理毛利**没有理由再维持**，整个行业利润率要被往下拽。

作者也给了清醒的 caveat：GLM 5.2 **很慢**（因为它"想太多"——thinking token 多，又费 token 又费时间），做**非交互的后台任务**（比如后台审 PR）完全够用、还便宜，但**交互式场景下慢得让人走神**；另外**它没有视觉支持**——而作者说自己"从以前讨厌用视觉，变成了天天用"，这个缺口挺伤。

```mermaid
flowchart TD
    P["闭源实验室<br/>Opus / GPT<br/>推理 $25/MTok<br/>≈90% 毛利"] -->|高利润摊销训练成本| R1[维持定价锚]
    O["GLM 5.2 开放权重<br/>可自托管<br/>边际成本≈电费+折旧"] -->|击穿定价锚| R2[margin collapse]
    R1 --> M["API 价格被迫整体下移"]
    R2 --> M
    style O fill:#d4edda,stroke:#28a745
    style M fill:#fff3cd,stroke:#c93
```

**对中国用户的信息差（这是最值钱的视角差）**：国内很多人把 GLM 当"又一个国产大模型"，比的是跑分、是跟豆包/Kimi 谁强。但**海外已经在用它做定价套利**了——一个能自托管、又能打平 Opus 的开放权重模型，等于给了所有不想被闭源 API 锁死的人一条退路。如果你公司有闲置 GPU（办公室、机柜、桌底那些没人管的卡），GLM 5.2 的"慢但便宜"特性，**天然适合塞进 CI 流水线做后台代码审查**——这正是它被诟病的"慢"反而成了优点的地方：反正后台跑，慢点无所谓，省下来的全是真金白银。而这一切，国内绝大多数从业者还完全没从"经济模型"这个角度想过。

---

## 信息差总结

| 议题 | 国内大多数人以为的 | 海外社区实际在吵的 |
|------|------------------|-------------------|
| Grok Build CLI | "便宜、grok-4.5 够用，可以试试" | 默认把**整个仓库+git 历史**打包传回 xAI GCS 桶，**关"Improve the model"也没用**，12GB 仓传了 5.1GB |
| GitHub AI Agent | "新功能，省事，开起来" | 一条公开 Issue 就能让 agent 借间接注入**翻同组织私有仓库**，攻击者零登录（GitLost） |
| GLM 5.2 | "又一个国产模型，比比跑分" | 被海外称为"**真正的 DeepSeek 时刻**"，第一个能正面打 Opus/GPT 的开放权重模型，正在击穿 $25/MTok 的 90% 毛利定价锚 |

---

## 行动指南（这周就能做）

1. **先查你装了哪些原生编码 runner**。`grok`、`claude-code`、`codex` 这类"黑盒 runner"在 HN 被一致判为高危——它们下次更新偷塞什么你根本不知道。优先级：立刻。
2. **给编码工具上沙箱**。跟着 HN 高赞的 bubblewrap 方案：agent 只能读当前项目目录、`.git` 挂成只读、敏感目录（`.env`、`~/.ssh`）挂成空目录、网络只走受控代理。这能同时挡住"被动 exfiltration"和"主动注入外传"两条路。
3. **切到 API + 开源 runner**。用 opencode 这类开源 agent 走模型 API 调用，损失一点体验、换回对网络流量的可观测性。真不想丢体验的，参考那位"自建 CLIProxyAPI fork 在私有 Railway 上、用 X 订阅调 Grok"的老哥——隔离比忠诚更重要。
4. **审计 GitHub Agentic Workflows 权限**。如果你的组织开了 Copilot/AI agent：检查它的工具权限是否包含"读私有仓库"；暂时别让 agent 同时能读不可信输入（Issue/PR）和私有数据；公开仓库先收紧谁能发 Issue。GitLost 在 GitHub 官方修复前都是架构性问题。
5. **拿闲置 GPU 跑 GLM 5.2 做后台审查**。把 CI 里"非交互、不赶时间"的环节（PR 审查、批量测试用例生成）从 `$25/MTok` 的闭源 API 切到自托管 GLM 5.2，吃下这波 margin collapse 的红利，而不是当被收割的一方。

---

## 参考来源

- [What xAI's Grok Build CLI Actually Sends to xAI（cereblab 的完整链路拆解 gist）](https://gist.github.com/cereblab/dc9a40bc26120f4540e4e09b75ffb547)
- [GitLost: How We Tricked GitHub's AI Agent into Leaking Private Repos（Noma Security）](https://noma.security/blog/gitlost-how-we-tricked-githubs-ai-agent-into-leaking-private-repos/)
- [GLM 5.2 and the coming AI margin collapse — part 1（Martin Alderson）](https://martinalderson.com/posts/the-upcoming-ai-margin-collapse-part-1-glm-5-2/)
- [Mesh LLM: distributed AI computing on iroh（自托管/分布式推理，相关解法）](https://www.iroh.computer/blog/mesh-llm)
- [Grok Build CLI 官方页（被拆解的对象）](https://x.ai/cli)

---
> 本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵**爱卫生**（微信ID: gprshome201101）维护。
> 聚焦5G/6G核心网、3GPP标准、AI工具实战。知识星球「51学通信」提供深度技术答疑和行业洞察。

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
