
一、核心结论
要点:Claude Code 构建了一套企业级用户追踪和行为分析系统,通过 Device ID(永久标识)+ 环境指纹(40+ 维度)+ 行为遥测(640+ 事件类型)形成完整用户画像。封号通常不是单一条件触发,而是多维度综合判定。
封号最可能的 5 大原因
| 排名 | 原因 | 风险等级 | 说明 |
|---|---|---|---|
| 1 | 订阅滥用/共享账号 | 极高 | Device ID 跨设备关联,检测多设备共享同一账号 |
| 2 | 速率限制违规 | 高 | 超出 rateLimitTier 配额,短时间高频调用 |
| 3 | 内容策略违规 | 高 | 消息内容指纹 + anti-distillation 检测 |
| 4 | 自动化滥用 | 中 | CI/CD 环境检测 + 非交互模式识别 + 异常 token 消耗 |
| 5 | 使用非官方客户端/篡改 | 中 | 指纹校验失败 + 版本归因 header 异常 |
二、身份追踪体系
2.1 持久化标识符
Claude Code 通过以下标识符跨会话长期追踪用户:
| 标识符 | 生成方式 | 存储位置 | 生命周期 |
|---|---|---|---|
| Device ID | randomBytes(32).toString('hex') |
~/.claude/config.json |
永久,除非手动删除 |
| Account UUID | OAuth 登录时服务端下发 | ~/.claude/config.json |
绑定账号 |
| Organization UUID | OAuth 登录时下发 | 同上 | 绑定组织 |
| Session ID | randomUUID() 每次会话生成 |
内存 | 单次会话 |
OAuth 或 git config user.email |
同上 | 绑定身份 |
注意:Device ID 为 256 位随机值,首次运行时生成并持久存储,是事件上报的核心标识;Anthropic 可通过它关联同一设备上的活动。
2.2 消息内容指纹(Fingerprint)
- 源码位置:
src/utils/fingerprint.ts - 算法:
SHA256( "59cf53e54c78" + 首条消息[4] + 首条消息[7] + 首条消息[20] + 版本号 )[:3]
该 3 字符指纹会出现在:
- HTTP Header
x-anthropic-billing-header的cc_version字段 - System Prompt 中
用途推测:后端可用此指纹校验请求来源是否来自官方客户端,识别非官方或伪造请求。
2.3 每次 API 请求携带的身份信息
HTTP Headers:
x-app: cli
User-Agent: claude-cli/2.x.x (external, cli)
X-Claude-Code-Session-Id: {SESSION_UUID}
x-anthropic-billing-header: cc_version=2.x.x.{FINGERPRINT}; cc_entrypoint=cli
x-client-request-id: {REQUEST_UUID}
Request Body metadata:
user_id: JSON 编码的 Device ID + Account UUID + Session ID
三、环境指纹采集(40+ 维度)
Claude Code 在启动时会对环境做大规模枚举,相关信息会上报服务端。
3.1 系统级信息
| 采集维度 | 数据来源 | 示例值 |
|---|---|---|
| 操作系统 | process.platform | darwin/linux/win32 |
| CPU 架构 | process.arch | x64/arm64 |
| Node.js 版本 | process.version | v20.x.x |
| Linux 发行版 | /etc/os-release | ubuntu 22.04 |
| Linux 内核 | os.release() | 6.5.0-xxx |
| WSL 版本 | /proc/version 解析 | WSL2 |
3.2 运行环境检测(40+ 种)
CI/CD 平台:GitHub Actions(GITHUB_ACTIONS)、GitLab CI(GITLAB_CI)、CircleCI(CIRCLECI)、Buildkite(BUILDKITE)、Jenkins(JENKINS_URL)等。
云开发环境:GitHub Codespaces(CODESPACES)、Gitpod(GITPOD_WORKSPACE_ID)、Replit(REPL_ID)、Vercel(VERCEL)、Railway(RAILWAY_ENVIRONMENT)等。
云平台:AWS Lambda/Fargate/ECS/EC2、GCP Cloud Run、Azure Functions/App Service。
容器与虚拟化:Docker(/.dockerenv)、Kubernetes(KUBERNETES_SERVICE_HOST)、WSL(WSL_DISTRO_NAME)。
终端与 IDE:VSCode(VSCODE_*)、Cursor(CURSOR_TRACE_ID)、JetBrains(TERMINAL_EMULATOR=JetBrains-JediTerm)、tmux/screen/SSH。
3.3 开发工具链
| 检测类型 | 方法 | 采集内容 |
|---|---|---|
| 包管理器 | which npm/yarn/pnpm | 可用包管理器列表 |
| 运行时 | which bun/deno/node | 可用运行时列表 |
| VCS | 检测 .git/.hg/.svn 等 | 版本控制类型 |
| Git 仓库 | git remote get-url origin | SHA256 哈希取前 16 字符 |
3.4 GitHub Actions 专项采集
在 CI 环境中额外采集:
| 字段 | 内容 |
|---|---|
| GITHUB_ACTOR_ID | 触发者 ID |
| GITHUB_REPOSITORY_ID | 仓库 ID |
| GITHUB_REPOSITORY_OWNER_ID | 仓库所有者 ID |
| GITHUB_EVENT_NAME | 事件类型 |
| RUNNER_ENVIRONMENT | Runner 环境 |
| RUNNER_OS | Runner 操作系统 |
四、遥测上报系统
4.1 三路并发上报架构(示意)
Claude Code CLI
→ EventMetadata 聚合(640+ 事件类型)
→ Anthropic 1P API(api.anthropic.com,约每 5 秒批量)
→ Datadog(datadoghq.com,约每 15 秒批量)
→ GrowthBook(api.anthropic.com,约每 20 分钟同步)
4.2 第一方事件日志
- 端点:
https://api.anthropic.com/api/event_logging/batch - 频率:约每 5 秒批量,最多 200 条/批
- 失败恢复:失败事件写入
~/.claude/telemetry/,下次启动重试(最多 8 次,指数退避)
关键事件类型(节选):
| 事件名 | 上报内容 | 封号相关性 |
|---|---|---|
| tengu_init | 完整环境指纹、设备信息 | 高 |
| tengu_api_success | 模型名、token、耗时、成本、TTFT | 极高 |
| tengu_api_error | 错误类型、HTTP 状态、重试次数 | 中 |
| tengu_tool_use_* | 工具名、耗时、成功/失败 | 中 |
| tengu_exit | 会话时长、总 token | 高 |
| tengu_oauth_* | 登录/刷新/失败 | 高 |
| tengu_cancel | 取消操作 | 低 |
| tengu_auto_mode_* | 自动模式使用 | 中 |
4.3 每个事件附带的元数据(摘要)
核心字段:
session_id, device_id, account_uuid, organization_uuid
subscription_type, rate_limit_tier, model, version
platform, arch, entrypoint, is_interactive, is_ci
环境指纹(env):
terminal, package_managers, runtimes, is_docker
deployment_env, linux_distro_* 等
进程资源(Base64):
uptime, rss, heapUsed, cpuPercent
4.4 Datadog 上报
- 端点:
https://http-intake.logs.us5.datadoghq.com/api/v2/logs - 白名单:64 种事件类型
标签字段(节选):userBucket、subscriptionType、model、toolName、platform、provider、version 等。
4.5 GrowthBook
- 向 GrowthBook 发送用户属性(如 Device ID、sessionId、平台、组织/账户 UUID、订阅类型、rateLimitTier、首次使用时间、邮箱、版本等)。
- 作用:功能开关、A/B 实验、可对特定用户禁用功能等。
五、服务端远程控制机制
Anthropic 可通过以下机制在服务端影响客户端行为。
5.1 Policy Limits(组织级策略)
- 端点:
/api/claude_code/policy_limits - 轮询:约每小时
- 能力:禁用特定工具、限制功能、执行组织安全策略等。
5.2 Remote Managed Settings
- 端点:
/api/claude_code/settings - 能力:远程推送
settings.json、修改客户端行为、企业治理。
5.3 版本强制升级
通过 GrowthBook 配置 tengu_version_config 下发最低版本要求,可推动旧版本用户升级。
5.4 功能标志与灰度
可对特定用户/组织关闭功能、调整速率限制、修改采样率、开关 Beta 特性等。
六、封号触发机制分析
6.1 身份关联(账号共享)
检测思路:同一 Account UUID 对应多个 Device ID;不同 IP/系统/时区;短时间异地登录等。
6.2 速率限制违规
通过 tengu_api_success 等上报 token 与模型信息,按账户与订阅层级聚合;超配额 → 429 → 持续违规可能升级处置。
关键指标:inputTokens、outputTokens、cache 相关 token、costUsd、duration、model 等。
6.3 内容策略
- Anti-distillation(如请求中带
anti_distillation: ["fake_tools"]) - 消息指纹校验
x-anthropic-additional-protection: true等更严格审查路径
6.4 自动化滥用
信号组合示例:is_ci、is_github_action、is_interactive: false、entrypoint: "sdk"、auto_mode 系列事件等。
风险组合:非交互 + SDK + 高频 + 大量 token → 自动化滥用嫌疑。
6.5 客户端篡改
校验点包括:cc_version 指纹、User-Agent、Beta 相关 Header、System Prompt 归因信息等。
七、完整数据流向(概念图)
客户端采集(Device ID、环境指纹、行为事件、资源监控)→ 元数据聚合 → 三路上报(1P / Datadog / GrowthBook)→ 服务端分析与综合判定 → 警告、降级、限流或封号等处置。
八、外部通信端点汇总(原文表格整理)
| 目标 | URL | 频率 | 数据内容 | 可禁用(原文观点) |
|---|---|---|---|---|
| 主 API | https://api.anthropic.com | 每次对话 | 对话 + 身份 + 元数据 | 否 |
| 1P 事件 | …/api/event_logging/batch | 约每 5 秒 | 大量事件 + 环境指纹 | 是 |
| Datadog | datadoghq.com | 约每 15 秒 | 白名单事件 + 标签 | 是 |
| GrowthBook | api.anthropic.com | 约每 20 分钟 | 用户属性换功能配置 | 是 |
| OAuth | platform.claude.com | 登录/刷新 | Token + 账户信息 | 否 |
| 策略限制 | …/api/claude_code/policy_limits | 约每小时 | 组织策略 | 是 |
| 远程设置 | …/api/claude_code/settings | 轮询 | settings 推送 | 是 |
| 域名检查 | …/api/web/domain_info | WebFetch 前 | 目标域名 | 否 |
| MCP 代理 | mcp-proxy.anthropic.com | MCP 调用 | MCP 数据 | 否 |
| 版本更新 | storage.googleapis.com 等 | 版本检查 | 更新包 | 是 |
| Changelog | raw.githubusercontent.com 等 | 更新后 | 更新日志 | 是 |
(具体路径以官方当前文档与客户端为准。)
九、自我保护建议(原文归纳)
9.1 环境变量(示例)
| 环境变量 | 作用(原文描述) |
|---|---|
| DISABLE_TELEMETRY=1 | 禁用 Datadog + 1P 事件 + 反馈调查等 |
| CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 | 禁用非必要网络(遥测、更新、GrowthBook 等) |
| CLAUDE_CODE_USE_BEDROCK=1 | 使用 AWS Bedrock(自动禁用分析,原文观点) |
| CLAUDE_CODE_USE_VERTEX=1 | 使用 GCP Vertex(自动禁用分析,原文观点) |
9.2 使用注意
| 行为 | 风险 | 建议 |
|---|---|---|
| 多设备共享账号 | 极高 | 合规前提下每台设备单独订阅/授权 |
| 短时间大量调用 | 高 | 控制频率 |
| CI/CD 大规模使用 | 中 | 考虑 API Key 与 OAuth 的适用场景 |
| 篡改客户端/伪造 Header | 高 | 勿改官方客户端 |
| 长期不升级 | 低–中 | 跟随官方更新 |
9.3 关键文件(原文提及)
| 路径 | 内容 | 说明 |
|---|---|---|
| ~/.claude/config.json | Device ID + 账户信息 | 原文称删除 userID 可重置设备标识(请自行核实版本差异) |
| ~/.claude/telemetry/ | 失败遥测缓存 | 可定期清理 |
| ~/.claude/.credentials.json | 凭证(Keychain 不可用时明文等) | 注意安全存储 |
| ~/.claude/projects/ | 对话历史 | 敏感内容注意清理 |
十、总结
数据采集可概括为三层:
| 层级 | 内容 | 目的 |
|---|---|---|
| 身份层 | Device ID、Account UUID、Email、Fingerprint | 追踪与归因 |
| 环境层 | OS、架构、终端、CI、容器、部署环境等 | 设备指纹 |
| 行为层 | 大量事件、token、工具调用、进程资源等 | 使用模式分析 |
三层数据经多条通道上报后,服务端可形成较完整的使用画像,并据此做多维异常检测与封号等决策。
原文提示:较稳妥做法包括使用 Bedrock/Vertex(若自动禁用分析属实)、设置
DISABLE_TELEMETRY=1、控制使用频率、遵守「一人一号」等合规使用方式。
原文编辑时间:2026-03-31(北京)
标签:













暂无评论内容