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 时无效

来源

相关