# TokenVerify：LLM API端点黑盒审计工具，识别中转与降级风险

> 一款用于审计LLM端点是否如实宣称提供商、模型族系、推理能力的命令行工具，可检测API中转、能力降级、隐私泄露等风险信号，生成可读的Markdown审计报告。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-06-03T07:45:26.000Z
- 最近活动: 2026-06-03T07:52:17.650Z
- 热度: 0.0
- 关键词: LLM审计, API中转检测, TokenVerify, 黑盒测试, 模型降级, API安全, Claude, OpenAI, DeepSeek, 流式分析
- 页面链接: https://www.zingnex.cn/forum/thread/tokenverify-llm-api
- Canonical: https://www.zingnex.cn/forum/thread/tokenverify-llm-api
- Markdown 来源: ingested_event

---

## 原作者与来源

- **原作者/维护者**: miluxis
- **来源平台**: GitHub
- **原始标题**: TokenVerify: black-box LLM endpoint audit CLI
- **原始链接**: https://github.com/miluxis/TokenVerify
- **发布时间**: 2026年6月3日

---

## 引言：LLM API市场的信任危机

随着大语言模型API服务的爆发式增长，一个灰色市场正在形成：API中转商、账号池服务商、以及各类"兼容层"提供商。用户支付Claude或GPT-4的价格，实际获得的可能是降级模型、中转服务，甚至是完全无关的替代方案。

TokenVerify项目正是为解决这一信任问题而设计。它是一款黑盒审计CLI工具，通过分析API端点的协议行为、模型字段、推理信号、流式指标等特征，判断端点是否如其宣称的那样真实。

---

## 核心功能：从协议行为到风险信号

TokenVerify不试图绝对证明上游提供商的真实身份，而是专注于发现强烈的矛盾信号、明显的能力降级，以及渠道风险指标。它将以下维度转化为人类可读的Markdown报告：

### 审计维度

**协议行为分析**：检查API响应是否符合宣称的提供商协议格式。例如，Anthropic Messages API的响应结构、OpenAI Chat Completions的字段顺序、DeepSeek R1的reasoning_content字段等。

**模型族系一致性**：验证模型名称、版本声明与实际返回的能力是否匹配。例如，声称是Claude Sonnet 4.5的端点是否真正具备该模型的推理特征。

**推理信号检测**：对于支持思维链（Chain-of-Thought）的模型，检查推理内容是否正确返回、流式输出顺序是否符合规范。

**流式指标分析**：测量首token时间（TTFT）、流式输出延迟方差，识别可能的账号池调度或中转延迟。

**Schema与工具保留**：验证函数调用、工具定义等复杂API特性是否被正确支持，还是被静默忽略或降级处理。

**隐私泄露检查**：检测API响应中是否包含不应返回的内部信息，如系统提示词、其他用户的请求片段等。

**中转风险信号**：综合以上指标，评估端点作为中转服务的可能性。

---

## 支持的审计路径

TokenVerify目前支持以下具体的审计场景：

| 审计路径 | 示例配置 | 检查内容 |
|---------|---------|---------|
| Claude原生 | claude-audit.yaml | Anthropic Messages格式、Extended Thinking行为、原生流序列、错误Schema |
| OpenAI兼容Claude中转 | claude-openai-compatible-audit.yaml | Chat Completions格式、Claude模型声明一致性、推理/版本线索、中转渠道风险 |
| OpenAI兼容OpenAI | openai-compatible-audit.yaml | OpenAI风格Chat Completions、模型族系一致性、推理能力证据、官方vs兼容渠道线索 |
| DeepSeek R1 | deepseek-compatible-audit.yaml | DeepSeek模型族系一致性、R1 reasoning_content、推理/内容流顺序 |
| 中转审计CLI | tokenverify relay-audit | OpenAI兼容中转合约检查：连通性、SSE流式、Schema/工具保留、隐私泄露 |

---

## 快速上手

### 安装

```bash
python3 -m pip install -e ".[test]"
```

### 基础审计

运行无需API密钥的离线配置检查：

```bash
PYTHONPATH=src python3 -m tokenverify.cli audit \
  --config examples/claude-audit.yaml \
  --endpoint primary
```

报告自动生成在`reports/audit-[model-name]-[date].md`路径下。如果同名报告已存在，TokenVerify会追加数字后缀而非覆盖。

### 详细审计

针对中转、反向渠道、账号池、延迟方差、模型漂移等信号，运行详细审计：

```bash
PYTHONPATH=src python3 -m tokenverify.cli audit \
  --config examples/claude-openai-compatible-audit.yaml \
  --endpoint claude-openai-compatible \
  --detail-audit yes
```

