WeChat (新智元)
ai-engineeringsecurity-privacy
Original source

Claude 隐形文本水印:全球追踪每一段输出

Summary

2026年8月2日起,Claude 所有文本输出嵌入隐形统计水印,全球生效,不可关闭。Anthropic 是第一家大规模部署文本水印的主流AI公司。

两层标记

  1. 文本水印 — Token 选择时引入不可见统计偏置,复制粘贴会带走,部分编辑抹不掉。覆盖所有 Claude 产品线(API、Claude、Claude Code、Claude Cowork、Claude Tag)。

  2. C2PA 文件签名 — .svg/.png/.jpg 等文件附数字签名溯源元数据,可检测篡改。

触发原因

欧盟 AI 法案 Article 50 透明度要求。但 Anthropic 选择全球适用,不限欧盟用户。违规罚款:最高1500万欧元或全球年营收3%。

四重局限(Anthropic 自己承认)

  1. 有水印 ≠ Claude 原创(可能只是校对/翻译/格式转换)
  2. 无水印 ≠ 人写的(旧模型、大幅编辑后水印衰减、过短段落)
  3. 水印强度与质量存在权衡(学术研究已证实)
  4. C2PA 元数据有开源移除工具,格式转换可剥离

争议

  • 付费用户无法关闭水印
  • 可能推动用户转向开源模型(天然无水印)
  • 检测工具尚未发布,可靠性待验证

Implementation Analysis(技术实现分析)

文本水印的主流实现路径

1. Green/Red List 方案(Kirchenbauer et al. 2023)

最经典的 LLM 水印方案。核心思路:

  • 每生成一个 token 前,用前 N 个 token 作为种子(seed),通过密钥哈希将词表分为”绿色列表”和”红色列表”
  • 生成时对绿色列表 token 的 logit 加一个小常数 δ(如 +2.0)
  • 检测时:统计文本中绿色 token 占比是否显著高于随机期望(z-test)

实现要点:

# 简化示例
def watermarked_logits(logits, prev_tokens, secret_key, delta=2.0):
    seed = hash(secret_key + prev_tokens[-N:])
    rng = Random(seed)
    green_list = rng.sample(vocab, len(vocab) // 2)
    for token_id in green_list:
        logits[token_id] += delta
    return logits

优点:简单、高效、可在推理层hook 缺点:已有公开攻击(emoji注入、同义词替换可绕过)

2. 分布偏移方案(Anthropic 更可能采用的路径)

基于 Anthropic 声称”不改变含义”,推测是更细粒度的统计偏移:

  • 不在词汇层操作,而是在 token 概率分布的”无差异区间”做微调
  • 当多个 token 概率接近时(模型不确定),微调选择倾向
  • 使用密钥控制的伪随机序列决定偏移方向
  • 偏移量足够小以不影响质量,但累积足够多 token 后统计可检测

3. 具体工程实现路径

若要在 LLM 推理服务中嵌入水印,工程上需要:

[用户请求] → [模型推理引擎] → [水印层 Hook] → [采样输出]
                                     ↓
                              密钥 + 上下文窗口
                              → 确定当前 token 的偏置模式
                              → 修改 logit 分布
                              → 正常采样

关键组件:

  • 密钥管理:全局密钥 or 每请求密钥(影响是否能追溯到具体用户)
  • 上下文窗口:用前 k 个 token 做哈希种子(k 越大越难被逐字攻击)
  • 偏置强度 δ:质量/鲁棒性权衡的核心参数
  • 检测端:需要同一密钥 + 同一哈希函数,统计绿色 token 比例

4. 对抗性攻击与鲁棒性

已知攻击手段:

  • 同义词替换(每隔 N 个词替换为同义词)
  • Paraphrase attack(用另一个 LLM 改写)
  • Emoji/Unicode 注入打断上下文窗口
  • 翻译后再翻译回来

Anthropic 可能的应对:

  • 多层级水印(字符级 + token级 + 句子级统计特征)
  • 语义不变水印(基于语义嵌入而非表层 token)
  • 动态密钥轮换 + 大上下文窗口增加破解成本

5. 对 LLM Gateway/Proxy 产品的影响

对 tenkapo.ai 这类 LLM 网关的启示:

  • 水印在模型层生效,代理层无法移除(因为不知道密钥)
  • 但代理层可以做的:检测水印存在性(如果 Anthropic 开放检测 API)
  • 下游客户可能需要知道其输出带水印——网关可以在响应中标注
  • 开源模型作为备选路由的卖点之一:无水印
  • 合规场景:网关可能需要帮客户满足 Article 50 的”部署者”义务(标注内容为AI生成)