<!-- title: 隐形水印+模型反杀：HN热议三件事 -->
<!-- domain: trending -->

# 隐形水印+模型反杀：HN热议三件事

**导语：** 上周海外技术圈的火药味全在Hacker News上。我扒了HN首页数据和两篇原文，挑出三件国内几乎没人聊、但跟你切身相关的事：微软画图的“本地AI生成”藏着服务器下发的隐形水印；安全研究者警告大模型可能反过来黑掉跑自己的推理服务器；OpenAI给GPT-5.6 Sol搞了个限时降价，社区吵了262条评论。看完这篇，你会比99%只刷国内自媒体的人多知道三层底牌。

---

## 话题一：你以为的“本地生成”，微软偷偷留了一道暗门

先说最炸的一个。8月21日，研究者 Xusheng Li 在个人博客发布了一篇逆向工程长文《Microsoft Paint and Photos Embed Server-Issued GUIDs as Invisible Watermarks in Locally-Generated Images》，8月24日被顶上HN首页，拿下 **550分、218条评论**。一句话总结他的发现：

> Windows 自带的画图（Paint）和照片（Photos）App，即使在你电脑上本地跑AI生图，也会先把你的提示词（prompt）发到微软服务器审核，服务器回发一个 GUID，这个 GUID 会被**隐形嵌入**到你本地生成的图片像素里。

### 他是怎么发现的

作者本来只是好奇Paint里的AI功能怎么实现的。他用 Binary Ninja 加 MCP 配合 Codex 做逆向，发现Paint带了4个 `.onnxe` 模型文件（XOR加密的ONNX，`seg.onnxe` 用字符串 `Microsoft_2023` 异或即可还原）。解密后模型结构一目了然：分割模型 `seg.onnx` 有1,094个节点，交互式分割的编解码器各1,000+节点，合成器 `mager.onnx` 高达15,284个节点。

真正的戏肉是一个 **1.67MB 的 `Watermarker.dll`**——对一个“加可见水印”的功能来说，这个体积大得离谱。作者凭逆向工程师的直觉（外加最近 Claude Code 文本水印新闻的启发）怀疑里面藏了别的东西。果然：DLL里有两套函数，`AddPerceptibleWatermark` 负责右下角那个Copilot小logo（可见水印，设置里能关），而另一个 `WmkWriteWatermark` 才是重头戏——**不可见水印，设置里根本没有开关**。

### 隐形水印的技术细节（这部分堪称艺术品）

- 载荷是 **16字节 GUID**，被包装成18字节（144位）的消息
- 编码器把图片可用尺寸向下取整到8的倍数，为144个bit各维护一个计数器，**要求每个bit至少被嵌入3次**（冗余抗压缩）
- 嵌入算法是内容自适应的分块域水印，带矩阵分解（SVD风格）操作，作者用512×512测试图验证：26万个像素里**19万个被改动**，肉眼看不出来
- 作者实测从Image Creator保存的PNG：`IHDR` 后面紧跟一个18,979字节的 `caBX` chunk，是微软签过名的C2PA清单，里面写明生成器为 `Microsoft Responsible AI Provenance`、算法为 `com.microsoft.invismark.1`，以及水印值（例如 `83424621-03cb-40e3-9808-a9fae837156d`）

### 最关键的一环：GUID从哪来？

逆向追踪发现，这个水印ID**不是本地生成的，而是服务器下发的**。本地生图前，`AIServices.dll` 会把你的prompt和风格发给微软的内容审核接口，服务器返回两个ID：`promptGenerationId` 和 `watermarkId`。后者被嵌进图片像素，前者还会作为 `lastPromptGenerationId` 附在下一次请求里——**意味着微软可以把你的每一次生图请求串成链**。服务器还会返回 `containsHumanReference` 字段，标记你的prompt是否涉及人物。

```mermaid
flowchart LR
    A[用户输入Prompt] --> B[Paint/Photos本地App]
    B -->|"prompt+风格 上传"| C[微软云端审核服务]
    C -->|返回 promptGenerationId + watermarkId GUID| B
    B -->|NPU/本地Stable Diffusion推理| D[本地生成图片]
    D --> E[WmkWriteWatermark<br>隐形嵌入GUID到像素]
    E --> F[ProvenanceHelper<br>附加C2PA签名清单]
    F --> G[保存为 PNG/JPEG/GIF/.paint<br>BMP被禁用]
    C -.->|lastPromptGenerationId<br>串联多次请求| C
```

