首页 › trending › 你的代码正在被AI偷偷打包回家

导语

本周(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)。

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

  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(原文),在 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 就行。

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 评论(原文),开篇就一句暴论:"真正的 DeepSeek 时刻,这次真的来了。"

他的论证链条是这样的:

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

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 的红利,而不是当被收割的一方。

参考来源


本文由「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学通信知识星球海报-扫码加入