Type: concept
Confidence: 0.80
Created: 2026-04-25
Updated: 2026-04-25
Tags: securityauthenticationapi-protectionAI工程

客户端证明

概述

客户端证明是 Claude Code 中在 Zig 原生层实现的 API 调用认证机制,本质上是为 API 调用实现的"DRM"(数字版权管理)。

关键内容

  1. 实现机制:
  2. 在 API 请求中包含特殊的 HTTP header x-anthropic-billing-header: cch=00000
  3. 使用 Bun 的原生 HTTP 栈(用 Zig 编写)替换占位符 00000 为基于请求内容计算的哈希值
  4. JavaScript 层完全透明,哈希计算在 Zig 原生层完成

  5. 设计原理:

  6. JavaScript 层容易被 MITM 代理拦截和修改
  7. Zig 原生层更难绕过,需要修改 Bun 二进制本身,成本极高
  8. 占位符等长设计不改变 Content-Length,避免破坏标准 HTTP 签名

  9. 解决的问题:

  10. 防止第三方客户端如 OpenCode 集成 Claude Code 的内部 API
  11. 防止用户以订阅价格而非按量付费访问昂贵的 API 资源

  12. 局限性:

  13. 可通过 MITM 代理剥离 anti_distillation 字段绕过
  14. 可通过设置 CLAUDE_CODE_ATTRIBUTION_HEADER=false 禁用 header 注入
  15. 在 stock Bun 上运行 JS bundle 时无效

来源

相关