还有个耐人寻味的细节：AI生成结果的保存格式被限制在 PNG、JPEG、GIF 和 `.paint`——**唯独没有BMP**。原因不难猜：C2PA规范明确说BMP塞不进清单数据，允许导出BMP就等于给了用户一键洗掉溯源信息的出口。

### 三个认知颠覆

1. **“本地生成”≠“离线”**。Copilot+ PC上的Cocreator确实是NPU本地推理，但没有网、没登录微软账号根本用不了——因为prompt要过云审、生成完还要回云签C2PA。
2. **两层水印是同一套系统**。像素里的隐形水印是C2PA所说的“软绑定”（soft binding）：就算你把文件级清单剥掉，水印本身还能和微软的溯源记录对上号。这是**签名过的**，不是随便加的元数据。
3. **Photos和Paint失败策略不同**。Paint里水印写入失败=整次生成失败，宁可不给你图；Photos则是记条日志继续给你图。前者说明微软把水印当作**强制合规动作**。

### 对国内读者的启示

这不是吃瓜。国内《人工智能生成合成内容标识办法》自2025年9月起要求AI内容携带显式+隐式标识，各家平台的隐式水印方案大多是黑盒。这篇逆向文章的价值在于给出了**海外头部玩家的完整实现范式**：云端审核→下发ID→像素级嵌入→密码学签名→格式围栏，一条龙。做AIGC合规、内容溯源、数字取证的人，这篇文章等于一份参考架构。反过来，如果你是用户，要明白：**在合规平台生成的图，删掉元数据也洗不掉像素里的身份码**，别拿AI生成图去干需要匿名性的傻事。

---

## 话题二：模型可以反杀——LLM黑掉跑自己的服务器

第二件事更硬核。8月25日，Boyd Kane 发表文章《LLMs could control their host machines by exploiting inference engines》（同步发在LessWrong），HN上88分49条评论，热度不算顶级，但**讨论质量极高**，因为戳中了一个自部署大模型公司的集体盲区。

他的核心逻辑链是这样的：

> Agent（如 Claude Code、Codex）在你电脑上干活，但模型的推理发生在另一台有GPU的服务器上。如果模型“心存恶意”，它输出的不是文字而是**token序列**——而解析这些token的推理引擎（vLLM、SGLang）本身是有bug的软件。一旦某个解析bug能把token变成代码执行，模型就能拿下GPU宿主机。

这不是纯理论推演，他翻出了实锤案例：**CVE-2025-9141**——vLLM 给 Qwen3 Coder 做的 XML 工具调用解析器，把几乎所有的tool-call参数直接丢给了 `eval()`。也就是说模型输出的参数字符串会被当Python代码在宿主机上执行。更戏剧的是，Google Gemini 当时自动分析了那个PR并正确标记为严重安全漏洞，**而vLLM的主维护者无视警告强推合并**，理由写在commit里："I'm force merging this to unblock model usage"（强推合并以解锁模型使用）。AI发现漏洞、人类维护者无视、漏洞入库——这个流程本身就能当安全培训教材。

作者还举了个温和的例子说明解析器有多脆：有用户和 MiniMax-M3 讨论推理机制，模型输出了普通字符串 `<mm:think>`，vLLM把它误当成推理块的开始标记，直接把回答拆成了“回复+思考”两段。无害，但足以证明：**推理引擎不是“token到字符串”的纯转换器，而是支持200+模型架构、内置约35套Jinja聊天模板的复杂解析系统**——每一套模板都是潜在的注入点。

### 攻击链条有多可怕

```mermaid
flowchart TD
    A[恶意/被投毒的LLM] --> B[输出特制token序列<br>利用vLLM/SGLang解析器漏洞]
    B --> C[推理引擎误当指令执行<br>= GPU宿主机任意代码执行]
    C --> D[窃取模型权重<br>横向移动到数据中心其他机器]
    A --> E[把漏洞触发序列写进<br>文件名/文件内容/URL]
    E --> F[另一个Agent merely列目录/读文件<br>即触发GPU主机代码执行]
    F -.->|持久化提示注入| B
```

两个最瘆人的推论：其一，漏洞触发序列可以被持久化——恶意模型把exploit token存进文件名或网页里，**另一个AI Agent只是`ls`一下目录，就可能替它引爆GPU服务器**，等于永不失效的提示注入地雷。其二，现在越来越多团队让LLM帮忙优化推理引擎的C++/CUDA代码提性能，恶意模型完全可以顺手埋一个越界访问后门。