详细审计内部使用8个样本进行统计分析，用户无需选择重复次数。如需快速单样本审计，使用`--detail-audit no`。

### 生成中文报告

```bash
PYTHONPATH=src python3 -m tokenverify.cli audit \
  --config examples/deepseek-compatible-audit.yaml \
  --endpoint deepseek-compatible \
  --detail-audit yes \
  --language zh
```

---

## 中转审计专项

中转审计（Relay Audit）是TokenVerify针对OpenAI兼容中转端点设计的专项CLI路径，支持确定性模拟运行和受保护的实时检查。

### 确定性模拟运行

```bash
PYTHONPATH=src python3 -m tokenverify.cli relay-audit \
  --base-url https://relay.example/v1 \
  --model example-model \
  --profile general \
  --fake-run suspicious
```

### 实时检查（需显式授权）

```bash
export RELAY_API_KEY="your-relay-key"

PYTHONPATH=src python3 -m tokenverify.cli relay-audit \
  --base-url https://relay.example/v1 \
  --model example-model \
  --profile full \
  --api-key-env RELAY_API_KEY \
  --live
```

中转审计报告仅显示主机级端点文本和公开端点哈希，不会打印完整提示词文本、模型响应文本、头部值、完整URL、API密钥或私密挑战答案。

---

## 动态挑战套件

TokenVerify支持动态挑战（Dynamic Challenge）机制，通过向端点发送特定构造的提示词，验证其响应是否符合预期。

### 内置基准包

默认使用内置的公开基准包进行测试。用户也可以加载本地YAML挑战包：

```bash
PYTHONPATH=src python3 -m tokenverify.cli audit \
  --config examples/openai-compatible-audit.yaml \
  --endpoint openai-compatible \
  --challenge-pack examples/dynamic-challenge-pack.yaml \
  --challenge-level standard
```

### 挑战包格式

本地挑战包使用YAML定义：

```yaml
id: local-baseline-example
version: "2026.05"
challenges:
  - id: arithmetic-exact
    category: arithmetic
    level: basic
    prompt: "Return only the decimal result of {{a}} + {{b}}."
    variables:
      a:
        type: integer
        min: 10
        max: 99
      b:
        type: integer
        min: 10
        max: 99
    verifiers:
      - type: exact_answer
        equals_expression: "a + b"
```

支持的变量类型包括整数、十六进制/随机数、选项。变量基于包ID、版本、挑战ID、变量名和端点名确定性生成。支持的验证器包括精确答案、必需字段、禁止字段、JSON Schema、流顺序等。表达式验证使用白名单AST解析器，YAML包不会作为Python代码执行。

动态挑战结果作为辅助信息出现在报告中，包含清理后的挑战ID、类别、级别、哈希、状态和验证器摘要，不改变硬性失败的真实性评分。

---

## 配置安全最佳实践

TokenVerify推荐通过环境变量而非明文存储API密钥：

```yaml
selected_endpoint: primary
raw_logs:
  enabled: false
  path: null
endpoints:
  - name: primary
    base_url: https://api.anthropic.com
    model: claude-sonnet-4-5
    api_key_env: ANTHROPIC_API_KEY
```

```bash
export ANTHROPIC_API_KEY="your-key"
```

CLI支持常见字段的覆盖：

```bash
PYTHONPATH=src python3 -m tokenverify.cli audit \
  --config examples/claude-audit.yaml \
  --endpoint primary \
  --base-url https://relay.example.com \
  --model claude-sonnet-4-5 \
  --api-key-env ANTHROPIC_API_KEY
```

API密钥会在报告和原始日志中自动脱敏处理。

---

## 局限与未来规划

TokenVerify明确声明了当前版本的边界：

- **尚未支持的提供商**：Gemini、Seed、Qwen、Doubao等提供商审计目前处于未来待办列表，需等待规格和实现计划。

- **未来功能**：JSON输出、仪表板UI、批量端点执行、商业挑战包治理、tokenizer精确匹配审计等功能尚未实现。

- **信号解释**：单次超时、断开连接或TTFT峰值被视为运营异常，而非路由不当的证据。

- **挑战范围**：动态挑战包是本地确定性探测，而非针对不支持模型族的提供商特定审计。

---

## 总结：API市场的透明度工具

TokenVerify填补了LLM API市场的一个重要空白：用户验证工具。在服务商声称和实际交付之间，它提供了一个技术性的验证层。

对于企业用户，这意味着可以在签约前验证供应商的真实能力；对于开发者，这意味着可以识别那些"看起来正常"但实际降级的API端点；对于整个市场，这意味着更多的透明度可能推动服务质量的提升。

项目的价值不仅在于技术实现，更在于它所代表的理念：在AI服务日益商品化的今天，用户有权知道他们到底在购买什么。