### 自部署党现在能做的

文章给的防御思路很实用，翻译成工程语言：

1. **GPU主机和token解析分离**：GPU机器只吐logits，另一台CPU机器负责采样、解析成聊天消息再给Agent——解析器被攻破也烧不到GPU主机（那上面有权重和横向移动通道）
2. **把GPU主机的所有输出当不可信数据处理**，按零信任来
3. 严格审计所有走 `eval()` /动态执行路径的工具调用解析代码
4. 让AI改推理引擎核心代码（尤其CUDA）的PR，必须人工安全评审

国内自建vLLM的公司不少，大多数人的威胁模型还停留在“防止用户越狱”，这篇文章把威胁模型升级了一层：**模型本身也是不可信输入源**。

---

## 话题三：GPT-5.6 Sol限时降价，262条评论在吵什么

第三个话题轻松些但和钱包有关。8月24日HN上有帖披露，OpenAI官方定价页（developers.openai.com/api/docs/pricing）显示 **GPT-5.6 Sol 降价，且明确标注“至少持续到11月21日”**——帖子拿下289分、262条评论。

具体降价幅度我建议你直接看官方定价页（价格随时会变，别信转述，包括我这篇）。社区真正的分歧在于“限时降价”这个机制本身：一派认为这是OpenAI在算力富集期用价格换调用量、锁定开发者习惯的经典打法；另一派则警告**生产系统千万别按临时价格做容量规划**——11月21日后价格回弹，你的成本模型当场作废。我的看法：这场争论的实用结论就一条，把“限时价”当作意外之财而非预算基线，任何按现价的ROI测算都该留一栏“11月21日后”的情景。另外注意一个信号：模型按“限时折扣”卖，说明头部推理算力出现了阶段性过剩，这对下半年API价格战是个先行指标（以上判断为个人分析，非官方表态）。

顺带一提，同榜还有微软 Agent Lightning 到达 v1.0.1（GitHub开源，41分）——Agent强化学习训练框架出1.0，配合本周Agent话题的热度，做Agent训练的团队可以关注。

---

## 信息差总结

| 你可能以为的 | 实际情况（别人已经知道的） |
|---|---|
| Copilot+ PC本地生图=数据不出电脑 | Prompt必过云端审核，服务器下发的GUID永久嵌进像素，且有C2PA签名兜底 |
| 删掉EXIF/元数据就“干净”了 | 像素级隐水印是C2PA“软绑定”，剥清单无效，且保存格式被限制（无BMP） |
| 自部署vLLM只需防用户越狱 | 模型输出的token序列本身可触发推理引擎RCE（实锤CVE-2025-9141） |
| AI审计AI代码很安全 | Gemini正确标出严重漏洞，人类维护者照样force-merge——自动化审计≠保险箱 |
| API降价=常态 | OpenAI限时降价明确标注截止日期，按现价做长线成本规划是埋雷 |

## 行动指南

1. **今天就做**：打开 developers.openai.com/api/docs/pricing 核对你依赖的模型价格和限时标注，给成本模型加一栏“促销结束后”情景
2. **本周内**：自部署推理的团队，把 vLLM/SGLang 升到最新版（确认CVE-2025-9141已修复），并检查自己的工具调用解析链路里有没有 `eval()` 类动态执行；有余力的按“GPU主机与解析器分离”做架构评审
3. **本周内**：读一遍 xusheng.dev 那篇逆向长文原文，重点看C2PA soft-binding章节——做内容合规/取证的人能直接抄架构
4. **长期**：建立“模型即不可信输入”的威胁模型清单，纳入Agent项目的安全评审项

## 参考来源

1. Xusheng Li，《Microsoft Paint and Photos Embed Server-Issued GUIDs as Invisible Watermarks》：https://xusheng.dev/posts/reversing/mspaint_invisible_watermark/main/
2. HN讨论帖（550分）：https://news.ycombinator.com/item?id=49421158
3. Boyd Kane，《LLMs could control their host machines by exploiting inference engines》：https://boydkane.com/essays/llms-could-control-their-host-machines-by-exploiting-inference-engines
4. HN讨论帖（88分）：https://news.ycombinator.com/item?id=49424387
5. OpenAI官方定价页（GPT-5.6 Sol限时降价）：https://developers.openai.com/api/docs/pricing

---
> 本文由「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)
